Home Explore Blog Models CI



nixpkgs

3rd chunk of `nixos/doc/manual/release-notes/rl-2003.section.md`
8a42b4fc7ec5cc9c7f1aeb2c746b81f74387278a9552de960000000100001017
- `./services/web-apps/grocy.nix`

- `./services/web-apps/ihatemoney`

- `./services/web-apps/moinmoin.nix`

- `./services/web-apps/trac.nix`

- `./services/web-apps/trilium.nix`

- `./services/web-apps/shiori.nix`

- `./services/web-servers/ttyd.nix`

- `./services/x11/picom.nix`

- `./services/x11/hardware/digimend.nix`

- `./services/x11/imwheel.nix`

- `./virtualisation/cri-o.nix`

## Backward Incompatibilities {#sec-release-20.03-incompatibilities}

When upgrading from a previous release, please be aware of the following incompatible changes:

- The dhcpcd package [ does not request IPv4 addresses for tap and bridge interfaces anymore by default](https://roy.marples.name/archives/dhcpcd-discuss/0002621.html). In order to still get an address on a bridge interface, one has to disable `networking.useDHCP` and explicitly enable `networking.interfaces.<name>.useDHCP` on every interface, that should get an address via DHCP. This way, dhcpcd is configured in an explicit way about which interface to run on.

- GnuPG is now built without support for a graphical passphrase entry by default. Please enable the `gpg-agent` user service via the NixOS option `programs.gnupg.agent.enable`. Note that upstream recommends using `gpg-agent` and will spawn a `gpg-agent` on the first invocation of GnuPG anyway.

- The `dynamicHosts` option has been removed from the [NetworkManager](options.html#opt-networking.networkmanager.enable) module. Allowing (multiple) regular users to override host entries affecting the whole system opens up a huge attack vector. There seem to be very rare cases where this might be useful. Consider setting system-wide host entries using [networking.hosts](options.html#opt-networking.hosts), provide them via the DNS server in your network, or use [environment.etc](options.html#opt-environment.etc) to add a file into `/etc/NetworkManager/dnsmasq.d` reconfiguring `hostsdir`.

- The `99-main.network` file was removed. Matching all network interfaces caused many breakages, see [\#18962](https://github.com/NixOS/nixpkgs/pull/18962) and [\#71106](https://github.com/NixOS/nixpkgs/pull/71106).

  We already don't support the global [networking.useDHCP](options.html#opt-networking.useDHCP), [networking.defaultGateway](options.html#opt-networking.defaultGateway) and [networking.defaultGateway6](options.html#opt-networking.defaultGateway6) options if [networking.useNetworkd](options.html#opt-networking.useNetworkd) is enabled, but direct users to configure the per-device [networking.interfaces.\<name\>....](options.html#opt-networking.interfaces) options.

- The stdenv now runs all bash with `set -u`, to catch the use of undefined variables. Before, it itself used `set -u` but was careful to unset it so other packages' code ran as before. Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.

- The SLIM Display Manager has been removed, as it has been unmaintained since 2013. Consider migrating to a different display manager such as LightDM (current default in NixOS), SDDM, GDM, or using the startx module which uses Xinitrc.

- The Way Cooler wayland compositor has been removed, as the project has been officially canceled. There are no more `way-cooler` attribute and `programs.way-cooler` options.

- The BEAM package set has been deleted. You will only find there the different interpreters. You should now use the different build tools coming with the languages with sandbox mode disabled.

- There is now only one Xfce package-set and module. This means that attributes `xfce4-14` and `xfceUnstable` all now point to the latest Xfce 4.14 packages. And in the future NixOS releases will be the latest released version of Xfce available at the time of the release's development (if viable).

- The [phpfpm](options.html#opt-services.phpfpm.pools) module now sets `PrivateTmp=true` in its systemd units for better process isolation. If you rely on `/tmp` being shared with other services, explicitly override this by setting `serviceConfig.PrivateTmp` to `false` for each phpfpm unit.

Title: NixOS 20.03: Important Backward Incompatibilities and Service Updates
Summary
This section concludes the list of new services added in NixOS 20.03, including various web applications, X11 utilities, and virtualisation tools like `cri-o`. It then details several backward incompatibilities for users upgrading to 20.03. Key changes include `dhcpcd` no longer requesting IPv4 addresses for tap/bridge interfaces by default, GnuPG dropping graphical passphrase entry (favoring `gpg-agent`), the removal of NetworkManager's `dynamicHosts` option for security, and the deprecation of the `99-main.network` file. Furthermore, the `stdenv` now enforces `set -u` for all bash scripts, the unmaintained SLIM Display Manager and the canceled Way Cooler compositor have been removed, the BEAM package set is deleted, and Xfce now has a single, unified package set. Finally, `phpfpm` systemd units now default to `PrivateTmp=true` for enhanced isolation.