DNF 1.0.2 released

Finally there’s the new release of DNF which fixes the bugs which were highly demanded from Fedora community (former yum users). When a transaction is not successfully finished DNF preserves downloaded packages until the next successful transaction. The resolution configuration hints are printed to the output and user is notified which packages were skipped during update in case there are conflicts. The new –repofrompath switch was added and many more.

Yum is dead, long live DNF

Do you wonder why you don’t have yum package installed on the Fedora 22 clean installation and why you get warnings when calling /usr/bin/yum executable or any yum-util plugin about deprecation of Yum? You see right, Yum is gone. Literally. And DNF is the new default Fedora package manager.

DNF is fork of Yum with the state-of-art SAT-based dependency solver and was supposed to replace Yum in Fedora 22. Now with the release of DNF version 1.0  it is the time to fulfill this destiny. This radical change was inevitable. Yum would not survive the “Python 3 as default” Fedora initiative meanwhile DNF is able to run on Python 2 and Python 3. Command line interface was preserved when it made logical sense of command semantic. Fortunately DNF Python API is completely different from Yum. All known incompatibilities between these two projects are documented. In Fedora 22 Core is DNF only and Yum is officially considered dead project. If anyone wants to download Yum she or he can. The package is still called the same and Python API remains for the time being. Just the yum executable file was renamed to yum-deprecated, and yum calls from command line are redirected to DNF. This way you can maintain both Yum and DNF on the system at the same time.

The reason of initiating DNF project was because of the biggest three pitfalls of Yum: undocumented API,  broken dependency solving algorithm and inability to refactor internal functions. The last mentioned issue is connected with the lack of documentation. Yum plugins are using any method from Yum code base thus any change there would cause the sudden crash of the Yum utility. The DNF aim was to avoid mistakes made in Yum. From the start all exposed API functions were properly documented. The tests were included with almost every new commit. No quick and dirty hacks are allowed. The project is directed by agile development – the features that have the greatest impact on users are operatively implemented with higher priority.

Nowadays DNF team is working on porting the rest of popular plugins from Yum to DNF and improving the user experience. To make the switch for you a little easier we have implemented DNF migration plugin for importing installed packages, groups and transaction metadata from Yum to the new Fedora package manager. Happy transition and enjoy the DNF ride!

Jan Silhan, by DNF team

DNF 0.6.5 and DNF-PLUGINS-CORE 0.1.6 Released

Good news, everyone. New version of DNF and DNF-PLUGINS-CORE was built for F22 and F23. The documentation of yum and DNF differences was extended by yum plugin alternatives part and erase command  was deprecated in favor of remove command name. DNF is getting more and more stable with 20 bug fixes while DNF-PLUGINS-CORE 0.1.6 newly adds Config manager.

With regard to packaging changes, DNF is running on Python 3 from F23 and dnf-yum compatible subpackage does not conflict with yum anymore. Read more on release notes of DNF and plugins.