<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-19.03"> <title>Release 19.03 (“Koi”, 2019/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-19.03-highlights"> <title>Highlights</title> <para> In addition to numerous new and upgraded packages, this release has the following highlights: </para> <itemizedlist> <listitem> <para> The default Python 3 interpreter is now CPython 3.7 instead of CPython 3.6. <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-19.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-19.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> The minimum version of Nix required to evaluate Nixpkgs is now 2.0. </para> <itemizedlist> <listitem> <para> For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but supports using Nix 1.11 by setting <literal>nix.package = pkgs.nix1;</literal>. If this option is set to a Nix 1.11 package, you will need to either unset the option or upgrade it to Nix 2.0. </para> </listitem> <listitem> <para> For users of NixOS 17.09, you will first need to upgrade Nix by setting <literal>nix.package = pkgs.nixStable2;</literal> and run <command>nixos-rebuild switch</command> as the <literal>root</literal> user. </para> </listitem> <listitem> <para> For users of a daemon-less Nix installation on Linux or macOS, you can upgrade Nix by running <command>curl https://nixos.org/nix/install | sh</command>, or prior to doing a channel update, running <command>nix-env -iA nix</command>. </para> <para> If you have already run a channel update and Nix is no longer able to evaluate Nixpkgs, the error message printed should provide adequate directions for upgrading Nix. </para> </listitem> <listitem> <para> For users of the Nix daemon on macOS, you can upgrade Nix by running <command>sudo -i sh -c 'nix-channel --update && nix-env -iA nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl start org.nixos.nix-daemon</command>. </para> </listitem> </itemizedlist> </listitem> <listitem> <para> The Syncthing state and configuration data has been moved from <varname>services.syncthing.dataDir</varname> to the newly defined <varname>services.syncthing.configDir</varname>, which default to <literal>/var/lib/syncthing/.config/syncthing</literal>. This change makes possible to share synced directories using ACLs without Syncthing resetting the permission on every start. </para> </listitem> <listitem> <para> Package <varname>rabbitmq_server</varname> is renamed to <varname>rabbitmq-server</varname>. </para> </listitem> <listitem> <para> The <literal>light</literal> module no longer uses setuid binaries, but udev rules. As a consequence users of that module have to belong to the <literal>video</literal> group in order to use the executable (i.e. <literal>users.users.yourusername.extraGroups = ["video"];</literal>). </para> </listitem> <listitem> <para> Buildbot now supports Python 3 and its packages have been moved to <literal>pythonPackages</literal>. The options <option>services.buildbot-master.package</option> and <option>services.buildbot-worker.package</option> can be used to select the Python 2 or 3 version of the package. </para> </listitem> <listitem> <para> Options <literal>services.znc.confOptions.networks.<replaceable>name</replaceable>.userName</literal> and <literal>services.znc.confOptions.networks.<replaceable>name</replaceable>.modulePackages</literal> were removed. They were never used for anything and can therefore safely be removed. </para> </listitem> <listitem> <para> Package <literal>wasm</literal> has been renamed <literal>proglodyte-wasm</literal>. The package <literal>wasm</literal> will be pointed to <literal>ocamlPackages.wasm</literal> in 19.09, so make sure to update your configuration if you want to keep <literal>proglodyte-wasm</literal> </para> </listitem> <listitem> <para> OpenSMTPD has been upgraded to version 6.4.0p1. This release makes backwards-incompatible changes to the configuration file format. See <command>man smtpd.conf</command> for more information on the new file format. </para> </listitem> <listitem> <para> The versioned <varname>postgresql</varname> have been renamed to use underscore number seperators. For example, <varname>postgresql96</varname> has been renamed to <varname>postgresql_9_6</varname>. </para> </listitem> <listitem> <para> Package <literal>consul-ui</literal> and passthrough <literal>consul.ui</literal> have been removed. The package <literal>consul</literal> now uses upstream releases that vendor the UI into the binary. See <link xlink:href="https://github.com/NixOS/nixpkgs/pull/48714#issuecomment-433454834">#48714</link> for details. </para> </listitem> <listitem> <para> Slurm introduces the new option <literal>services.slurm.stateSaveLocation</literal>, which is now set to <literal>/var/spool/slurm</literal> by default (instead of <literal>/var/spool</literal>). Make sure to move all files to the new directory or to set the option accordingly. </para> <para> The slurmctld now runs as user <literal>slurm</literal> instead of <literal>root</literal>. If you want to keep slurmctld running as <literal>root</literal>, set <literal>services.slurm.user = root</literal>. </para> <para> The options <literal>services.slurm.nodeName</literal> and <literal>services.slurm.partitionName</literal> are now sets of strings to correctly reflect that fact that each of these options can occour more than once in the configuration. </para> </listitem> <listitem> <para> The <literal>solr</literal> package has been upgraded from 4.10.3 to 7.5.0 and has undergone some major changes. The <literal>services.solr</literal> module has been updated to reflect these changes. Please review http://lucene.apache.org/solr/ carefully before upgrading. </para> </listitem> <listitem> <para> Package <literal>ckb</literal> is renamed to <literal>ckb-next</literal>, and options <literal>hardware.ckb.*</literal> are renamed to <literal>hardware.ckb-next.*</literal>. </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-19.03-notable-changes"> <title>Other Notable Changes</title> <itemizedlist> <listitem> <para> The <option>services.matomo</option> module gained the option <option>services.matomo.package</option> which determines the used Matomo version. </para> </listitem> <listitem> <para> The deprecated <literal>truecrypt</literal> package has been removed and <literal>truecrypt</literal> attribute is now an alias for <literal>veracrypt</literal>. VeraCrypt is backward-compatible with TrueCrypt volumes. Note that <literal>cryptsetup</literal> also supports loading TrueCrypt volumes. </para> </listitem> <listitem> <para> The Kubernetes DNS addons, kube-dns, has been replaced with CoreDNS. This change is made in accordance with Kubernetes making CoreDNS the official default starting from <link xlink:href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#sig-cluster-lifecycle">Kubernetes v1.11</link>. Please beware that upgrading DNS-addon on existing clusters might induce minor downtime while the DNS-addon terminates and re-initializes. Also note that the DNS-service now runs with 2 pod replicas by default. The desired number of replicas can be configured using: <option>services.kubernetes.addons.dns.replicas</option>. </para> </listitem> </itemizedlist> </section> </section>