From Fedora Project Wiki

Anaconda DNF wishlist

This is a list of features that Anaconda developers would like have in DNF, based mainly on experience with YUM.

clearly defined & documented API

This one seems to be already handled, as properly defined & documented API is one of DNF design goals.

threadsafe interface

The DNF API should be either threadsafe or it should be documented which parts of the interface are threadsafe and which aren't.

no side effect when reading read-only properties

YUM is notoriously known for RO properties that can change YUMs internal state when read. From a brief discussion with Aleš, RO properties in DNF shouldn't have side effects.

progress hooks

Anaconda needs to be able to report the progress of long-running tasks, so that the user knows what's going on. Therefore all long running tasks should have some sort of a progress hook that Anaconda can use to periodically show current progress to the user.

clean source switching

There have been some issues with YUM keeping hold of a local ISO-based installation source even when told to use another one. This makes it sometimes impossible to cleanly switch between installation sources, as there could be active file descriptors keeping us from unmounting the ISO/the device holding it once we switched away from it.

memory usage

YUM significantly contributes to memory usage, so any reduction would be appreciated. Maybe even some alternative mode that takes longer but uses less RAM, that Anaconda could use on memory starved systems ?

package download retry support

DNF should be able to retry failed package downloads, so that users net-installing over a flacky connections can still finish the installation even if one of the 1000+ packages duirng a normal Fedora install fails to download on the first try.

parallel package download

This could speedup package download - not sure how far YUM & DNF are with supporting this.