Skip to content

Releases: rpm-software-management/dnf5

5.2.17.0

02 Sep 07:14

Choose a tag to compare

  • Update translations from weblate
  • Add repomanage plugin
  • dnf5daemon-server: Allow RPM key import without password prompt for wheel users
  • doc: Add Tutorial: API changes between DNF and DNF5
  • test: Add tests for code examples for API changes tutorial
  • doc: Format API changes as paragraphs instead of sections
  • test: Keep the same working directory when running python tutorial tests
  • Introduces libdnf5 list plugins on --version parameter
  • cli: Fix use-after-free in NamedArg::parse_short
  • cli: Fix use-after-free issue in CommandAlias
  • libdnf5: Don't double format a transaction error
  • Unify docs for shared transactions options: --offline and --store
  • Add replay to the hardcoded set of commands that require privileges
  • All commands that compose a transaction should support offline and store
  • doc: Add a chapter about migrating to dnf5
  • doc: changes_from_dnf4: Info about shell cmd superseded by do cmd
  • DNF5: Documentation for "do" command
  • dnf5: Move create(_installed)_from_repo_option to public API
  • dnf5: builddep: Argument "--from-repo"
  • dnf5daemon-server: Correct repo::confirm_key_with_options D-Bus signature
  • --store option: override keepcache option not to remove packages
  • doc: fix references to dnf5.conf(5)
  • Replace locale-dependent std::isalnum checks
  • repo: Correctly URL-encode packages locations
  • test: Add unit tests for common/utils/url
  • utils: New url_path_encode() function
  • utils: Add url_decode() function
  • Move url_encode() to libdnf5::utils::url
  • dnfdaemon: Obey downloader D-Bus signal signature

5.2.16.0

07 Aug 19:18

Choose a tag to compare

  • Update translations from weblate
  • Bump minor version to 5.2.16
  • dnfdaemon: Enable download-only transaction execution
  • dnfdaemon: Make it possible to set 'interactive' option for Rpm::system_upgrade()
  • dnfdaemon: Make it possible to set 'interactive' option for Offline::cancel(), Offline::clean(), Offline::set_finish_action()
  • dnfdaemon: Make it possible to set 'interactive' option for Repo::confirm_key(), Repo::enable(), Repo::disable()
  • dnfdaemon: Make it possible to set 'interactive' option for Goal::do_transaction()
  • dnfdaemon: Make it possible to set 'interactive' option for Base::clean()
  • test: Add test for temp files toml with missing key
  • repo: Do not fail on empty temporary files toml
  • actions: Replace L10N_SSH_KEY secret with RSM CI GitHub token
  • dnf5: Support --installed-from-repo= for "do"
  • Disable fastest_mirror callback for package downloading
  • Copy return value from SetConstIterator::operator*
  • tests: verify SetConstIterator works in Python bindings
  • test_nevra.py: change formatting to satisfy autopep8
  • Fix various typos found by Lintian
  • tests: fix compat with dash and other shellcheck warnings
  • dnf5: Support --installed-from-repo= for swap
  • dnf5: Support --installed-from-repo= for upgrade/downgrade/distro-sync
  • Goal: add_rpm_(upgrade/distro_sync) Improve support from_repo_ids
  • Goal: Honor set_from_repo_ids in add_up_down_distrosync_to_goal
  • dnf5: Support --installed-from-repo= for reinstall/remove
  • Goal: Honor set_from_repo_ids in add_(remove,reinstall)_to_goal
  • dnf5: Support --installed-from-repo= for repoquery/list/info
  • rpm::PackageQuery: New filter "filter_from_repo_id"
  • dnf5: "--from-repo=" option enables and validates source repositories
  • Goal::Impl::add_install_to_goal: Fix to_repo_ids handling
  • dnf5: upgrade/distro-sync: Apply --from-repo only if pkgs are specified
  • Goal::Impl::add_specs_to_goal: Skip processing of empty query in ALL
  • Goal::Impl::add_specs_to_goal: Apply to_repo_ids settings in ALL
  • Add unit tests for nevra parsing
  • swig: Add bindings for templated functions that convert nevra to string

5.2.15.0

