<section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-release-20.03">
 <title>Release 20.03 (“Markhor”, 2020.03/??)</title>

 <section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-release-20.03-highlights">
  <title>Highlights</title>

  <para>
   In addition to numerous new and upgraded packages, this release has the
   following highlights:
  </para>

  <itemizedlist>
   <listitem>
    <para>
     Support is planned until the end of October 2020, handing over to 20.09.
    </para>
   </listitem>
   <listitem>
    <para>
     Postgresql for NixOS service now defaults to v11.
    </para>
   </listitem>
   <listitem>
    <para>
     The graphical installer image starts the graphical session automatically.
     Before you'd be greeted by a tty and asked to enter <command>systemctl start display-manager</command>.
     It is now possible to disable the display-manager from running by selecting the <literal>Disable display-manager</literal>
     quirk in the boot menu.
    </para>
   </listitem>
   <listitem>
     <para>
       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 <varname>services.zfs.trim.enable</varname> varname.
       The zfs scrub service (<varname>services.zfs.autoScrub.enable</varname>)
       and the zfs autosnapshot service (<varname>services.zfs.autoSnapshot.enable</varname>)
       are now only enabled if zfs is set in <varname>config.boot.initrd.supportedFilesystems</varname> or
       <varname>config.boot.supportedFilesystems</varname>. These lists will automatically contain
       zfs as soon as any zfs mountpoint is configured in <varname>fileSystems</varname>.
     </para>
   </listitem>
   <listitem>
    <para>
      <command>nixos-option</command> has been rewritten in C++, speeding it up, improving correctness,
      and adding a <option>--all</option> option which prints all options and their values.
    </para>
   </listitem>
  </itemizedlist>
 </section>

 <section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-release-20.03-new-services">
  <title>New Services</title>

  <para>
   The following new services were added since the last release:
  </para>

  <itemizedlist>
   <listitem>
    <para />
   </listitem>
  </itemizedlist>

 </section>

 <section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-release-20.03-incompatibilities">
  <title>Backward Incompatibilities</title>

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

  <itemizedlist>
   <listitem>
    <para>
      GnuPG is now built without support for a graphical passphrase entry
      by default. Please enable the <literal>gpg-agent</literal> user service
      via the NixOS option <literal>programs.gnupg.agent.enable</literal>.
      Note that upstream recommends using <literal>gpg-agent</literal> and
      will spawn a <literal>gpg-agent</literal> on the first invocation of
      GnuPG anyway.
    </para>
   </listitem>
   <listitem>
    <para>
     The <literal>dynamicHosts</literal> option has been removed from the
     <link linkend="opt-networking.networkmanager.enable">networkd</link>
     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
     <link linkend="opt-networking.hosts">networking.hosts</link>, provide
     them via the DNS server in your network, or use
     <link linkend="opt-environment.etc">environment.etc</link>
     to add a file into <literal>/etc/NetworkManager/dnsmasq.d</literal>
     reconfiguring <literal>hostsdir</literal>.
    </para>
   </listitem>
   <listitem>
    <para>
      The <literal>99-main.network</literal> file was removed. Maching all
      network interfaces caused many breakages, see
      <link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
        and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
    </para>
    <para>
      We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
      <link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
      <link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
      if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
      but direct users to configure the per-device
      <link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
    </para>
   </listitem>
  </itemizedlist>
 </section>

 <section xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
         xml:id="sec-release-20.03-notable-changes">
  <title>Other Notable Changes</title>

  <itemizedlist>
   <listitem>
     <para>SD images are now compressed by default using <literal>bzip2</literal>.</para>
   </listitem>
   <listitem>
    <para>
     OpenSSH has been upgraded from 7.9 to 8.1, improving security and adding features
     but with potential incompatibilities.  Consult the
     <link xlink:href="https://www.openssh.com/txt/release-8.1">
     release announcement</link> for more information.
    </para>
   </listitem>
  </itemizedlist>
 </section>
</section>
