Skip to content
0.75.0

Enhancements:

- context: Support libdnf5 drop-in directories and repository overrides. This
  allows applications using the context part of libdnf (e.g.  microdnf,
  PackageKit) to take into account the main configuration from drop-in
  directories and repository overrides, similar to how libdnf5 does.
  These directories are also monitored for changes (except when using non-root
  installroot path.)
  This feature can be disabled at build time (ENABLE_DNF5_CONF_DROP_IN,
  ENABLE_DNF5_CONF_REPOS_OVERRIDE CMake options).
- context: dnf_context_set_install_root() now sets installroot also to global
  mainConf configuration.
- IniParser: Support glob range definition in section names
- history database: Add "persistence" column (possible values are UNKNOWN,
  PERSIST, or TRANSIENT).
- conf: Add usr_drift_protected_paths configuration option which can be
  configured by adding .conf files to the drop-in directory
  /etc/dnf/usr-drift-protected-paths.d, similar to /etc/dnf/protected.d.
  Distributions will be able to add paths that are known to cause problems
  when their contents drift with respect to /usr, e.g. /etc/pam.d.

Changes:

- context: Save repository configuration with dnf_repo_commit() to override file.
  Previously, repository configuration changes were written directly to the
  original configuration file. Now they are written to the overwrite file
  "99-config_manager.repo" for compatibility with the dnf5 config-manager.
- config: Convert "protected_packages" to an append option

Bug fixes:

- Don't prepend installroot to varsdir in libdnf::dnf_context_load_vars()
- Fix file name comparison in filesystem::createSortedFileList()
- Stop importing subkeys to RPM >= 5.99.90 because RPM 6 handles subkeys
  automatically.
- Fix typos in messages in package problems dictionary
- build: Fix searching libdnf header files when generating bindings with Swig
- build: Don't probe for libcheck dependency if no tests are going to be built
- spec: Consistently use CMake RPM macros
- tests: Replace deprecated "check" macros
- tests: Verify "fopen" return value otherwise we could crash

Internal changes:

- New functions filesystem::pathJoin(), filesystem::createSortedFileList(),
  filesystem::getRealpath(), filesystem::isSubdirectory().
- Add libdnf::MergedTransaction::listPersistences() method.
- Always use result config.optBinds() by reference, not copy
- Remove unused functions with a bug
- config: Support optionTListAppend for options lacking fromString