# Release 20.03 ("Markhor", 2020.04/20) {#sec-release-20.03}
## Highlights {#sec-release-20.03-highlights}
In addition to numerous new and upgraded packages, this release has the following highlights:
- Support is planned until the end of October 2020, handing over to 20.09.
- Core version changes:
gcc: 8.3.0 -\> 9.2.0
glibc: 2.27 -\> 2.30
linux: 4.19 -\> 5.4
mesa: 19.1.5 -\> 19.3.3
openssl: 1.0.2u -\> 1.1.1d
- Desktop version changes:
plasma5: 5.16.5 -\> 5.17.5
kdeApplications: 19.08.2 -\> 19.12.3
gnome3: 3.32 -\> 3.34
pantheon: 5.0 -\> 5.1.3
- Linux kernel is updated to branch 5.4 by default (from 4.19).
- Grub is updated to 2.04, adding support for booting from F2FS filesystems and Btrfs volumes using zstd compression. Note that some users have been unable to boot after upgrading to 2.04 - for more information, please see [this discussion](https://github.com/NixOS/nixpkgs/issues/61718#issuecomment-617618503).
- Postgresql for NixOS service now defaults to v11.
- The graphical installer image starts the graphical session automatically. Before you'd be greeted by a tty and asked to enter `systemctl start display-manager`. It is now possible to disable the display-manager from running by selecting the `Disable display-manager` quirk in the boot menu.
- GNOME 3 has been upgraded to 3.34. Please take a look at their [Release Notes](https://help.gnome.org/misc/release-notes/3.34) for details.
- If you enable the Pantheon Desktop Manager via [services.xserver.desktopManager.pantheon.enable](options.html#opt-services.xserver.desktopManager.pantheon.enable), we now default to also use [ Pantheon's newly designed greeter ](https://blog.elementary.io/say-hello-to-the-new-greeter/). Contrary to NixOS's usual update policy, Pantheon will receive updates during the cycle of NixOS 20.03 when backwards compatible.
- By default zfs pools will now be trimmed on a weekly basis. Trimming is only done on supported devices (i.e. NVME or SSDs) and should improve throughput and lifetime of these devices. It is controlled by the `services.zfs.trim.enable` varname. The zfs scrub service (`services.zfs.autoScrub.enable`) and the zfs autosnapshot service (`services.zfs.autoSnapshot.enable`) are now only enabled if zfs is set in `config.boot.initrd.supportedFilesystems` or `config.boot.supportedFilesystems`. These lists will automatically contain zfs as soon as any zfs mountpoint is configured in `fileSystems`.
- `nixos-option` has been rewritten in C++, speeding it up, improving correctness, and adding a `-r` option which prints all options and their values recursively.
- `services.xserver.desktopManager.default` and `services.xserver.windowManager.default` options were replaced by a single [services.xserver.displayManager.defaultSession](options.html#opt-services.xserver.displayManager.defaultSession) option to improve support for upstream session files. If you used something like:
```nix
{
services.xserver.desktopManager.default = "xfce";
services.xserver.windowManager.default = "icewm";
}
```
you should change it to:
```nix
{
services.xserver.displayManager.defaultSession = "xfce+icewm";
}
```
- The testing driver implementation in NixOS is now in Python `make-test-python.nix`. This was done by Jacek Galowicz ([\@tfc](https://github.com/tfc)), and with the collaboration of Julian Stecklina ([\@blitz](https://github.com/blitz)) and Jana Traue ([\@jtraue](https://github.com/jtraue)). All documentation has been updated to use this testing driver, and a vast majority of the 286 tests in NixOS were ported to python driver. In 20.09 the Perl driver implementation, `make-test.nix`, is slated for removal. This should give users of the NixOS integration framework a transitory period to rewrite their tests to use the Python implementation. Users of the Perl driver will see this warning everytime they use it:
```ShellSession
$ warning: Perl VM tests are deprecated and will be removed for 20.09.