11 Jul 11:41

Choose a tag to compare

  • Update translations from weblate
  • Adapt missing gpg key check for parallel downloading
  • repoclosure: skip rich dependencies
  • search: Do not separate a package from a summary with a colon
  • Fix: add_up_down_distrosync_to_goal: to_repo_ids filtering
  • dnf5: distro-sync: Argument "--from-repo"
  • swig: Add %thread directive for repo_sack.hpp for Python
  • dnfdaemon: Fix a crash under dnf5daemon::DownloadCB::create_signal_download()
  • Add dnf5daemon-server requirement for polkit subpkg
  • doc: Correct handling the translations
  • dnfdaemon-client: Call server methods asynchronously
  • offline: Require D-Bus socket service from dnf5-offline-transaction.service
  • offline: Perform gracefull powerof/reboot instead of immediate one
  • readthedocs: add swig include to fix doc builds
  • readthedocs: extract SOURCE_DIR variable
  • readthedocs: fix path joining
  • dnfdaemon: Make permission check more consistent
  • dnfdaemon: Removed incorrect output parameter names
  • dnfdaemon: support all_advisories option for recent_changes()
  • advisory: Add support for filtering advisories by Nevra
  • dnfdaemon: support installonly pkgs in recent_changes()
  • dnfdaemon: Add new History interface
  • dnf5: repoclosure: Support globs in "--check=" option
  • doc: Handling translations
  • Docs: enhance install command behavior description
  • Unify commands help with package specs
  • Introduce new format denoting package spec formats
  • test: ease path assertions in tests

5.2.14.0

20 Jun 08:22

Choose a tag to compare

  • Update translations from weblate
  • Unify system state module saving
  • Make system state files writing more robust
  • Add Base to system::State
  • automatic: Expand emit_via in command_email emitter to individual arguments
  • ci: Remove "Package Build" GitHub Action
  • [dnf5] cmdline_aliases: Fix TOML syntax err msg in build TOML11_COMPAT
  • doc: aliases: switch code-block language from 'none' to 'TOML'
  • cmdline_aliases: Support values consumed by command aliases
  • dnf5: Add support for localization of aliases
  • dnf5 cmdline_aliases: Print warnings to stderr
  • dnf5 cmdline_aliases: Localize printed error messages
  • dnf5 cmdline_aliases: Unify use of BasicValue type
  • dnf5 cmdline_aliases: Refactor to use shared location functions
  • Mark dnf5daemon-server-polkit as noarch
  • doc: Correct a typo in dnf-nightly repository URL
  • automatic: email emitter: Do not use fractional seconds in e-mail Date headers
  • Unify D-Bus name formatting
  • Expose dnf_daemon dbus Python example in docs
  • dnf5: download: Argument "--from-repo"
  • dnf5: install/upgrade/reinstall/downgrade/swap: Argument "--from-repo"
  • reposync: Spell "GPG" as "OpenPGP" in the usage text
  • Update max_parallel_downloads doc, it now affects also repo downloads
  • Remove no longer needed RepoDownloader::perform
  • Use new RepoDownloader API to download repo descriptions
  • Add new RepoDownloader API to donwload only repomd/metalink
  • Rename end_cb to end_cb_full_download, there will be more end cbs
  • Move lr_targets to callback_data and move setup to add
  • Name load_repo function type and add reusing option
  • Extract librepo handle dlist configuration
  • Extract error handling of RepoDownloader::download() report
  • Turn handle_repo_exception to static RepoSack::Impl method
  • dnf5: Reset cursor and formatting after SIGINT
  • dnf5daemon: Fix a missing reset method if built with sdbus-s++ version 2
  • pre-commit: Exclude .tito/tito.props from check-xml
  • Add missing interfaces and re-order interfaces in a more logical order
  • changes_from_dnf4: makecache doesn't always refresh
  • Honor per-repo pgp_gpgcheck=0 even in rpm's enforcing signature mode
  • doc: --use-host-config instead of --releasever=/
  • dnf5: Command "do": New argument "--from-repo"
  • dnf5: Command "do"
  • dnfdaemon: Add Polkit rule to allow wheel users to run transactions
  • dnfdaemon: Split-off polkit policy for trusted transactions
  • doc: Document '\n' sequence in repoquery --queryformat string
  • Include dnf-nightly in testing farm testing jobs
  • Require new librepo which has fix API for parallel downloads
  • Use new API for parallel downloading
  • Replace download_metadata API with Add and Download
  • Update users of RepoDownloader to match new API
  • Rework is_repomd_in_sync and is_metalink_in_sync to use new perform
  • Make RepoDownloader::perform static and rework callbacks
  • Convert several of RepoDownloader methods that to static ones
  • Extract callback data from RepoDownloader
  • Remove unused RepoDownloader defines
  • Split DownloadData out of RepoDownloader
  • Include dnf-nightly in packit copr builds
  • Fix clang build by disabling ruby deprecation warning
  • Fix package build workflow: use code from the tested PR
  • doc: Advisory filters can cause transaction commands to fail
  • dnf5: Strict handling of --bzs and --cves options
  • Add NOT_FOUND_IN_ADVISORIES to resolve log for UPGRADE_ALL
  • goal: Report specs filtered out by advisories
  • dnf5: Strict handling of --advisories=... option
  • dnf5: --no-gpgchecks overrides localpkg_gpgcheck
  • I18N: Do not glue sentences in offline command messages
  • Remove unused WITH_ZCHUNK option
  • dnfdaemon: Adjust wording of advisory options descriptions
  • dnf5: Adjust wording of advisory options descriptions
  • doc: Clarify advisories filters documentation
  • expired-pgp-keys: Do not use a deprecated way of removing keys with RPM v6
  • doc: "dnf4 config-manager" dropped --dump and --dump-variables options
  • Change scriptlet names to match spec designators
  • README: Mention #dnf IRC channel in first section
  • expired-pgp-keys: Use a temporary GnuPG home directory
  • download: Do not print "Downloading Packages:" header in quiet mode

