DNF Release Notes
4.19.1 Release Notes
Add required .readthedocs.yaml, conf.py and set sphinx_rtd_theme
Drop dnf obsoletion temporarily
doc: Update FAQ entry on filelists
build: Adapt to changes in Fedora packaging of bash-completion
Support RPMTRANS_FLAG_DEPLOOPS
Add all candidates for reinstall to solver
Fix handling installonly packages reasons
Remove confusing sentence from documentation
Remove “leaf” word from documentation
Update documentation of history userinstalled command
Onboard packit tests
doc: Makecache with timer tries only one mirror
ELN: Don’t obsolete DNF with DNF5 yet
bash-completion: Complete dnf command only if we own it
bash-completion: Prepare ownerships for dnf5 switch
4.19.0 Release Notes
Major changes: - filelists metadata not loaded by default - deltarpm disabled by default
New features: - conf: Introduce new optional_metadata_types option to load filelists on demand - cli: Add a hint for user on transaction file dependency failure - cli: Setup filelists metadata for commands that need them - util: Add function for detecting file in specs
Bug fixes: - Fix failing API unit test on rawhide (RhBug:2261066) - automatic: Use add_security_filters, not _update_security_filters
Bugs fixed in 4.19.0:
4.18.2 Release Notes
New features: - automatic: Add feature to allow emitters to invoke on dnf error
Bug fixes: - dnssec: Fix parsing PGP keys for DNS validation (RhBug:2249380)
Bugs fixed in 4.18.2:
4.18.1 Release Notes
Bug fixes: - Do not translate repoquery time format strings (RhBug:2245773) - automatic: Fix applying the color option
Bugs fixed in 4.18.1:
4.18.0 Release Notes
New features: - Do not print details of verifying (RhBug:1908253) - Add Recommends %{_bindir}/sqlite3 for bash-completion for Fedora - conf: Split $releasever to $releasever_major and $releasever_minor (RhBug:1789346)
Bug fixes: - base: Add obsoleters of only latest versions (RhBug:2183279,2176263) - comps: Fix marking a group package as installed (RhBug:2066638) - distro-sync: Print better info message when no match (RhBug:2011850) - Include dist-info for python3-dnf (RhBug:2239323) - Revert “Block signals during RPM transaction processing” (RhBug:2133398)
Others: - Allow DNF to be removed by DNF 5 (RhBug:2221907) - Update translations
Bugs fixed in 4.18.0:
Bug 2183279 - systemd-udev resolving to systemd-boot-unsigned after split
Bug 2066638 - “dnf group remove” removes packages that belong to another installed group
Bug 2011850 - dnf distro-sync says a pkg isn’t installed even when it is
Bug 2133398 - dnf unfinished transaction when upgrading via SSH session
Bug 2221907 - dnf5 is not marked as protected, removal leaves system more or less bricked
4.17.0 Release Notes
New features: - crypto: Use libdnf crypto API instead of using GnuPG/GpgME - automatic: allow use of STARTTLS/TLS - automatic: use email_port specified in config
Bug fixes: - Block signals during RPM transaction processing (RhBug:2133398) - Fix bash completion due to sqlite changes (RhBug:2232052)
Others: - Reprotect dnf, unprotect python3-dnf (RhBug:2221905)
Bugs fixed in 4.17.0:
4.16.2 Release Notes
dnf-data: depend on /etc/dnf/dnf.conf, not libdnf5
Update repo metadata cache pattern to include zstd
typo in doc/command_ref.rst
Add provide exception handling
When parsing over a KVP list, do not return till the whole list is parsed
Add to authors
python3-dnf: Provide /usr/bin/dnf4 symlink to /usr/bin/dnf-3
Bug fixes: - Document the symbols in the output of dnf history list (RhBug:2172067)
Bugs fixed in 4.16.2:
4.16.1 Release Notes
DNF5 should not deprecate DNF on Fedora 38
4.16.0 Release Notes
Prepare for updating to DNF5: - Remove ownership of dnf.conf, protected.d, vars - Add requirement of libdnf5 to dnf-data - dnf-automatic: require python3-dnf, not dnf
4.15.1 Release Notes
Bug fixes: - automatic: Fix online detection with proxy (RhBug:2022440) - automatic: Return an error when transaction fails (RhBug:2170093) - repoquery: Allow uppercased query tags (RhBug:2185239)
Others: - Unprotect dnf and yum, protect python3-dnf
Bugs fixed in 4.15.1:
4.15.0 Release Notes
New features: - Add reboot option to DNF Automatic (RhBug:2124793) - cli: Allow = in setopt values - Mark strftime format specifiers for translation
Bug fixes: - Add support for rollback of group upgrade rollback (RhBug:2016070) - Omit src RPMs from check-update (RhBug:2151910) - repoquery: Properly sanitize queryformat strings (RhBug:2140884) - Don’t double-encode RPM URLs passed on CLI (RhBug:2103015) - Allow passing CLI options when loading remote cfg (RhBug:2060127) - Ignore processing variable files with unsupported encoding (RhBug:2141215) - Fix AttributeError when IO busy and press ctrl+c (RhBug:2172433) - Unload plugins upon their deletion - Fixes in docs and help command - Fix plugins unit tests - Add unit tests for dnf mark - smtplib: catch OSError, not SMTPException
Bugs fixed in 4.15.0:
4.14.0 Release Notes
doc: Describe how gpg keys are stored for repo_ggpcheck (RhBug:2020678)
Set default value for variable to prevent crash (RhBug:2091636)
Add only relevant pkgs to upgrade transaction (RhBug:2097757)
Use installed_all because installed_query is filtered user input
Don’t include resolved advisories for obsoletes filtering with security filters (RhBug:2101421)
Allow passing plugin parameters with dashes in names (RhBug:1980712)
Fix upgrade from file to noarch pkg (RhBug:2006018)
Translations update
Expose plugin unload method to API (RhBug:2047251)
Add support for group upgrade rollback (RhBug:2016070)
Fix broken dependencies error reporting (RhBug:2088422)
Add doc related to –destdir and –downloadonly options (RhBug:2100811)
Bug fixes: - Bugs fixed (RhBug:1980712,2016070,2047251,2088422,2100811,2101421) - Fix upgrade pkg from file when installed pkg is noarch and upgrades to a different arch
Bugs fixed in 4.14.0:
4.13.0 Release Notes
Base.reset: plug (temporary) leak of libsolv’s page file descriptors
Don’t use undocumented re.template()
Small change to better present the option
New features: - Use sqlite cache to make bash completion snappier (RhBug:1815895)
Bugs fixed in 4.13.0:
4.12.0 Release Notes
dnf.conf: hint users where to find more info about defaults and other options
Fix unittests that relied on checksum being at the end of solvfiles
completion: remove unnecessary echo
Fix remove when no repos are enabled (RhBug:2064341)
Add loongarch support for dnf
Add spaces between words to fix typos (RhBug:2077296)
[doc] Improve “proxy” configuration option documentation (RhBug:2072332)
Bug fixes: - Fix download errors handling in non-english locales (RhBug:2024527)
Bugs fixed in 4.12.0:
Bug 2064341 - dnf group remove will not remove a group if repositories are disabled
Bug 2077296 - dnf –help is missing spaces for –enablerepo and –disablerepo
Bug 2072332 - YUM option proxy=_none_ not correctly handled when setup global proxy
Bug 2024527 - dnf breaks updateprocess with “already downloaded”
4.11.1 Release Notes
Bump version, so that 4.11.0 can be released separately
4.11.0 Release Notes
New features: - Allow destdir option with modulesync command - Add documentation for query api flags (RhBug:2035577)
Bug fixes: - Fix swap command to work with local rpm files correctly (RhBug:2036434) - Don’t recommend %{_bindir}/sqlite3 for bash-completion (RhBug:1947925) - Don’t recommend python3-unbound on RHEL (RhBug:1947924) - Recommend rpm-plugin-systemd-inhibit only if systemd (RhBug:1947924) - Fix regression in verifying signatures using rpmkeys - Use rpm.TransactionSet.dbCookie() to determining if rpmdb has changed (RhBug:2043476) - Fix decompression of groups.xml (RhBug:2030255) - Fix history undo on a Reason Change (RhBug:2010259,2053014) - Remove /usr/bin from sys.path to avoid accidentally importing garbage - Fix: Python dnf API does not respect cacheonly (RhBug:1862970) - Fix python3.11 build: remove deprecated, update traceback regex - fix dnf mark error when history sqlite missing - [doc] Improve description of multilib_policy=all (RhBug:1996681,1995630) - [doc] clarify effect of –enablerepo and –disablerepo options (RhBug:2031414) - [doc] default values for module_obsoletes and module_stream_switch (RhBug: 2051846)
Bugs fixed in 4.11.0:
Bug 1996681 - yum tries to install packages with incompatible architecture when multilib_policy=all
Bug 1995630 - yum tries to install packages with incompatible architecture when multilib_policy=all
Bug 1947924 - python3-dnf uses Recommends for python3-unbound and rpm-plugin-systemd-inhibit
Bug 2035577 - sack.query() does not contain full package set
Bug 2031414 - `dnf –disablerepo`/`dnf –enablerepo` documentation is confusing
4.10.0 Release Notes
New features: - Add support for autodetecting packages to be excluded from being installed as weak dependencies (RhBug:1699672) - Add support for excluding packages to be installed as weak dependencies (RhBug:1699672) - Add fail_fast parameter to download_payloads methods for use in reposync
Bug fixes: - Acquire all relevant locks during “dnf clean” - API: Raise CompsError when group/env not found in install_group and install_environment (RhBug:1947958)
Bugs fixed in 4.10.0:
4.9.0 Release Notes
New features: - [API] Add method “set_or_append_opt_value” to BaseConfig (RhBug:1967925) - Add aliases for commands: info, updateinfo, provides (RhBug:1938333) - Add report about demodularized rpms into module info (RhBug:1805260)
Bug fixes: - Remove DNSSEC errors on COPR group email keys - Documentation inprovements - bugs: 1938352, 1993899, 1963704
Bugs fixed in 4.9.0:
4.8.0 Release Notes
Do not assume that a remote rpm is complete if present
Use positive percentage for “Failed delta RPMs” message
Remove redundant new line in Groups output
Format empty group names outputs to <name-unset>
[doc] Document default colors
Use rpmkeys alone to verify signature
Bug fixes: - Bugs fixed (RhBug:1946975,1955309) - Add dnf.error message to explain rpm.error traceback when package not found after resolving a transaction (RhBug:1815327,1887293,1909845)
Bugs fixed in 4.8.0:
Bug 1955309 - Improperly formatted text string in dnf package_install
Bug 1950229 - dnf with Python 3.10: DeprecationWarning: The distutils package is deprecated
Bug 1887293 - [abrt] dnf: addErase(): transaction.py:103:addErase:_rpm.error: package not installed
Bug 1946975 - dnf installs old version of dependency even though –best is used
4.7.0 Release Notes
Improve repo config path ordering to fix a comps merging issue (RhBug:1928181)
Keep reason when package is removed (RhBug:1921063)
Improve mechanism for application of security filters (RhBug:1918475)
[doc] Add description for new API
[API] Add new method for reset of security filters
[doc] Improve documentation for Hotfix repositories
[doc] fix: “makecache” command downloads only enabled repositories
Use libdnf.utils.checksum_{check,value}
[doc] Add info that maximum parallel downloads is 20
Increase loglevel in case of invalid config options
[doc] installonly_limit documentation follows behavior
Prevent traceback (catch ValueError) if pkg is from cmdline
Add documentation for config option sslverifystatus (RhBug:1814383)
Security fixes: - Check for specific key string when verifing signatures (RhBug:1915990) - Use rpmkeys binary to verify package signature (RhBug:1915990)
Bug fixes: - Bugs fixed (RhBug:1916783) - Preserve file mode during log rotation (RhBug:1910084)
Bugs fixed in 4.7.0:
4.6.1 Release Notes
Fix recreate script
Add unit test for fill_sack_from_repos_in_cache (RhBug:1865803)
Add docs and examples for fill_sack_from_repos_in_cache (RhBug:1865803)
[spec] remove python2 support
Remove problematic language
The noroot plugin no longer exists, remove mention
Run tests for fill_sack_from_repos_in_cache in installroot (RhBug:1865803)
expand history to full term size when output is redirected (RhBug:1852577) (RhBug:1852577,1906970)
[doc] Fix: “sslcacert” contains path to the file
[doc] Added proxy ssl configuration options, increase libdnf require
Set persistdir and substitutions for fill_sack_from_repos_in_cache tests (RhBug:1865803)
Update documentation for module_obsoletes and module_stream_switch
print additional information when verifying GPG key using DNS
Bug fixes: - Bugs fixed (RhBug:1897573) - Remove hardcoded logfile permissions (RhBug:1910084) - Enhanced detection of plugins removed in transaction (RhBug:1929163)
Bugs fixed in 4.6.1:
4.6.0 Release Notes
Log scriptlets output also for API users (RhBug:1847340)
Fix module remove –all when no match spec (RhBug:1904490)
yum.misc.decompress() to handle uncompressed files (RhBug:1895059)
Make an error message more informative (RhBug:1814831)
Add deprecation notice to help messages of deplist
Remove Base._history_undo_operations() as it was replaced with transaction_sr code
cli/output: Return number of listed packages from listPkgs()
Clean up history command error handling
[doc] Describe install with just a name and obsoletes (RhBug:1902279)
Add api function fill_sack_from_repos_in_cache to allow loading a repo cache with repomd and (solv file or primary xml) only (RhBug:1865803)
Packages installed/removed via DNF API are logged into dnf.log (RhBug:1855158)
Support comps groups in history redo (RhBug:1657123,1809565,1809639)
Support comps groups in history rollback (RhBug:1657123,1809565,1809639)
Support comps groups in history undo (RhBug:1657123,1809565,1809639)
New optional parameter for filter_modules enables following modular obsoletes based on a config option module_obsoletes
Add get_header() method to the Package class (RhBug:1876606)
Fix documentation of globs not supporting curly brackets (RhBug:1913418)
New features: - Add api function fill_sack_from_repos_in_cache to allow loading a repo cache with repomd and (solv file or primary xml) only (RhBug:1865803) - Packages installed/removed via DNF API are logged into dnf.log (RhBug:1855158) - Support comps groups in history redo (RhBug:1657123,1809565,1809639) - Support comps groups in history rollback (RhBug:1657123,1809565,1809639) - Support comps groups in history undo (RhBug:1657123,1809565,1809639) - New optional parameter for filter_modules enables following modular obsoletes based on a config option module_obsoletes - Add get_header() method to the Package class (RhBug:1876606)
Bug fixes: - Fix documentation of globs not supporting curly brackets (RhBug:1913418)
Bugs fixed in 4.6.0:
Bug 1809639 - Can’t undo a transaction that installed a package group
Bug 1913418 - dnf API glob filter does not support brace expansion
Bug 1904490 - Backtrace when performing “yum module remove –all perl:common”
Bug 1814831 - dnf error when enabling a module with multiple streams is unclear
Bug 1895059 - reposync -m –downloadcomps does not download a comps.xml file
Bug 1855158 - Packages installed / removed via DNF Python api are not logged to /var/log/dnf.log
Bug 1873146 - package.remote_location() tracebacks for @commandline package
Bug 1876606 - dnf python API does not provide an rpm header of a package (as yum API does)
4.5.2 Release Notes
Change behaviour of Package().from_repo
Bugs fixed in 4.5.2:
4.5.1 Release Notes
Add a get_current() method to SwdbInterface
Add from_repo attribute for Package class (RhBug:1898968,1879168)
Correct description of Package().reponane attribute
Add unittest for new API
Make rotated log file (mode, owner, group) match previous log settings (RhBug:1894344)
[doc] Improve description of modular filtering
[doc] add documentation for from_repo
[doc] deprecated alias for dnf repoquery –deplist <deplist_option-label>
New features: - New config option module_allow_stream_switch allows switching enabled streams
Bugs fixed in 4.5.1:
Bug 1894344 - Permissions in /etc/logrotate.d/dnf do not match the rpm permissions
Bug 1898548 - “dnf install @perl-App-cpanminus:1.7044/common” fails on installing a source package
Bug 1879168 - dnf.package.Package.reponame is always “@System”
Bug 1898968 - Listing an installed package from a specific repository not operational
4.4.2 Release Notes
spec: Fix building with new cmake macros (backport from downstream)
Warn about key retrieval over http:
Fix –setopt=cachedir writing outside of installroot
Add vendor to dnf API (RhBug:1876561)
Add allow_vendor_change option (RhBug:1788371) (RhBug:1788371)
Bugs fixed in 4.4.2:
4.4.0 Release Notes
Handle empty comps group name (RhBug:1826198)
Remove dead history info code (RhBug:1845800)
Improve command emmitter in dnf-automatic
Enhance –querytags and –qf help output
[history] add option –reverse to history list (RhBug:1846692)
Add logfilelevel configuration (RhBug:1802074)
Don’t turn off stdout/stderr logging longer than necessary (RhBug:1843280)
Mention the date/time that updates were applied
[dnf-automatic] Wait for internet connection (RhBug:1816308)
[doc] Enhance repo variables documentation (RhBug:1848161,1848615)
Add librepo logger for handling messages from librepo (RhBug:1816573)
[doc] Add package-name-spec to the list of possible specs
[doc] Do not use <package-nevr-spec>
[doc] Add section to explain -n, -na and -nevra suffixes
Add alias ‘ls’ for list command
README: Reference Fedora Weblate instead of Zanata
remove log_lock.pid after reboot(Rhbug:1863006)
comps: Raise CompsError when removing a non-existent group
Add methods for working with comps to RPMTransactionItemWrapper
Implement storing and replaying a transaction
Log failure to access last makecache time as warning
[doc] Document Substitutions class
Dont document removed attribute
reports
for get_best_selectorChange the debug log timestamps from UTC to local time
Bugs fixed in 4.4.0:
Bug 1698145 - dnf protects certain packages in container, when it should not
Bug 1848161 - Custom DNF variables which worked in CentOS 8.1.1911 are broken in 8.2.2004
Bug 1846692 - dnf should offer a ‘history list’ in reverse order
Bug 1857029 - dnf-makecache.timer make my network bandwidth higher than my prediction
Bug 1853349 - Cannot install package from local repository when there is encoded character in path
Bug 1848615 - dnf numeric variable substitutions are undocumented
Bug 1845800 - History info tracebacks when group is upgraded/downgraded
Bug 1872586 - Environment upgrade fails when one of its groups is removed
Bug 1839951 - shorter aliases for popular options (eg dnf i == dnf install)
Bug 1843280 - Discrepancies in permission related problems not/reporting
Bug 1862739 - dnf-automatic command_email example will not work
Bug 1816308 - dnf-automatic.timer runs before the computer can connect to the internet
Bug 1802074 - Excessive and non configurable logging in /var/log/dnf.log
Bug 1858491 - `dnf list-sec` output is the same as `dnf list-updateinfo`
Bug 1816573 - [RHEL8/RFE] dnf logrotation experience differs from RHEL7 (yum)
4.2.23 Release Notes
Fix behavior of install-n, autoremove-n, remove-n, repoquery-n
Fix behavior of localinstall and list-updateinfo aliases
Add updated field to verbose output of updateinfo list (RhBug: 1801092)
Add comment option to transaction (RhBug:1773679)
Add new API for handling gpg signatures (RhBug:1339617)
Verify GPG signatures when running dnf-automatic (RhBug:1793298)
Fix up Conflicts: on python-dnf-plugins-extras
[doc] Move yum-plugin-post-transaction-actions to dnf-plugins-core
Remove args “–set-enabled”, “–set-disabled” from DNF (RhBug:1727882)
Search command is now alphabetical (RhBug:1811802)
Fix downloading packages with full URL as their location
repo: catch libdnf.error.Error in addition to RuntimeError in load() (RhBug:1788182)
History table to max size when redirect to file (RhBug:1786335,1786316)
Bugs fixed in 4.2.23:
Bug 1339617 - [RFE] api for handling of gpg signature check and fetching keys
Bug 1727882 - yum-config-manager cannot update repos on RHEL8
Bug 1786316 - dnf history command output is trimmed because of hardcoded 79 cols limit
Bug 1773679 - add option to include comments when running DNF/YUM transaction
Bug 1793298 - dnf-automatic upgrade packages that does not have the signing key accepted
Bug 1788182 - [abrt] DNF raises RuntimeError when passing invalid values to `–repofrompath`
Bug 1811802 - [RFE] Sort alphabetically yum/dnf results as in RHEL7
Bug 1786335 - dnf history command output is trimmed because of hardcoded 79 cols limit
4.2.21 Release Notes
Fix completion helper if solv files not in roon cache (RhBug:1714376)
Add bash completion for ‘dnf module’ (RhBug:1565614)
Check command no longer reports missing %pre and %post deps (RhBug:1543449)
Check if arguments can be encoded in ‘utf-8’
[doc] Remove incorrect information about includepkgs (RhBug:1813460)
Fix crash with “dnf -d 6 repolist” (RhBug:1812682)
Do not print the first empty line for repoinfo
Redirect logger and repo download progress when –verbose
Respect repo priority when listing packages (RhBug:1800342)
[doc] Document that list and info commands respect repo priority
[repoquery] Do not protect running kernel for –unsafisfied (RhBug:1750745)
Remove misleading green color from the “broken dependencies” lines (RhBug:1814192)
[doc] Document color options
Bugs fixed in 4.2.21:
Bug 1814192 - “Skipping packages with conflicts” should not be green
Bug 1813460 - Incorrect information about “includepkgs” in the yum2dnf man page
Bug 1543449 - ‘dnf check –dependencies’ incorrectly reports missing requires
Bug 1800342 - dnf download and list do not respect repo priority
Bug 1812693 - DNF doesn’t use new translations coming from Weblate
4.2.19 Release Notes
match RHEL behavior for CentOS and do not require deltarpm
List arguments: only first empty value is used (RhBug:1788154)
Report missing profiles or default as broken module (RhBug:1790967)
repoquery: fix rich deps matching by using provide expansion from libdnf (RhBug:1534123)
[documentation] repoquery –what* with multiple arguments (RhBug:1790262)
Format history table to use actual terminal width (RhBug:1786316)
Update dnf alias documentation
Handle custom exceptions from libdnf
Fix _skipped_packages to return only skipped (RhBug:1774617)
Add setter for tsi.reason
Add new hook for commands: Run_resolved
Add doc entry: include url (RhBug 1786072)
Clean also .yaml repository metadata
New API function base.setup_loggers() (RhBug:1788212)
Use WantedBy=timers.target for all dnf timers (RhBug:1798475)
Bugs fixed in 4.2.19:
Bug 1798475 - [RHEL8/Bug] dnf-makecache timer not on timers.target
Bug 1786316 - dnf history command output is trimmed because of hardcoded 79 cols limit
Bug 1774617 - mpv reported as package to be installed and skipped at the same time
Bug 1534123 - repoquery: –whatrequires is broken with rich deps
Bug 1790262 - dnf repoquery –whatprovides does not support multi paremeters
4.2.18 Release Notes
[doc] Remove note about user-agent whitelist
Do a substitution of variables in repo_id (RhBug:1748841)
Respect order of config files in aliases.d (RhBug:1680489)
Unify downgrade exit codes with upgrade (RhBug:1759847)
Improve help for ‘dnf module’ command (RhBug:1758447)
Add shell restriction for local packages (RhBug:1773483)
Fix detection of the latest module (RhBug:1781769)
Document the retries config option only works for packages (RhBug:1783041)
Sort packages in transaction output by nevra (RhBug:1773436)
Honor repo priority with check-update (RhBug:1769466)
Strip ‘' from aliases when processing (RhBug:1680482)
Print the whole alias definition in case of infinite recursion (RhBug:1680488)
Add support of commandline packages by repoquery (RhBug:1784148)
Running with tsflags=test doesn’t update log files
Restore functionality of remove –oldinstallonly
Allow disabling individual aliases config files (RhBug:1680566)
Bugs fixed in 4.2.18:
Bug 1758447 - dnf module disable <module:stream> disables all streams
Bug 1748841 - dnf: Bad id for repo when dnf variables are used inside repoid field of repo file
Bug 1784148 - dnf deplist is not returning linux-firmware dependency
Bug 1759847 - command `dnf downgrade pkg` emits Error: No packages marked for downgrade
Bug 1773436 - dnf update no longer sorts the list of rpms being updated.
Bug 1783041 - dnf seems to ignore retries and skip_if_unavailable when reading repo cache
Bug 1680489 - dnf alias does not define order of alias config files
Bug 1781769 - Dnf does not correctly detect the latest version of the module stream
4.2.17 Release Notes
Enable versionlock for check-update command (RhBug:1750620)
Add error message when no active modules matched (RhBug:1696204)
Log mirror failures as warning when repo load fails (RhBug:1713627)
dnf-automatic: Change all systemd timers to a fixed time of day (RhBug:1754609)
DNF can use config from the remote location (RhBug:1721091)
[doc] update reference to plugin documentation (RhBug:1706386)
[yum compatibility] Report all packages in repoinfo
[doc] Add definition of active/inactive module stream
repoquery: Add a switch to disable modular excludes
Report more informative messages when no match for argument (RhBug:1709563)
[doc] Add description of excludes in dnf
Report more descriptive message when removed package is excluded
Add module repoquery command
Fix assumptions about ARMv8 and the way the rpm features work (RhBug:1691430)
Add Requires information into module info commands
Enhance inheritance of transaction reasons (RhBug:1672618,1769788)
Bugs fixed in 4.2.17:
Bug 1709563 - yum operations on disabled appstreams should have more targeted error messages
Bug 1721091 - yum doesn’t read config file via http any more
Bug 1706386 - [RFE] Discoverable man page names for DNF plugins
Bug 1672618 - Upgrading obsoleted package doesn’t keep reason
Bug 1691430 - dnf.exceptions.Error: Incorrect or unknown “arch”: armv7hcnl
4.2.16 Release Notes
Make DNF compatible with FIPS mode (RhBug:1762032)
Return always alphabetically sorted modular profiles
Revert “Fix messages for starting and failing scriptlets”
4.2.15 Release Notes
Fix downloading local packages into destdir (RhBug:1727137)
Report skipped packages with identical nevra only once (RhBug:1643109)
Restore functionality of dnf remove –duplicates (RhBug:1674296)
Improve API documentation
Document NEVRA parsing in the man page
Do not wrap output when no terminal (RhBug:1577889)
Allow to ship alternative dnf.conf (RhBug:1752249)
Don’t check if repo is expired if it doesn’t have loaded metadata (RhBug:1745170)
Remove duplicate entries from “dnf search” output (RhBug:1742926)
Set default value of repo name attribute to repo id (RhBug:1669711)
Allow searching in disabled modules using “dnf module provides” (RhBug:1629667)
Group install takes obsoletes into account (RhBug:1761137)
Improve handling of vars
Do not load metadata for repolist commands (RhBug:1697472,1713055,1728894)
Fix messages for starting and failing scriptlets (RhBug:1724779)
Don’t show older install-only pkgs updates in updateinfo (RhBug:1649383,1728004)
Add –ids option to the group command (RhBug:1706382)
Add –with_cve and –with_bz options to the updateinfo command (RhBug:1750528)
Bugs fixed in 4.2.15:
Bug 1577889 - Description in search output is wrapped when stdout isn’t terminal
Bug 1669711 - kickstart install: additional nfs repos are not accepted
Bug 1649383 - dnf update updateinfo shows up-to-date packages
Bug 1666236 - dnf(8) does not document module provides subcommand
Bug 1727137 - dnf download ignores destdir argument for some packages
Bug 1761137 - Conflicting request while trying to install xfce-desktop-environment in Fedora 30
Bug 1752249 - Revert skip_if_unavailable default back to true
Bug 1760937 - dnf-yum in F30 is now higher versioned than F31+ yum’s “Obsoletes” (affects upgrades)
Bug 1713055 - dnf repolist should not update metadata or anything else
4.2.11 Release Notes
Improve modularity documentation (RhBug:1730162,1730162,1730807,1734081)
Fix detection whether system is running on battery (used by metadata caching timer) (RhBug:1498680)
New repoquery queryformat: %{reason}
Print rpm errors during test transaction (RhBug:1730348)
Fix: –setopt and repo with dots
Fix incorrectly marked profile and stream after failed rpm transaction check (RhBug:1719679)
Show transaction errors inside dnf shell (RhBug:1743644)
Don’t reinstall modified packages with the same NEVRA (RhBug:1644241)
dnf-automatic now respects versionlock excludes (RhBug:1746562)
Bugs fixed in 4.2.11:
Bug 1498680 - dnf makecache timer is confused about batteries
Bug 1730348 - installroot fails with no info when run under fakeroot
Bug 1719679 - Module is marked as installed even if the rpm transaction check failed
Bug 1601741 - [ja] “dnf updateinfo info” not formatted well in Japanese
Bug 1715807 - man page dnf.conf weak about proxy settings and other proxy issues
Bug 1739773 - Wrong behavior using dnf update for downloaded package
Bug 1728252 - dnf should not take buildtime into account when upgrading packages
Bug 1746562 - dnf-automatic (and dnf list) ignores versionlock
Bug 1730162 - “dnf module reset” will clear the “install” information
Bug 1737201 - man dnf.conf has no mention of ‘zchunk=True|False’ option
4.2.9 Release Notes
Prevent printing empty Error Summary (RhBug: 1690414)
[doc] Add user_agent and countme options
4.2.8 Release Notes
Enhance synchronization of rpm transaction to swdb
Accept multiple specs in repoquery options (RhBug:1667898)
Prevent switching modules in all cases (RhBug:1706215)
[history] Don’t store failed transactions as succeeded
[history] Do not require root for informative commands
[dnssec] Fix UnicodeWarning when using new rpm (RhBug:1699650)
Print rpm error messages during transaction (RhBug:1677199)
Report missing default profile as an error (RhBug:1669527)
Apply excludes before modular excludes (RhBug:1709453)
Improve help for command line arguments (RhBug:1659328)
[doc] Describe a behavior when plugin is removed (RhBug:1700741)
Add new modular API method ModuleBase.get_modules
Mark features used by ansible, anaconda and subscription-manager as an API
Bugs fixed in 4.2.8:
Bug 1630113 - Transaction callbacks use action constants that aren’t part of the callback API
Bug 1653736 - Options deplist, repoquery do not return expected packages
Bug 1669527 - dnf module install <module> - just enable it, without installing it.
Bug 1661814 - DNF return a VectorString instead of a Python List
Bug 1667898 - repoquery –whatrequires only accepts one pkgspec
Bug 1673075 - The base.sack.query().available() example does not seem to work out of box
Bug 1677199 - Fail to obtian the transaction lock after change of SELinux policy type
Bug 1700741 - When dnf plugin is upgraded via Obsolete, it is not run in the transaction phase
Bug 1706215 - using the @ module syntax for yum4 avoids the stream switching error protection
Bug 1709453 - Re-emergence of a old (unreported?) bug: Modular dependency problems
4.2.7 Release Notes
Set default to skip_if_unavailable=false (RhBug:1679509)
Fix package reinstalls during yum module remove (RhBug:1700529)
Fail when “-c” option is given nonexistent file (RhBug:1512457)
Reuse empty lock file instead of stopping dnf (RhBug:1581824)
Propagate comps ‘default’ value correctly (RhBug:1674562)
Better search of provides in /(s)bin/ (RhBug:1657993)
Add detection for armv7hcnl (RhBug:1691430)
Fix group install/upgrade when group is not available (RhBug:1707624)
Report not matching plugins when using –enableplugin/–disableplugin (RhBug:1673289) (RhBug:1467304)
Add support of modular FailSafe (RhBug:1623128)
Replace logrotate with build-in log rotation for dnf.log and dnf.rpm.log (RhBug:1702690)
Bugs fixed in 4.2.7:
Bug 1672649 - Add dnf.package.Package API for getting pkgid of package from repo in DNF plugin
Bug 1467304 - RFE: –disableplugin should print error/warning on non-existing plugin
Bug 1673289 - dnf enableplugin/disableplugin does not report unknown plugin
Bug 1674562 - dnf not parsing default state of comps group correctly
Bug 1581824 - Malformed lock file found: /var/cache/dnf/metadata_lock.pid.
Bug 1709783 - [api] dnf.callback.Payload.download_size incorrectly documented
Bug 1512457 - when you feed “-c” option with nonexistent file, dnf still returns 0
4.2.6 Release Notes
librepo: Turn on debug logging only if debuglevel is greater than 2 (RhBug:1355764,1580022)
Fix issues with terminal hangs when attempting bash completion (RhBug:1702854)
Rename man page from dnf.automatic to dnf-automatic to match command name
[provides] Enhanced detecting of file provides (RhBug:1702621)
[provides] Sort the output packages alphabetically
Bugs fixed in 4.2.6:
4.2.5 Release Notes
Fix multilib obsoletes (RhBug:1672947)
Do not remove group package if other packages depend on it
Remove duplicates from “dnf list” and “dnf info” outputs
Installroot now requires absolute path
Fix the installation of completion_helper.py
Allow globs in setopt in repoid part
Fix formatting of message about free space required
[doc] Add info of relation update_cache with fill_sack (RhBug:1658694)
Fix installation failure when duplicate RPMs are specified (RhBug:1687286)
Add command abbreviations (RhBug:1634232)
Allow plugins to terminate dnf (RhBug:1701807)
Bugs fixed in 4.2.5:
Bug 1701807 - dnf ignores exception error raised by plugin etckeeper-dnf
Bug 1687286 - Specifying same RPM filename in commandline breaks installation
Bug 1658694 - DNF Python API update_cache() breaks transaction check
Bug 1672947 - dnf prints tracebacks RuntimeError: TransactionItem not found for key
4.2.2 Release Notes
[conf] Use environment variables prefixed with
DNF_VAR_
Enhance documentation of –whatdepends option (RhBug:1687070)
Allow adjustment of repo from –repofrompath (RhBug:1689591)
Document cachedir option (RhBug:1691365)
Retain order of headers in search results (RhBug:1613860)
Solve traceback with the “dnf install @module” (RhBug:1688823)
Build “yum” instead of “dnf-yum” on Fedora 31
Bugs fixed in 4.2.2:
4.2.1 Release Notes
Do not allow direct module switch (RhBug:1669491)
Use improved config parser that preserves order of data
Fix
alias list
command (RhBug:1666325)Postpone yum conflict to F31
Update documentation: implemented plugins; options; deprecated commands (RhBug:1670835,1673278)
Support zchunk (“.zck”) compression
Fix behavior of
--bz
option when specifying more valuesFollow RPM security policy for package verification
Update modules regardless of installed profiles
Add protection of yum package (RhBug:1639363)
Fix
list --showduplicates
(RhBug:1655605)
Bugs fixed in 4.2.1:
Bug 1669247 - dnf does not refresh expired repository metadata
Bug 1673278 - [manpage] inconsistent cmdline options docs: dnf –help/man page
Bug 1677640 - The module enable/disable works unexpectedly with slow/fast train virt module
Bug 1597182 - rpmtrans says to use non-existent dnf.callback.PKG_ERASE
Bug 1678689 - dnf module –help refers to module_spec while man page uses module-spec
Bug 1669491 - stream switching should be prevented with installed profiles
4.1.0 Release Notes
Allow to enable modules that break default modules (RhBug:1648839)
Enhance documentation - API examples
Add best as default behavior (RhBug:1670776,1671683)
Add –nobest option
Bugs fixed in 4.1.0:
Bug 1585509 - Translation of “Size” in different contexts ought to be different.
Bug 1672432 - Group and module operations in transaction table not marked for translation
Bug 1509393 - Translation missing, when more than one process run
Bug 1667423 - The doc/examples/install_plugin.py leads to traceback
Bug 1667426 - The doc/examples/list_obsoletes_plugin.py produces traceback
4.0.10 Release Notes
Updated difference YUM vs. DNF for yum-updateonboot
Added new command
dnf alias [options] [list|add|delete] [<name>...]
to allow the user to define and manage a list of aliasesEnhanced documentation
Unifying return codes for remove operations
[transaction] Make transaction content available for commands
Triggering transaction hooks if no transaction (RhBug:1650157)
Add hotfix packages to install pool (RhBug:1654738)
Report group operation in transaction table
[sack] Change algorithm to calculate rpmdb_version
Bugs fixed in 4.0.10:
4.0.9 Release Notes
Added –changelogs option for check-update command
[module] Add information about active modules
Hide messages created only for logging
Enhanced –setopt option
[module] Fix dnf remove @<module>
[transaction] Make transaction content available for plugins
Bugs fixed in 4.0.9:
4.0.4 Release Notes
Add dnssec extension
Set termforce to AUTO to automatically detect if stdout is terminal
Repoquery command accepts –changelogs option (RhBug:1483458)
Calculate sack version from all installed packages (RhBug:1624291)
[module] Allow to enable module dependencies (RhBug:1622566)
Bugs fixed in 4.0.4:
3.6.1 Release Notes
[module] Improved module commands list, info
[module] Reports error from module solver
Bugs fixed in 3.6.1:
Bug 1626011 - Don’t print progress bar to stdout, and when there’s no tty (dnf repoquery)
Bug 1631458 - [abrt] dnf: build_format_fn(): repoquery.py:285:build_format_fn:KeyError: ‘name’
Bug 1623866 - dnf module provides not having consistent output
Bug 1600444 - Wrong conflicts between dnf and yum prevents upgrade
Bug 1628056 - dnf has problem when setting option fastestmirror
3.5.1 Release Notes
[module] Fixed list and info subcommands
3.5.0 Release Notes
New implementation of modularity
3.0.2 Release Notes
Add limited compatibility with dnf-2.0 (constants)
3.0.1 Release Notes
Support of MODULES - new DNF command module
dnf.conf.Conf.proxy_auth_method
New repoquery option –depends and –whatdepends
Enhanced support of variables
Enhanced documentation
Bugs fixed in 3.0.1:
Bug 1508839 - [modularity] list doesn’t show enabled modules, but installed and locked only
Bug 1506486 - [modularity] rpm install doesn’t follow package versions from a locked module
Bug 1506475 - [modularity] inconsistent ordering in module listing
Bug 1505574 - [modularity] can’t install additional profiles when module is locked
Bug 1505573 - [modularity] module is not locked on the version installed but the latest
Bug 1496732 - [modularity] Error: No such module on update locked module
Bug 1497272 - [modularity] UX: Replace the “Group ‘…’ does not exist.” message
Bug 1488100 - [modularity] do not show module version in dnf module list if showing only latest
Bug 1488086 - [modularity] inform user that they are installing module
Bug 1488105 - [modularity] introduce dnf module streams for showing enabled streams
Bug 1488089 - [modularity] switching stream should erase info about installed profiles
Bug 1488092 - [modularity] no info in dnf list about locked modules
Bug 1486827 - [modularity] include profiles info in module list command
Bug 1486816 - [modularity] show defaults in module list/info command
Bug 1565647 - No match for a package that exists in the repo
Bug 1369847 - [completion] reinstall shows all packages from repo
Bug 1563841 - –nogpgcheck should override localpkg_gpgcheck=True
Bug 1575998 - CentOS: dnf can’t handle password-protected repos
Bug 1577854 - DNF search should use logical conjunction of terms
Bug 1542416 - ‘dnf updateinfo –info’ provides incorrect output
Bug 1542416 - ‘dnf updateinfo –info’ provides incorrect output
Bug 1545075 - updateinfo tracebacks when an advisory consists of multiple repos
Bug 1544359 - dnf fails with traceback for repos containing strange characters
Bug 1247083 - dnf timers require network access and thus should require systemd network target
Bug 1247083 - dnf timers require network access and thus should require systemd network target
Bug 1247083 - dnf timers require network access and thus should require systemd network target
Bug 1519325 - dnf fails to install a package by a “provides” name
Bug 1391911 - [RFE] repoquery: get list of all dependent packages (with even soft dependencies)
Bug 1391911 - [RFE] repoquery: get list of all dependent packages (with even soft dependencies)
Bug 1479330 - DNF 2.0: bash-completion not working by default, until sqlite is installed
Bug 1305232 - log currently processing package from rpm installation
2.7.5 Release Notes
Improved performance for excludes and includes handling
Fixed problem of handling checksums for local repositories
Fix traceback when using dnf.Base.close()
Bugs fixed in 2.7.5:
2.7.4 Release Notes
Enhanced performance for excludes and includes handling
Solved memory leaks at time of closing of dnf.Base()
Bugs fixed in 2.7.4:
2.7.3 Release Notes
Bugs fixed in 2.7.3:
2.7.2 Release Notes
API additions in 2.7.2:
Added new option
--comment=<comment>
that adds a comment to transaction in historydnf.Base.pre_configure_plugin()
configure plugins by running their pre_configure() methodAdded pre_configure() method for plugins and commands to configure dnf before repos are loaded
Bugs fixed in 2.7.2:
Bug 1421478 - dnf repository-packages: error: unrecognized arguments: -x rust-rpm-macros
Bug 1491560 - ‘dnf check’ reports spurious “has missing requires of” errors
Bug 1212341 - [RFE] Allow plugins to override the core configuration
Bug 1299482 - mock –init fails with message “Failed calculating RPMDB checksum”
Bug 1192811 - dnf whatprovides should show which provides matched a pattern
Bug 1288845 - “dnf provides” wildcard matching is unreliable (not all packages with matches listed)
Bug 1237349 - dnf autoremove not removing what dnf list extras shows
Bug 1470050 - the ‘priority=’ option in /etc/yum.repos.d/*.repo is not respected
Bug 1448874 - “dnf needs-restarting” vanished from bash completion
2.6.3 Release Notes
API additions in 2.6.3:
Added auto substitution for all variables used for repo creation by
dnf.repodict.RepoDict.add_new_repo()
Added description of
--downloaddir=<path>
dnf option
Bugs fixed in 2.6.3:
Bug 1476215 - repoquery –location sometimes prints invalid URL
Bug 1473964 - dnf -C (or dnf –cacheonly) does not work as documented for a regular user
Bug 1476834 - [abrt] dnf: arch(): config.py:908:arch:TypeError: unhashable type: ‘list’
Bug 1244755 - [UX] additional dependencies to be installed or removed are not listed separately
Bug 1476748 - Boltron: yum-dnf wrapper breaks installation of modules
Bug 1476464 - dnf download broken if repository is file:/// (ie. local)
Bug 1464192 - rpm.RPMTRANS_FLAG_TEST prevents to save newly imported gpg key
Bug 1463107 - Undoing a remove transaction marks packages as user installed
Bug 1426196 - RFE: Change “upgraded X packages” to “download X packages” when dnf download is used
Bug 1457507 - [api] Explicitly set metalink is not substituted
2.6.2 Release Notes
API additions in 2.6.2:
dnf.conf.Conf.basearch
dnf.conf.Conf.arch
dnf.conf.Conf.ignorearch
Introduced new configuration option
autocheck_running_kernel
dnf.subject.Subject.get_best_selector()
can use three additional key words:obsoletes
,reports
, andreponame
.
From commandline it is possible to use new option --noautoremove
to disable removal of dependencies that are no longer used.
Bugs fixed in 2.6.2:
Bug 1361424 - [RFE] add cli option for clean_requirements_on_remove=no
Bug 1387925 - RFE: Display all unsigned package errors instead of only one
Bug 1332099 - Installing packages produces a backtrace, installation goes ok
Bug 1470116 - /etc/dnf/automatic.conf configuration for command_email is ignored
Bug 1320254 - [RFE] Support short abbrevations of commands like install in DNF
Bug 1424723 - doc: Hard to find documentation for weak dependencies
Bug 1423472 - dnf list updates should only print newest version
Bug 1398871 - dnf group remove removes packages from other groups, and explicitly installed packages
Bug 1432312 - removing MATE Desktop would remove dnf and systemd
2.5.1 Release Notes
API additions in 2.5.1:
dnf.Plugin.pre_transaction()
is a hook that is called just before transaction execution.dnf.subject.Subject.get_nevra_possibilities()
returns generator for every possible nevra.
Bugs fixed in 2.5.1:
2.5.0 Release Notes
API additions in 2.5.0:
dnf.callback.DownloadProgress.start()
can use one additional key word total_drpms
.
Bugs fixed in 2.5.0:
Bug 1350546 - print more useful info when package can not be installed
Bug 1293983 - [UX] show skipped packages during upgrade with pkg param
Bug 1293067 - RFE: dnf suggests –allowerasing even when it cannot help
Bug 1393814 - dnf reports a lot of conflicting packages where there are no conflicts
Bug 1398040 - dnf calls weak dependencies “Skipping packages with broken dependencies”
Bug 1342157 - Search that does not match anything has odd “error” message
Bug 1379906 - Traceback when dependency of plugin is removed and plugin calls the dependency
2.4.1 Release Notes
DNF command additions in 2.4.1:
dnf [options] repoquery --userinstalled
limit the resulting set only to packages installed by user.
Bugs fixed in 2.4.1:
Bug 1446756 - Msgid bug, the flag “supplements” is misspelled in a help text
Bug 1446432 - Minimal install option install full gnome desktop
Bug 1446641 - dnf repoquery –duplicates –latest-limit -1 -q does not work
Bug 1278124 - RFE: Add new option to repoquery - user-installed
Bug 1301868 - dnf search with multiple matches shows repeated grouping
2.4.0 Release Notes
API additions in 2.4.0:
dnf.subject.Subject.get_best_query()
can use two additional key words:with_nevra
, andwith_filenames
.Added description of
dnf.repo.Repo.cost
Added description of
dnf.repo.Repo.excludepkgs
Added description of
dnf.repo.Repo.includepkgs
DNF command additions in 2.4.0:
--enableplugin=<plugin names>
command line argument enable the listed plugins specified by names or globs.--releasever=<release>
command line argument now autodetect releasever in installroot from host if/
value is used as<release>
.
Bugs fixed in 2.4.0:
2.3.0 Release Notes
API additions in 2.3.0:
dnf.package.Package.remote_location()
returns location from where the package can be downloaded from.
DNF command additions in 2.3.0:
dnf [options] repoquery --whatconflicts <capability>
limit the resulting set only to packages that conflict<capability>
.dnf [options] repoquery --whatobsoletes <capability>
limit the resulting set only to packages that obsolete<capability>
.dnf [options] repoquery --location
show a location where the package could be downloaded from.dnf [options] repoquery --nvr
show found packages in format name-version-release.dnf [options] repoquery --nevra
show found packages in format name-epoch:version-release.architecture (default).dnf [options] repoquery --envra
show found packages in format epoch:name-version-release.architecture.dnf [options] repoquery --recursive
query packages recursively. Can be used with--whatrequires <REQ>
(optionally with –alldeps, but it has no effect with –exactdeps), or with--requires <REQ> --resolve
.
Bugs fixed in 2.3.0:
2.2.0 Release Notes
API additions in 2.2.0:
dnf.callback.TransactionProgress.progress()
has new actions: TRANS_PREPARATION, TRANS_POST, and PKG_SCRIPTLET.
Bugs fixed in 2.2.0:
2.1.1 Release Notes
Bugs fixed in 2.1.1:
2.1.0 Release Notes
API additions in 2.1.0:
dnf.Base.update_cache()
downloads and caches in binary format metadata for all known repos.
Bugs fixed in 2.1.0:
2.0.1 Release Notes
API changes in 2.0.1:
dnf.Base.package_downgrade()
now accept keyword strict to ignore problems with dep-solving
API additions in 2.0.1:
dnf.Base.autoremove()
removes all ‘leaf’ packages from the system that were originally installed as dependenciesdnf.cli.Cli.redirect_logger()
changes minimal logger level for terminal output to stdout and stderr
DNF command additions in 2.0.1:
dnf [options] shell [filename]
opens an interactive shell for conducting multiple commands during a single execution of DNFdnf [options] swap <remove-spec> <install-spec>
removes spec and install spec in one transaction
Bugs fixed in 2.0.1:
Bug 1238808 - [UX] Negative percentage reported when delta rebuilds fail
Bug 1386085 - L10N - Uncut sentence DepSolveProgressCallBack > pkg_added
Bug 1286553 - [UX] Should say “Freed space” rather than “Installed size” when removing packages
Bug 1336879 - dnf fails to respect conditional level in comps.xml
Bug 1329617 - Downgrade fails with broken dep with –setopt=strict=False
Bug 1283255 - downgrade doesn’t resolve dependencies automatically
Bug 1369411 - information about metadata expiration should go into stderr
Bug 1345976 - [UX] When no repo and –disablerepo=* - incorrect error message
Bug 1403930 - dnf repoquery -f with multiple files doesn’t seem to work
Bug 1403465 - [RFE] Transaction modifiers for “dnf install” and “dnf remove”
Bug 1254879 - dnf repoquery -l should display ‘(contains no files)’ if there are no files
2.0.0 Release Notes
List of all incompatible changes can be found at: dnf-1 vs dnf-2
API changes in 2.0.0:
dnf.Base.add_remote_rpms()
now suppresses any error ifstrict
equals toFalse
.dnf.Base.read_comps()
now limits results to system basearch ifarch_filter
equals toTrue
.dnf.cli.Cli.configure()
now doesn’t take any additional arguments.dnf.cli.Cli.run()
now doesn’t take any additional arguments.dnf.Plugin.read_config()
now doesn’t take any name of config file.dnf.Repo.__init__()
now takes parent_conf argument which is an instance ofdnf.conf.Conf
holding main dnf configuration instead of cachedir path.exclude
andinclude
configuration options change toexcludepkgs
andincludepkgs
.
API additions in 2.0.0:
dnf.Base.init_plugins()
initializes plugins. It is possible to disable some plugins by passing the list of their name patterns todisabled_glob
.dnf.Base.configure_plugins()
configures plugins by running theirconfigure()
method.dnf.Base.urlopen()
opens the specified absoluteurl
and returns a file object which respects proxy setting even for non-repo downloadsIntroduced new configuration options:
check_config_file_age
,clean_requirements_on_remove
,deltarpm_percentage
,exit_on_lock
,get_reposdir
,group_package_types
,installonlypkgs
,keepcache
,protected_packages
,retries
,type
, andupgrade_group_objects_upgrade
. For detailed description see: DNF API.Introduced new configuration methods:
dump()
andwrite_raw_configfile()
. For detailed description see: DNF API.Introduced
dnf.package.Package
attributesdebug_name
,downloadsize
,source_debug_name
andsource_name
. For detailed description see: DNF Package API.dnf.query.Query.extras()
returns a new query that limits the result to installed packages that are not present in any repo.dnf.repo.Repo.enable_debug_repos()
enables debug repos corresponding to already enabled binary repos.dnf.repo.Repo.enable_source_repos()
enables source repos corresponding to already enabled binary repos.dnf.repo.Repo.dump()
prints repository configuration, including inherited values.dnf.query.Query.filter()
now accepts optional argument pkg.
DNF command changes in 2.0.0:
dnf [options] group install [with-optional] <group-spec>...
changes todnf [options] group install [--with-optional] <group-spec>...
.dnf [options] list command [<package-name-specs>...]
changes to dnf [options] list –command [<package-name-specs>…]`.dnf [options] makecache timer
changes todnf [options] makecache --timer
.dnf [options] repolist [enabled|disabled|all]
changes todnf [options] repolist [--enabled|--disabled|--all]
.dnf [options] repository-packages <repoid> info command [<package-name-spec>...]
changes todnf [options] repository-packages <repoid> info --command [<package-name-spec>...]
.dnf repoquery --duplicated
changes todnf repoquery --duplicates
.dnf [options] search [all] <keywords>...
changes todnf [options] search [--all] <keywords>...
.dnf [options] updateinfo [<availability>] [<spec>...]
changes todnf [options] updateinfo [--summary|--list|--info] [<availability>] [<spec>...]
.--disablerepo
command line argument is mutually exclusive with--repo
.--enablerepo
command line argument now appends repositories.--installroot
command line argument. For detailed description see: DNF command API.--releasever
command line argument now doesn’t detect release number from running system.--repofrompath
command line argument can now be combined with--repo
instead of--enablerepo
.Alternative of yum’s
deplist
changes fromdnf repoquery --requires
todnf repoquery --deplist
.New systemd units dnf-automatic-notifyonly, dnf-automatic-download, dnf-automatic-download were added for a better customizability of dnf-automatic.
DNF command additions in 2.0.0:
dnf [options] remove --duplicates
removes older version of duplicated packages.dnf [options] remove --oldinstallonly``removes old installonly packages keeping only ``installonly_limit
latest versions.dnf [options] repoquery [<select-options>] [<query-options>] [<pkg-spec>]
searches the available DNF repositories for selected packages and displays the requested information about them. It is an equivalent ofrpm -q
for remote repositories.dnf [options] repoquery --querytags
provides list of recognized tags by repoquery option --queryformat.--repo
command line argument enables just specific repositories by an id or a glob. Can be used multiple times with accumulative effect. It is basically shortcut for--disablerepo="*" --enablerepo=<repoid>
and is mutually exclusive with--disablerepo
option.New commands have been introduced:
check
andupgrade-minimal
.New security options introduced:
bugfix
,enhancement
,newpackage
,security
,advisory
,bzs
,cves
,sec-severity
andsecseverity
.
Bugs fixed in 2.0.0:
Bug 1384289 - dnf repoquery –quiet outputs “Last metadata expiration check:”
Bug 1398272 - Dnf import of public keys causes stale rpmdb locks left behind
Bug 1382224 - RFE: dnf transactions should run in a transient systemd service
Bug 1341086 - dnf install exists with 0 even if it did not install all packages
Bug 1096506 - promoting ‘install a’ to ‘install b’ when b obsoletes a
Bug 1332830 - DNF builddep is not consistently installing packages providing capabilities properly
Bug 1314961 - dnf-automatic crashes when ‘None’ emitter is used
Bug 1372307 - dnf-automatic does not run etckeeper’s autocommit
Bug 1148627 - dnf doesn’t provide enough info to understand the package dependencies
Bug 1373591 - TypeError: decode() argument 1 must be string, not MagicMock
Bug 1230355 - Running “dnf history” as non-root user produces unhelpful error message
Bug 1366793 - Nothing obsoletes retired dnf-langpacks packages, breaks upgrade from Fedora 23 to 25+
Bug 1369411 - information about metadata expiration should go into stderr
Bug 1366793 - Nothing obsoletes retired dnf-langpacks packages, breaks upgrade from Fedora 23 to 25+
Bug 1369459 - dnf repolist disabled doesn’t show repository name
Bug 1368832 - AttributeError: ‘Repo’ object has no attribute ‘metalink_path’
Bug 1366793 - Nothing obsoletes retired dnf-langpacks packages, breaks upgrade from Fedora 23 to 25+
Bug 1359016 - Unknown configuration option: enabled_metadata = 1
Bug 1365593 - dnf: misleading error message when trying to “upgrade” src.rpm
Bug 1356926 - Results of ‘dnf repoquery –whatprovides’ and ‘dnf provides’ don’t match
Bug 1219867 - include option in repository should not effect the rest repos
Bug 1350604 - RFE: Add ‘build-dep’ and ‘distrosync’ aliases to ‘builddep’ and ‘distro-sync’
Bug 1158548 - [rfe] “dnf <plugin> –help” does not print plugin help
Bug 1262878 - dnf –exclude doesn’t work for local installed package
Bug 1318852 - DNF doesn’t install groups, reports the group is already installed.
Bug 1343880 - dnf.plugin.repoquery documentation should use/explain –alldeps
Bug 1338921 - dnf removes sqlite-libs because plexmediaserver pretends it provides them
Bug 1284349 - installed hipchat confuses dnf to remove sqlite (which destroys the system)
Bug 1338921 - dnf removes sqlite-libs because plexmediaserver pretends it provides them
Bug 1284349 - installed hipchat confuses dnf to remove sqlite (which destroys the system)
Bug 1193823 - [RFE] Plugins can’t be disabled in config files
Bug 1246211 - DNF Repoquery: Automatically enable repo selected by –repo
Bug 1158548 - [rfe] “dnf <plugin> –help” does not print plugin help
Bug 1215208 - Double-dash (”–”) argument separator is not supported
Bug 1212693 - dnf does not consistently exit immediately when an invalid option is given
Bug 1212341 - [RFE] Allow plugins to override the core configuration
Bug 1227001 - Using DNF to with –installroot fails where yum works
Bug 1279185 - dnf searches in /etc/yum.repos.d/*.repo when using –installroot
Bug 1289067 - [RFE][UX] visual separation of autoremoved packages
Bug 1400081 - Crash with empty includepkgs list in repository configuration file
Bug 1293782 - dnf clean all does not wait for current running upgrade
Bug 1358245 - repoquery: valid use of stderr and stdout, use stdout only for requested data
1.1.10 Release Notes
Fixed unicode handling and fixing other bugs.
Bugs fixed in 1.1.10:
Bug 1257965 - DNF doesn’t treat the “xml:base” attribute in the primary.xml location tag correctly
Bug 1352130 - dnf should not report errors to stdout, it’s mildly dangerous
Bug 1230183 - Package update does not work when package changes from noarch <-> arch
Bug 1338046 - dnf will consume 100% CPU when there is no space left on device
Bug 1214768 - history userinstalled lists should print NEVRAs instead of names
Bug 1338564 - Update fails with “AttributeError: ‘Base’ object has no attribute ‘sigCheckPkg’ (36)”
1.1.9 Release Notes
From this release if you use any non-API methods warning will be printed and bugfixes.
Bugs fixed in 1.1.9:
1.1.8 Release Notes
Improvements in documentation, bugfixes, translation updates.
Bugs fixed in 1.1.8:
Bug 1309408 - [RFE] Add docs that –best is showing more details on broken package dependencies
Bug 1209649 - [UX] dnf group info (and other two word commands) give wrong mini_usage info
Bug 1272977 - dnf waits 10 minutes for a single repo (for unresponsive ftp server?)
Bug 1322226 - [pt-BR] some strings translated in zanata are missing in the terminal
Bug 1315349 - dnf-makecache.service fills journal with useless lines because of verbose option
Bug 1214562 - Config error: Error parsing “installonly_limit = u’1’”: Out of range integer value.
Bug 1313215 - got “IndexError: list index out of range “ after ran dnf history command
Bug 1306057 - [UX] different behaviour of installonly in yum/dnf
1.1.7 Release Notes
Added dnf.rpm.basearch()
method, intended for the detection of CPU base architecture.
The group list command was enriched with installed
and available
switches.
Documented a standard way of overriding autodetected architectures in DNF API.
Bugs fixed in 1.1.7:
1.1.6 Release Notes
Added support of socks5 proxy.
Bugs fixed in 1.1.6:
Bug 1256587 - The proxy option in dnf.conf doesn’t support socks5
Bug 1287221 - dnf stutters when writing in /var/log/dnf.rpm.log
Bug 1277360 - doc: update specifying the packages in commands
Bug 1294241 - file /var/lib/dnf/* is not owned by any package
Bug 1226322 - dnf clean all does not clean package metadata for local repos
1.1.5 Release Notes
Improved the start-up time of bash completion.
Reviewed documentation.
Bugs fixed in 1.1.5:
Bug 1229046 - mark group as installed only after successful transaction
Bug 1282250 - RFE: don’t consider remove operations as successful transactions
Bug 1278382 - DNF python programming error when run from virt-builder
Bug 1280240 - dnf should warn if plugins are disabled and an unknown command is requested
1.1.4 Release Notes
API additions in 1.1.4:
newly added
dnf.Query.duplicated()
extended
dnf.Query.latest()
Bugs fixed in 1.1.4:
1.1.3 Release Notes
Now dnf.Base.group_install()
is able to exclude mandatory packages of the group from transaction.
1.1.2 Release Notes
Implemented –downloadonly command line option.
Bugs fixed in 1.1.2:
Bug 1262082 - ‘ascii’ codec can’t decode byte 0xc3 in position 40: ordinal not in range(128)
Bug 1250038 - [abrt] python-dnf: completion_helper.py:84:run:IndexError: list index out of range
Bug 1259650 - “dnf provides” or “dnf repoquery –whatprovides” does not support globs
Bug 1254982 - dnf-automatic generates emails with broken charset
Bug 1261766 - RFE: way to force no metadata expiration system-wide
Bug 1234491 - [UX] dnf list installed: show repo id the package was installed from
Bug 1256531 - dnf install crashes if terminal window is too small
Bug 1258364 - Some important dnf output goes to STDERR and not to STDOUT
1.1.1 Release Notes
Implemented dnf mark
command.
Bugs fixed in 1.1.1:
Bug 1234763 - wildcard in dnf update/downgrade should match installed packages only
Bug 1242946 - [depsolv] dnf prefers package names over provide names
Bug 1247766 - dnf logrotate.d rotates logs too fast in many cases
Bug 1125925 - [RFE] provide a ‘add to user-installed-list’ command
Bug 1210289 - RFE: Have a way to wait on dnf lock rather than terminate
1.1.0 Release Notes
API additions in 1.1.0:
dnf.Base.do_transaction()
now accepts multiple displays.
Introduced install_weak_deps
configuration option.
Implemented strict
configuration option.
API deprecations in 1.1.0:
dnf.callback.LoggingTransactionDisplay
is deprecated now. It was considered part of API despite the fact that it has never been documented. Usednf.callback.TransactionProgress
instead.
Bugs fixed in 1.1.0
Bug 1210445 - [rfe] report when skipping available updates due to dependency reasons
Bug 1218401 - [doc] document history_list_view and set it to cmd by default
Bug 1227952 - dnf update on a local directory does not handle mutliple versions of the same package
Bug 1197456 - [RFE] implement `strict` config option (defaults=True)
Bug 1207981 - [UX] error during unpacking archive does not fail the installation
Bug 1208918 - RFE: dnf shouldn’t stop processing the command line at the first unknown package
Bug 1234639 - dnf package actions triggered by dnf-automatic aren’t logged to dnf.rpm.log
Bug 1244486 - [doc] Add yum vs dnf hooks information in dnf documentation
Bug 1224248 - [UX] Error message doesn’t show names of packages well
Bug 1243501 - `dnf downgrade’ treats installed packages as not installed
Bug 1225237 - [UX] [doc] FILES section missing from manual pages
1.0.2 Release Notes
When a transaction is not successfully finished, DNF preserves downloaded packages
until the next successful transaction even if keepcache
option is set to False
.
Maximum number of simultaneous package downloads can be adjusted by newly added
max_parallel_downloads
configuration option.
--repofrompath
command line argument was introduced for temporary configuration of repositories.
API additions in 1.0.2:
Newly added package attributes: dnf.package.Package.obsoletes
,
dnf.package.Package.provides
and dnf.package.Package.requires
.
dnf.package.Query.filter
’s keys requires
and provides
now accepts
list of Hawkey.Reldep
type.
Bugs fixed in 1.0.2:
Bug 1176351 - [RFC] print warning message when we’re going to install not latest version
Bug 1210445 - [rfe] report when skipping available updates due to dependency reasons
Bug 1173107 - mock: use of “dnf –installroot …” yields “releasever not given” error
Bug 1219199 - Problem when using proxy authentication in dnf.conf
Bug 1230975 - [rfe] configurable parallel downloads (like yum’s max_connections)
Bug 1232815 - ‘dnf install @group’ returns error code 1 if all packages are already installed
Bug 1113384 - [rfe] repofrompath option to specify ad-hoc repo
Bug 1133979 - yum/dnf –quiet option not working for check-update command
1.0.1 Release Notes
DNF follows the Semantic Versioning as defined at http://semver.org/.
Documented SSL configuration and repository options.
Added virtual provides allowing installation of DNF commands by their name in the form of
dnf install dnf-command(name)
.
dnf-automatic now by default waits random interval between 0 and 300 seconds before any network communication is performed.
Bugs fixed in 1.0.1:
1.0.0 Release Notes
Improved documentation of YUM to DNF transition in Changes in DNF CLI compared to YUM.
Auto remove command does not remove installonly packages.
Downgrade command downgrades to specified package version if that is lower than currently installed one.
DNF now uses dnf.repo.Repo.id
as a default value for dnf.repo.Repo.name
.
Added support of repositories which use basic HTTP authentication.
API additions in 1.0.0:
configuration options username and password (HTTP authentication)
dnf.repo.Repo.username
and dnf.repo.Repo.password
(HTTP authentication)
Bugs fixed in 1.0.0:
Bug 1215560 - [abrt] dnf: i18n.py:165:exact_width:TypeError: ‘NoneType’ object is not iterable
Bug 1199648 - [UX] dnf groupinstall claims that installed group does not exist
Bug 1208018 - config-manager: enable won’t work. TypeError: unorderable types: Repo() < Repo()
Bug 1207861 - Python 3: historical transactions that had multiple problems causes tracebacks
Bug 1215289 - bash completion file adds a shell alias for python
0.6.5 Release Notes
Python 3 version of DNF is now default in Fedora 23 and later.
yum-dnf package does not conflict with yum package.
dnf erase was deprecated in favor of dnf remove.
Extended documentation of handling non-existent packages and YUM to DNF transition in Changes in DNF CLI compared to YUM.
API additions in 0.6.5:
Newly added pluginconfpath option in configuration.
Exposed skip_if_unavailable attribute from Repository Configuration.
Documented IOError exception of method fill_sack from dnf.Base
.
Bugs fixed in 0.6.5:
Bug 1203151 - Duplicated output for already installed packages
Bug 1185977 - [api] remove cached package file only after transaction()
Bug 1193914 - ‘help history’ does not correspond with supported commands
Bug 1195385 - dnf regression: cannot resolve provides with slashes
Bug 1186710 - dnf –setopt exclude=XXX adds garbage to excludes
Bug 1207726 - Update dnf and yum packages for proposed dnf default change
Bug 1157233 - ‘dnf download’ cannot be run in parallel as non-root user
Bug 1190671 - DNF ships bash completition file but lacks requirement on bash completion
Bug 1195325 - RFE: provide a way to configure the config directory used by plugins
Bug 1154202 - [depsolv] removing a package results in downloading more packages
Bug 1189083 - [doc] please document ‘skip_if_unavailable’ Repo flag
Bug 1195661 - lock files cannot be created for non logged users
Bug 1194685 - CACHEDIR_SUFFIX appended twice to cachedir when using dnf CLI.
0.6.4 Release Notes
Added example code snippets into DNF Use Cases.
Shows ordered groups/environments by display_order tag from cli and Comps, or the Distribution Compose Metadata DNF API.
In commands the environment group is specified the same as group.
skip_if_unavailable configuration option affects the metadata only.
added enablegroups, minrate and timeout configuration options
API additions in 0.6.4:
Documented install_set and remove_set attributes from Transaction.
Exposed downloadsize, files, installsize attributes from Package.
Bugs fixed in 0.6.4:
Bug 1169165 - let glob pattern describing package to match multiple packages
Bug 1157233 - ‘dnf download’ cannot be run in parallel as non-root user
Bug 1138096 - [doc] add examples on install, resolve, do_transaction api usage
Bug 1181397 - [abrt] dnf: output.py:683:_display_packages_verbose:KeyError: u’ppc64-utils’
Bug 1156084 - dnf install @some-environment-id does not work
Bug 1174136 - wrongly computed text width with nonascii characters
Bug 1119030 - skip_if_unavailable to correctly treat repos that are down during package download
Bug 1177394 - Dnf specifies both “size” and an age in the logrotate configuration
0.6.3 Release Notes
Deltarpm configuration option is set on by default.
API additions in 0.6.3:
dnf-automatic adds motd emitter as an alternative output
Bugs fixed in 0.6.3:
Bug 1153543 - dnf bash completion hangs when trying to complete local path
Bug 1151231 - Broken bash completion (does not occur when dnf-plugins-core installed)
Bug 1163063 - dnf install with glob pattern output should be similar to yum install with glob
Bug 1151854 - –cacheonly is not being respected – will update the cache if expired
Bug 1151740 - dnf base api should not use errorSummary from dnf.cli.BaseCli
Bug 1149972 - update command implicitly working as reinstall
Bug 1150474 - dnf group install broken for locale other than en_US
Bug 1149952 - Python exception thrown when searching dnf history
0.6.2 Release Notes
API additions in 0.6.2:
Now
dnf.Base.package_install()
method ignores already installed packagesCliError exception from
dnf.cli
documentedAutoerase, History, Info, List, Provides, Repolist commands do not force a sync of expired metadata
Install command does installation only
Bugs fixed in 0.6.2:
0.6.1 Release Notes
New release adds upgrade-type command to dnf-automatic for choosing specific advisory type updates.
Implemented missing history redo command for repeating transactions.
Supports gpgkey repo config, repo_gpgcheck and gpgcheck [main] and Repo configs.
Distributing new package dnf-yum that provides /usr/bin/yum as a symlink to /usr/bin/dnf.
API additions in 0.6.1:
exclude, the third parameter of
dnf.Base.group_install()
now also accepts glob patterns of package names.
Bugs fixed in 0.6.1:
0.6.0 Release Notes
0.6.0 marks a new minor version of DNF and the first release to support advisories listing with the udpateinfo command.
Support for the include configuration directive has been added. Its functionality reflects YUM’s includepkgs
but it has been renamed to make it consistent with the exclude
setting.
Group operations now produce a list of proposed marking changes to group objects and the user is given a chance to accept or reject them just like with an ordinary package transaction.
Bugs fixed in 0.6.0:
0.5.5 Release Notes
The full proxy configuration, API extensions and several bugfixes are provided in this release.
API changes in 0.5.5:
cachedir, the second parameter of
dnf.repo.Repo.__init__()
is not optional (the method has always been this way but the documentation was not matching)
API additions in 0.5.5:
extended description and an example provided for
dnf.Base.fill_sack()
dnf.conf.Conf.proxy
dnf.conf.Conf.proxy_username
dnf.conf.Conf.proxy_password
dnf.repo.Repo.proxy
dnf.repo.Repo.proxy_username
dnf.repo.Repo.proxy_password
Bugs fixed in 0.5.5:
0.5.4 Release Notes
Several encodings bugs were fixed in this release, along with some packaging issues and updates to DNF Configuration Reference.
Repository priority configuration setting has been added, providing similar functionality to YUM Utils’ Priorities plugin.
Bugs fixed in 0.5.4:
0.5.3 Release Notes
A set of bugfixes related to i18n and Unicode handling. There is a -4/-6
switch and a corresponding ip_resolve configuration option (both known from YUM) to force DNS resolving of hosts to IPv4 or IPv6 addresses.
0.5.3 comes with several extensions and clarifications in the API: notably Transaction
is introspectable now, Query.filter
is more useful with new types of arguments and we’ve hopefully shed more light on how a client is expected to setup the configuration substitutions
.
Finally, plugin authors can now use a new resolved()
hook.
API changes in 0.5.3:
extended description given for
dnf.Base.fill_sack()
dnf.Base.select_group()
has been dropped as announced in 0.4.18 Release Notes
API additions in 0.5.3:
dnf.query.Query.filter()
accepts suffixes for its argument keys now which change the filter semantics.dnf.transaction.TransactionItem
dnf.transaction.Transaction
is iterable now.
Bugs fixed in 0.5.3:
0.5.2 Release Notes
This release brings autoremove command that removes any package that was originally installed as a dependency (e.g. had not been specified as an explicit argument to the install command) and is no longer needed.
Enforced verification of SSL connections can now be disabled with the sslverify setting.
We have been plagued with many crashes related to Unicode and encodings since the 0.5.0 release. These have been cleared out now.
There’s more: improvement in startup time, extended globbing semantics for input arguments and better search relevance sorting.
Bugs fixed in 0.5.2:
0.5.1 Release Notes
Bugfix release with several internal cleanups. One outstanding change for CLI users is that DNF is a lot less verbose now during the dependency resolving phase.
Bugs fixed in 0.5.1:
0.5.0 Release Notes
The biggest improvement in 0.5.0 is complete support for groups and environments, including internal database of installed groups independent of the actual packages (concept known as groups-as-objects from YUM). Upgrading groups is supported now with group upgrade
too.
To force refreshing of metadata before an operation (even if the data is not expired yet), the refresh option has been added.
Internally, the CLI went through several changes to allow for better API accessibility like granular requesting of root permissions.
API has got many more extensions, focusing on better manipulation with comps and packages. There are new entries in Changes in DNF CLI compared to YUM and DNF User’s FAQ too.
Several resource leaks (file descriptors, noncollectable Python objects) were found and fixed.
API changes in 0.5.0:
it is now recommended that either
dnf.Base.close()
is used, or thatdnf.Base
instances are treated as a context manager.
API extensions in 0.5.0:
dnf.Base.resolve()
optionally accepts allow_erasing arguments now.dnf.cli.demand.DemandSheet
dnf.cli.Command.usage
dnf.comps.MANDATORY
etc.
Bugs fixed in 0.5.0:
Bug 1051869 - [abrt] dnf: comps.py:62:_by_pattern:TypeError: expected string or buffer
Bug 1063666 - [comps] [environments] dnf group remove “GNOME Desktop”
Bug 1073859 - [api][rfe] access to dnf.Base.goal_parameters.allow_uninstall
Bug 1079932 - [api][rfe] public api for getting all packages in a group
Bug 1080489 - [RFE] dnf exits with an error when at least one srpm is present on the command line
Bug 1083432 - group is marked as installed, even if install of the packages failed
Bug 1083767 - dnf documents cached packages in a way which does not agree with reality
Bug 1084553 - [doc] dnf docs describe ‘–best’ option in undecipherabke manner
Bug 1088166 - [doc] DNF doesn’t say you need root rights to run dnf update
0.4.19 Release Notes
Arriving one week after 0.4.18, the 0.4.19 mainly provides a fix to a traceback in group operations under non-root users.
DNF starts to ship separate translation files (.mo) starting with this release.
Bugs fixed in 0.4.19:
0.4.18 Release Notes
Support for dnf distro-sync <spec>
finally arrives in this version.
DNF has moved to handling groups as objects, tagged installed/uninstalled independently from the actual installed packages. This has been in YUM as the group_command=objects
setting and the default in recent Fedora releases. There are API extensions related to this change as well as two new CLI commands: group mark install
and group mark remove
.
API items deprecated in 0.4.8 and 0.4.9 have been dropped in 0.4.18, in accordance with our deprecation policy.
API changes in 0.4.18:
dnf.queries
has been dropped as announced in 0.4.8 Release Notesdnf.exceptions.PackageNotFoundError
has been dropped from API as announced in 0.4.9 Release Notesdnf.Base.install()
no longer has to return the number of marked packages as announced in 0.4.9 Release Notes
API deprecations in 0.4.18:
dnf.Base.select_group()
is deprecated now. Please usegroup_install()
instead.
API additions in 0.4.18:
Bugs fixed in 0.4.18:
0.4.17 Release Notes
This release fixes many bugs in the downloads/DRPM CLI area. A bug got fixed preventing a regular user from running read-only operations using --cacheonly
. Another fix ensures that metadata_expire=never
setting is respected. Lastly, the release provides three requested API calls in the repo management area.
API additions in 0.4.17:
Bugs fixed in 0.4.17:
Bug 1059704 - [api] dnf.base.Base.read_comps() fails when there’s no comps
Bug 1058224 - the system cache should be world readable by default
Bug 1069538 - DNF doesn’t support “never” or “-1” for metadata_expire option unlike yum
Bug 1070598 - problems downloading large files (and counting past 100%)
Bug 1070710 - dnf.Base.read_comps() fails in Python3, works ok in Python2
Bug 1071323 - [api] [rfe]: dnf.repo & dnf.repodict API extention
Bug 1071455 - [i18n] Wrong characters in Japanese translatated message
Bug 1071501 - [drpm] fallback to full RPM download on drpm failure
Bug 1071677 - [doc] faq suggests it’s a good idea to install rawhide packages on stable releases
0.4.16 Release Notes
The refactorings from 0.4.15 are introducing breakage causing the background dnf makecache
runs traceback. This release fixes that.
Bugs fixed in 0.4.16:
0.4.15 Release Notes
Massive refactoring of the downloads handling to provide better API for reporting download progress and fixed bugs are the main things brought in 0.4.15.
API additions in 0.4.15:
dnf.Base.download_packages()
now takes the optional progress parameter and can raiseDownloadError
.dnf.query.Query.filter()
now also recognizesprovides
as a filter name.
Bugs fixed in 0.4.15:
Bug 1048788 - [abrt] dnf: __init__.py:183:install:ArchException: Used arch is unknown.
Bug 1065728 - [doc] Metadata expire configurable per repository
Bug 1065879 - [API] provides is missing in queries documentation
Bug 1065959 - dnf tab completion should use “distro-sync” instead of “distribution-synchronization”
Bug 1066743 - [doc] `dnf clean` should function or warn when run as normal user
0.4.14 Release Notes
This quickly follows 0.4.13 to address the issue of crashes when DNF output is piped into another program.
API additions in 0.4.14:
Bugs fixed in 0.4.14:
0.4.13 Release Notes
0.4.13 finally ships support for delta RPMS. Enabling this can save some bandwidth (and use some CPU time) when downloading packages for updates.
Support for bash completion is also included in this version. It is recommended to use the generate_completion_cache
plugin to have the completion work fast. This plugin will be also shipped with dnf-plugins-core-0.0.3
.
The keepcache config option has been readded.
Bugs fixed in 0.4.13:
0.4.12 Release Notes
This release disables fastestmirror by default as we received many complains about it. There are also several bugfixes, most importantly an issue has been fixed that caused packages installed by Anaconda be removed together with a depending package. It is now possible to use bandwidth
and throttle
config values too.
Bugs fixed in 0.4.12:
0.4.11 Release Notes
This is mostly a bugfix release following quickly after 0.4.10, with many updates to documentation.
API additions in 0.4.11:
API changes in 0.4.11:
Conf.pluginpath
is no longer hard coded but depends on the major Python version.
Bugs fixed in 0.4.11:
0.4.10 Release Notes
0.4.10 is a bugfix release that also adds some long-requested CLI features and extends the plugin support with two new plugin hooks. An important feature for plugin developers is going to be the possibility to register plugin’s own CLI command, available from this version.
dnf history
now recognizes last
as a special argument, just like other history commands.
dnf install
now accepts group specifications via the @
character.
Support for the --setopt
option has been readded from YUM.
API additions in 0.4.10:
Plugin.__init__()
now specifies the second parameter as an instance of .cli.Cli
API changes in 0.4.10:
Plugin authors must specify
Plugin.name
when authoring a plugin.
Bugs fixed in 0.4.10:
Bug 1018284 - [rfe] [api] refactor check for valid id into separate function
Bug 1036147 - [locking] Traceback for dnf search if running under su - USER
Bug 1038403 - [abrt] dnf-0.4.9-1.fc20: base.py:1832:handle_erase:AssertionError
Bug 1038937 - [plugins] [api] Add hook for metadata download complete event
Bug 1040255 - dnf show wrong Installed size when install packages
0.4.9 Release Notes
Several YUM features are revived in this release. dnf history rollback
now works again. The history userinstalled
has been added, it displays a list of packages that the user manually selected for installation on an installed system and does not include those packages that got installed as dependencies.
We’re happy to announce that the API in 0.4.9 has been extended to finally support plugins. There is a limited set of plugin hooks now, we will carefully add new ones in the following releases. New marking operations have ben added to the API and also some configuration options.
An alternative to yum shell
is provided now for its most common use case: replacing a non-leaf package with a conflicting package is achieved by using the --allowerasing
switch now.
API additions in 0.4.9:
Conf.pluginpath
Conf.reposdir
API deprecations in 0.4.9:
PackageNotFoundError
is deprecated for public use. Please catchMarkingError
instead.It is deprecated to use
Base.install()
return value for anything. The method either returns or raises an exception.
Bugs fixed in 0.4.9:
0.4.8 Release Notes
There are mainly internal changes, new API functions and bugfixes in this release.
Python 3 is fully supported now, the Fedora builds include the Py3 variant. The DNF program still runs under Python 2.7 but the extension authors can now choose what Python they prefer to use.
This is the first version of DNF that deprecates some of its API. Clients using deprecated code will see a message emitted to stderr using the standard Python warnings module. You can filter out dnf.exceptions.DeprecationWarning
to suppress them.
API additions in 0.4.8:
dnf.conf.Conf.cachedir
dnf.conf.Conf.config_file_path
dnf.conf.Conf.persistdir
dnf.transaction.Transaction
API deprecations in 0.4.8:
dnf.queries
is deprecated now. If you need to create instances ofSubject
, import it fromdnf.subject
. To createQuery
instances it is recommended to usesack.query()
.
Bugs fixed in 0.4.8:
0.4.7 Release Notes
We start to publish the DNF API Reference with this release. It is largely incomprehensive at the moment, yet outlines the shape of the documentation and the process the project is going to use to maintain it.
The :ref:upgrade_requirements_on_install <upgrade_requirements_on_install_dropped> configuration option was dropped.
Bugs fixed in 0.4.7:
0.4.6 Release Notes
0.4.6 brings two new major features. Firstly, it is the revival of history
undo
, so transactions can be reverted now. Secondly, DNF will now limit the
number of installed kernels and installonly packages in general to the number
specified by installonly_limit configuration
option.
DNF now supports the group summary
command and one-word group commands no
longer cause tracebacks, e.g. dnf grouplist
.
There are vast internal changes to dnf.cli
, the subpackage that provides CLI
to DNF. In particular, it is now better separated from the core.
The hawkey library used against DNF from with this versions uses a recent RPMDB loading optimization in libsolv that shortens DNF startup by seconds when the cached RPMDB is invalid.
We have also added further fixes to support Python 3 and enabled librepo’s fastestmirror caching optimization to tighten the download times even more.
Bugs fixed in 0.4.6:
0.4.5 Release Notes
A serious bug causing tracebacks during package downloads made it into 0.4.4 and this release contains a fix for that. Also, a basic proxy support has been readded now.
Bugs fixed in 0.4.5:
0.4.4 Release Notes
The initial support for Python 3 in DNF has been merged in this version. In
practice one can not yet run the dnf
command in Py3 but the unit tests
already pass there. We expect to give Py3 and DNF heavy testing during the
Fedora 21 development cycle and eventually switch to it as the default. The plan
is to drop Python 2 support as soon as Anaconda is running in Python 3.
Minor adjustments to allow Anaconda support also happened during the last week, as well as a fix to a possibly severe bug that one is however not really likely to see with non-devel Fedora repos:
0.4.3 Release Notes
This is an early release to get the latest DNF out with the latest librepo fixing the Too many open files bug.
In Fedora, the spec file has been updated to no longer depend on precise versions of the libraries so in the future they can be released independently.
This release sees the finished refactoring in error handling during basic
operations and adds support for group remove
and group info
commands,
i.e. the following two bugs:
0.4.2 Release Notes
DNF now downloads packages for the transaction in parallel with progress bars updated to effectively represent this. Since so many things in the downloading code were changing, we figured it was a good idea to finally drop urlgrabber dependency at the same time. Indeed, this is the first version that doesn’t require urlgrabber for neither build nor run.
Similarly, since librepo started to support this, downloads in DNF now use the fastest mirrors available by default.
The option to specify repositories’ costs has been readded.
Internally, DNF has seen first part of ongoing refactorings of the basic operations (install, update) as well as a couple of new API methods supporting development of extensions.
These bugzillas are fixed in 0.4.2:
0.4.1 Release Notes
The focus of this release was to support our efforts in implementing the DNF
Payload for Anaconda, with changes on the API side of things (better logging,
new Base.reset()
method).
Support for some irrelevant config options has been dropped (kernelpkgnames
,
exactarch
, rpm_check_debug
). We also no longer detect metalinks in the
mirrorlist
option (see Fedora bug 948788).
DNF is on its way to drop the urlgrabber dependency and the first set of patches towards this goal is already in.
Expect the following bugs to go away with upgrade to 0.4.1:
0.4.0 Release Notes
The new minor version brings many internal changes to the comps code, most comps parsing and processing is now delegated to libcomps by Jindřich Luža.
The overwrite_groups
config option has been dropped in this version and DNF
acts if it was 0, that is groups with the same name are merged together.
The currently supported groups commands (group list
and group install
)
are documented on the manpage now.
The 0.4.0 version is the first one supported by the DNF Payload for Anaconda and
many changes since 0.3.11 make that possible by cleaning up the API and making
it more sane (cleanup of yumvars
initialization API, unifying the RPM
transaction callback objects hierarchy, slimming down dnf.rpmUtils.arch
,
improved logging).
Fixes for the following are contained in this version:
0.3.11 Release Notes
The default multilib policy configuration value is best
now. This does not
pose any change for the Fedora users because exactly the same default had been
previously achieved by a setting in /etc/dnf/dnf.conf
shipped with the
Fedora package.
An important fix to the repo module speeds up package downloads again is present in this release. The full list of fixes is:
0.3.10 Release Notes
The only major change is that skip_if_unavailable
is enabled by
default now.
A minor release otherwise, mainly to get a new version of DNF out that uses a fresh librepo. The following issues are now a thing of the past:
0.3.9 Release Notes
This is a quick bugfix release dealing with reported bugs and tracebacks:
0.3.8 Release Notes
A new locking module has been integrated in this version, clients should see the message about DNF lock being taken less often.
Panu Matilainen has submitted many patches to this release to cleanup the RPM interfacing modules.
The following bugs are fixed in this release:
0.3.7 Release Notes
This is a bugfix release:
0.3.6 Release Notes
This is a bugfix release, including the following fixes:
0.3.5 Release Notes
Besides few fixed bugs this version should not present any differences for the user. On the inside, the transaction managing mechanisms have changed drastically, bringing code simplification, better maintainability and better testability.
In Fedora, there is a change in the spec file effectively preventing the
makecache timer from running immediately after installation. The timer
service is still enabled by default, but unless the user starts it manually with
systemctl start dnf-makecache.timer
it will not run until after the first
reboot. This is in alignment with Fedora packaging best practices.
The following bugfixes are included in 0.3.5:
0.3.4 Release Notes
0.3.4 is the first DNF version since the fork from YUM that is able to
manipulate the comps data. In practice, dnf group install <group name>
works
again. No other group commands are supported yet.
Support for librepo-0.0.4
and related cleanups and extensions this new
version allows are included (see the buglist below)
This version has also improved reporting of obsoleted packages in the CLI (the YUM-style “replacing <package-nevra>” appears in the textual transaction overview).
The following bugfixes are included in 0.3.4:
0.3.3 Release Notes
The improvements in 0.3.3 are only API changes to the logging. There is a new
module dnf.logging
that defines simplified logging structure compared to
YUM, with fewer logging levels and simpler usage for the developers. The RPM transaction logs are
no longer in /var/log/dnf.transaction.log
but in /var/log/dnf.rpm.log
by
default.
The exception classes were simplified and moved to dnf.exceptions
.
The following bugs are fixed in 0.3.3:
0.3.2 Release Notes
The major improvement in this version is in speeding up syncing of repositories using metalink by looking at the repomd.xml checksums. This effectively lets DNF cheaply refresh expired repositories in cases where the original has not changed: for instance the main Fedora repository is refreshed with one 30 kB HTTP download. This functionality is present in the current YUM but hasn’t worked in DNF since 3.0.0.
Otherwise this is mainly a release fixing bugs and tracebacks. The following reported bugs are fixed:
0.3.1 Release Notes
0.3.1 brings mainly changes to the automatic metadata synchronization. In
Fedora, dnf makecache
is triggered via SystemD timers now and takes an
optional background
extra-argument to run in resource-considerate mode (no
syncing when running on laptop battery, only actually performing the check at
most once every three hours). Also, the IO and CPU priorities of the
timer-triggered process are lowered now and shouldn’t as noticeably impact the
system’s performance.
The administrator can also easily disable the automatic metadata updates by setting metadata_timer_sync to 0.
The default value of metadata_expire was increased from 6 hours to 48 hours. In Fedora, the repos usually set this explicitly so this change is not going to cause much impact.
The following reported issues are fixed in this release:
Bug 916657 - dnf remove wants to downgrade packages; fails on transaction check
Bug 922521 - DNF crashes when passing packages to it via pipe
Bug 926871 - [abrt] download_packages:AttributeError: ‘Repo’ object has no attribute ‘cache’
Bug 878826 - [rfe] dnf could use systemd timer unit rather than crontabs
Bug 922664 - an option for disabling the regular metadata sync
Bug 892064 - hourly dnf makecache too frequent, also consider using ionice
Bug 919769 - dnf runs makecache hourly despite laptop power state