# Changes in DNF-2 compared to DNF-1

## CLI changes

### Reintroduction of YUM's configuration options `includepkgs` and `excludepkgs`

Due to a better compatibility with YUM, configuration options `include` and `exclude` were replaced by the original options includepkgs and excludepkgs.

### DNF group install `--with-optional` option

Installation of optional packages of group is changed from subcommand `with-optional` to option `--with-optional`.

## Python API changes

### All non-API methods and attributes are private

Warning

All non-API methods and attributes of documented modules are now private in order to accomplish more distinguishable API.

### Following API methods accept different arguments

1. `dnf.Base.add_remote_rpms()`

2. `dnf.Base.group_install()`

3. `dnf.cli.Command.configure()`

4. `dnf.cli.Command.run()`

5. `dnf.Plugin.read_config()`