5.2.13.1

24 Apr 18:00

Choose a tag to compare

  • RepoCacheRemoveStatistics::get_bytes_removed return uintmax_t
  • ci: Use RSM_CI_APP_PRIVATE_KEY in do-release.yaml

5.2.13.0

21 Apr 19:31

Choose a tag to compare

What's Changed

  • spec: Set mode to ghost files by @ppisar in #2140
  • spec: Package CHANGELOG and other project documentation files by @ppisar in #2098
  • Add group and environment excludes by @pkratoch in #2107
  • expired-pgp-keys: Respect install root by @m-blaha in #2147
  • Reimplement --color flag by @alimirjamali in #1750
  • Add -i and -f shoft options for repoquery by @alimirjamali in #2150
  • doc: Environment variables for a terminal and temporary files by @ppisar in #2148
  • doc: DNF_SYSTEM_UPGRADE_NO_REBOOT environment variable by @ppisar in #2151
  • Various fixes for the dnf5.spec file by @m-blaha in #2152
  • expired-pgp-keys: Drop braced initialization to fix clang build by @jan-kolarik in #2145
  • RepoDownloader: remove unused code by @kontura in #2144
  • Ask for superuser privileges on history <undo|redo|rollback> by @alimirjamali in #2149
  • Improve missing proxy_password message by @alimirjamali in #2154
  • solv: Drop the size check from swap_considered_map by @m-blaha in #2163
  • Add missing rpm scriptlet types: sysusers and pre/postuntrans by @pmatilai in #2169
  • Fix invalid hint for unknown short argument by @alimirjamali in #2171
  • dnfdaemon: Allow Base::clean("expire-cache") without admin privileges by @mcrha in #2055
  • spec: Correct libdnf5-plugin-appstream description by @ppisar in #2173
  • comps: Respect the display_order with listing groups and environments by @pkratoch in #2164
  • Fix history list with unknown terminal size by @alimirjamali in #2162
  • spec: Remove a duplicate record for %{_prefix}/lib/sysimage/libdnf5 by @ppisar in #2172
  • Show cleaned space bytes for dnf clean by @alimirjamali in #2175
  • Disallow dnf download non-sense without --skip-unavailable by @alimirjamali in #2174
  • Swig exceptions handling by @jrohel in #2118
  • nevra: Fix description of evrcmp and rpmvercmp functions by @nikita-dubrovskii in #2188
  • comps: Merging packagelists, grouplists and optionlists by @pkratoch in #2156
  • Add group ordering by orider_int to dnf5daemon by @kontura in #2179
  • repo: Log correct path when loading system repo by @m-blaha in #2196
  • Fix conditional which assumed RHEL 10 could support SOLVER_FLAG_FOCUS_NEW by @ppisar in #2194
  • dnfdaemon: Configure separate cache directory by @m-blaha in #2185
  • Release 5.2.13.0 by @github-actions in #2208

