• Added yum repository caching which performs regular cleans for files more than one week old. This expiry period can be modified with the environment variable RPMDEPLINT_EXPIRY_SECONDS.
  • The rpmdeplint.DependencyAnalyzer class no longer needs to be “entered” as a context manager. The class still supports the context manager protocol as a no-op for backwards compatibility.


  • Fixed handling of the xml:base attribute in repodata. Previously, if a repo used xml:base to refer to packages stored at a different URL, rpmdeplint would fail to download them when it performed conflict checking (RHBZ#1448768).
  • If a package fails to download, a clean error message is now reported. Previously this would result in an unhandled exception, which triggered abrt handling (RHBZ#1423678).
  • Fixed usage message when no subcommand is given on Python 3.3+ (RHBZ#1445990).


  • If you are testing only noarch packages, you must now explicitly pass the --arch option to specify the target architecture you are testing against. Previously the checks would run but produce nonsensical results (RHBZ#1392635).
  • The check for undeclared file conflicts has been improved:
    • File conflicts are not reported if the two conflicting packages cannot be installed together due to Requires relationships (RHBZ#1412910).
    • It no longer downloads every potentially conflicting package to check. Only the first potential conflict is checked, to avoid downloading a very large number of packages for commonly shared paths such as /usr/lib/debug (RHBZ#1400722).
  • A more informative exception is now raised when downloading repodata fails.
  • Added a --version option to print the installed version of rpmdeplint.


  • Added a new option --repos-from-system for testing against repositories from the system-wide Yum/DNF configuration.
  • Conflict checking now works correctly with RPM 4.11 (as found on Red Hat Enterprise Linux 7 and derivatives). Previously it was relying on an API only present in RPM 4.12+.
  • Fixed spurious errors/warnings from check-repoclosure when the arch of the packages being tested did not match the host architecture where rpmdeplint was run (RHBZ#1378253).


  • Added check-upgrade command, to ensure that the given packages are not upgraded or obsoleted by an existing package in the repository.
  • Added check-repoclosure command, to check whether repository dependencies can still be satisfied with the given packages.
  • Added check command which performs all the different checks.
  • The command-line interface now uses a specific exit status (3) to indicate that a check has failed, so that it can be distinguished from other error conditions.


  • Initial release. Supports checking dependency satisfiability and undeclared file conflicts.