Releases: rpm-software-management/dnf5
Releases Β· rpm-software-management/dnf5
5.2.17.0
- Update translations from weblate
- Add
repomanageplugin - 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
libdnf5list plugins on--versionparameter - 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
replayto 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
shellcmd superseded bydocmd - 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
--storeoption: 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
- 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
SetConstIteratorworks 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
- 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_DIRvariable - 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
- Update translations from weblate
- Unify system state module saving
- Make system state files writing more robust
- Add
Basetosystem::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-Busname 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_downloadsdoc, it now affects also repo downloads - Remove no longer needed
RepoDownloader::perform - Use new RepoDownloader API to download repo descriptions
- Add new
RepoDownloaderAPI to donwload only repomd/metalink - Rename
end_cbtoend_cb_full_download, there will be more end cbs - Move
lr_targets tocallback_dataand move setup toadd - Name
load_repofunction type and addreusingoption - Extract
librepohandle dlist configuration - Extract error handling of
RepoDownloader::download()report - Turn
handle_repo_exceptiontostaticRepoSack::Implmethod - 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_metadataAPI withAddandDownload - Update users of
RepoDownloaderto match new API - Rework is_repomd_in_sync and is_metalink_in_sync to use new perform
- Make
RepoDownloader::performstatic and rework callbacks - Convert several of
RepoDownloadermethods that to static ones - Extract callback data from
RepoDownloader - Remove unused
RepoDownloaderdefines - Split
DownloadDataout ofRepoDownloader - 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_ZCHUNKoption - 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
5.2.13.0
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
--colorflag by @alimirjamali in #1750 - Add
-iand-fshoft 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_passwordmessage 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 listwith 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 cleanby @alimirjamali in #2175 - Disallow
dnf download non-sensewithout--skip-unavailableby @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
- @nikita-dubrovskii made their first contribution in #2188
Full Changelog: 5.2.12.0...5.2.13.0
5.2.12.0
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
baseinCoprRepoby @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
- @katexochen made their first contribution in #2125
- @nikromen made their first contribution in #2081
Full Changelog: 5.2.11.0...5.2.12.0
5.2.11.0
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
pluginpathby @kontura in #2060 - Document
listcommand 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_unavailableby @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
- @imciner2 made their first contribution in #2063
- @realsobek made their first contribution in #2114
- @dcantrell made their first contribution in #2100
Full Changelog: 5.2.10.0...5.2.11.0
5.2.10.0
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
- 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 infowithout trans IDs when no match found - Add
--contains-pkgs=..option tohistorylistandinfo - During package download setup first add all downloads then handle local
- Enhance
perform_control_sequences()to handle colors - versionlock: Fix wildcards handling in
addcommand - 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