New Contributors

Full Changelog: 5.2.12.0...5.2.13.0

5.2.12.0

18 Mar 19:10

Choose a tag to compare

What's Changed

  • Remove a warning from a code about an internal use of "dnf5 offline _execute" by @ppisar in #2123
  • spec: Set cmake minimal version to 3.21 by @ppisar in #2119
  • offline: only define systemd constants when building with systemd by @katexochen in #2125
  • Fix dnf5 copr_plugin: always set base in CoprRepo by @jrohel in #2131
  • Fix a memory leak when looking up for an OpenPGP key in RPM database by @ppisar in #2132
  • Rename dnf5-makecache timer to dnf-makecache when dnf5_obsoletes_dnf by @gordonmessmer in #2092
  • Fix: let copr plugin to respect the installroot option by @nikromen in #2081
  • libdnf5 and libdnf5-cli: Move exception declarations to own header files, unification by @jrohel in #2124
  • spec: Move /usr/lib/sysimage/libdnf5 from dnf5 to libdnf5 by @ppisar in #2137
  • Implement libdnf5::throw_with_nested: throws our nested exception type by @jrohel in #2128
  • CI: Support releasing from stable branches (release-5.2.x.x) by @evan-goode in #2139
  • repo: fix bad GPG error handling by @evan-goode in #2138
  • expired-pgp-keys: Fix checking expiration of keys in RPM database by @ppisar in #2135
  • Release 5.2.12.0 by @github-actions in #2141

New Contributors

Full Changelog: 5.2.11.0...5.2.12.0

5.2.11.0

07 Mar 21:14

Choose a tag to compare

What's Changed

  • Make dnf5 compatible with sdbus-cpp version 2 by @m-blaha in #1888
  • Argument completion without description, Bash completion "menu complete" by @jrohel in #2017
  • plugins: Check if the plugin instantiation was successful by @jrohel in #2043
  • Mark 'Already downloaded' for translations by @kontura in #2030
  • Load SystemState only when required by @kontura in #1996
  • Fix: RepoSack::update_and_load_repos: properly terminate thread_sack_loader on exception by @jrohel in #2054
  • expired-pgp-keys: Install the plugin by default on Fedora 42+ by @jan-kolarik in #2051
  • Plugin API: *_plugin_get_last_exception: Return pointer to last exception by @jrohel in #2052
  • load_plugins: Preserve original exception with failure information by @jrohel in #2057
  • CMake: Use list(APPEND FOO) over set(FOO ${FOO} ...) by @ferdnyc in #2056
  • Fix default value of pluginpath by @kontura in #2060
  • Document list command changed handling of installed packages repos by @kontura in #1998
  • Unify marking of depraceted API, deprications page by @kontura in #2020
  • Fix RepoCache::Impl::remove_recursive: Do not follow symlinks by @jrohel in #2074
  • expired-pgp-keys: Recommend the plugin only if gpg is already installed by @jan-kolarik in #2067
  • libdnf5 Plugin API 2.2, Actions plugin 1.4 by @jrohel in #2068
  • Document the entire API by namespace/module by @kontura in #2076
  • Create a pipe and open files with the close-on-exec flag by @jrohel in #2071
  • Create progress bar in script callback if one doesn't already exist by @imciner2 in #2063
  • Fix total number of transaction progress bars by @jrohel in #2080
  • Actions plugin documentation: extension in version 1.4.0 by @jrohel in #2078
  • l10n: Rename zh_Hans to zh_CN by @ppisar in #2084
  • expired-pgp-keys: Drop checking for gpg command by @jan-kolarik in #2058
  • Enable automatic PR reviews by @jan-kolarik in #2088
  • Fix D-Bus Communication Issues by @m-blaha in #2090
  • doc: Removal of send_error_messages in automatic by @m-blaha in #2096
  • FindRuby no longer provides upper-case RUBY_* variables by @kontura in #2095
  • Add comps upgrade to system upgrade, comps improvements by @kontura in #2086
  • doc: No value separator after short options by @ppisar in #2104
  • repo: ignore key download errors if skip_if_unavailable by @evan-goode in #2094
  • system-upgrade: Add --allowerasing switch by @m-blaha in #2105
  • doc: Document dropping of makecache --timer option by @m-blaha in #2101
  • Use actual repository ID in stored transactions v2 by @m-blaha in #2093
  • Goal: Handle INSTALL and INSTALL_BY_COMPS group actions as INSTALL by @pkratoch in #2106
  • progressbar: Messages printing on narrow terminal by @m-blaha in #2110
  • Goal: Fix handling duplicit group actions by @pkratoch in #2112
  • doc: fix typo by @realsobek in #2114
  • Replace in-tree crc32() with a call to zlib by @dcantrell in #2100
  • Revert "Packit: use GH's release notes for downstream changelog" by @evan-goode in #2113
  • offline transactions: Keep user informed about scriptlet execution by @m-blaha in #2087
  • Release 5.2.11.0 by @github-actions in #2117

New Contributors

Full Changelog: 5.2.10.0...5.2.11.0

5.2.10.0

06 Feb 11:42

Choose a tag to compare

What's Changed

  • utils::format: Support for formatting localized messages (translation, localization of argument format) by @jrohel in #2031
  • Classes common::Message and common::EmptyMessage by @jrohel in #2032
  • expired-pgp-keys: New plugin for detecting expired PGP keys by @jan-kolarik in #1592

Full Changelog: 5.2.9.0...5.2.10.0

5.2.9.0

04 Feb 14:30

Choose a tag to compare

  • Update translations from weblate
  • automatic: Translate end-of-lines in email emitter by DNF
  • ruby: Fix swig namespacing in Ruby.
  • Correct Ruby %module definition in swig files.
  • Documentation enhancements
  • Add a hint to history info without trans IDs when no match found
  • Add --contains-pkgs=.. option to history list and info
  • During package download setup first add all downloads then handle local
  • Enhance perform_control_sequences() to handle colors
  • versionlock: Fix wildcards handling in add command
  • ruby: Implement Enumerable for libdnf5::advisory::AdvisorySet.
  • ruby: Implement Enumerable for libdnf5::rpm::ReldepList.
  • ruby: Implement Enumerable for libdnf5::rpm::PackageSet.
  • Implement each() for iterating over collection in ruby.
  • Add --json output to advisory info
  • I18N: Annotate indentation of the transaction summary
  • libdnf5: Load plugins with RTLD_NODELETE flag set
  • libdnf5: Add a plugin to download and install repo's Appstream data
  • Fix bash completion if colon is in the word to complete
  • Remove and rename global variables in bash completion
  • DNF5 bash completion: Offer package NAMEs in all cases
  • Bash completion: always offer NEVRAs for packages
  • repo: Fix logging metadata download errors handling
  • Copr plugin: Fix resource leak in load_all_configuration
  • Own /var/lib/dnf by libdnf5
  • Display remaining time as nonnegative number
  • automatic: Substitute variables in command_format
  • Bumb readthedocs ubuntu image version to fix the docs generation
  • automatic: add a default setting to not emit boring messages
  • Incorrect library name in libdnf5-cli.pc
  • Fix reporting disk space to be freed on a pure package removal
  • Support ProgressBar messages with wide characters
  • Add padding to ProgressBar messages to avoid overlapping
  • SWIG: support repo::DownloadCallbacks user_data
  • Remove redundant %python_provide statements
  • python3-libdnf5: Remove superfluous provides for python-libdnf
  • Update pre-commit hooks to latest versions in F41