289 lines
12 KiB
XML
289 lines
12 KiB
XML
<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.09">
|
|
<title>Release 19.09 (“Loris”, 2019/09/??)</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.09-highlights">
|
|
<title>Highlights</title>
|
|
|
|
<para>
|
|
In addition to numerous new and upgraded packages, this release has the
|
|
following highlights:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
End of support is planned for end of April 2020, handing over to 20.03.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
PHP now defaults to PHP 7.3, updated from 7.2.
|
|
</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.09-new-services">
|
|
<title>New Services</title>
|
|
|
|
<para>
|
|
The following new services were added since the last release:
|
|
</para>
|
|
|
|
</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.09-incompatibilities">
|
|
<title>Backward Incompatibilities</title>
|
|
|
|
<para>
|
|
When upgrading from a previous release, please be aware of the following
|
|
incompatible changes:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Buildbot no longer supports Python 2, as support was dropped upstream in
|
|
version 2.0.0. Configurations may need to be modified to make them
|
|
compatible with Python 3.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
PostgreSQL now uses
|
|
<filename class="directory">/run/postgresql</filename> as its socket
|
|
directory instead of <filename class="directory">/tmp</filename>. So
|
|
if you run an application like eg. Nextcloud, where you need to use
|
|
the Unix socket path as the database host name, you need to change it
|
|
accordingly.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The options <option>services.prometheus.alertmanager.user</option> and
|
|
<option>services.prometheus.alertmanager.group</option> have been removed
|
|
because the alertmanager service is now using systemd's <link
|
|
xlink:href="http://0pointer.net/blog/dynamic-users-with-systemd.html">
|
|
DynamicUser mechanism</link> which obviates these options.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The NetworkManager systemd unit was renamed back from network-manager.service to
|
|
NetworkManager.service for better compatibility with other applications expecting this name.
|
|
The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <option>services.nzbget.configFile</option> and <option>services.nzbget.openFirewall</option>
|
|
options were removed as they are managed internally by the nzbget. The
|
|
<option>services.nzbget.dataDir</option> option hadn't actually been used by
|
|
the module for some time and so was removed as cleanup.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <option>services.mysql.pidDir</option> option was removed, as it was only used by the wordpress
|
|
apache-httpd service to wait for mysql to have started up.
|
|
This can be accomplished by either describing a dependency on mysql.service (preferred)
|
|
or waiting for the (hardcoded) <filename>/run/mysqld/mysql.sock</filename> file to appear.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <option>services.emby.enable</option> module has been removed, see
|
|
<option>services.jellyfin.enable</option> instead for a free software fork of Emby.
|
|
|
|
See the Jellyfin documentation:
|
|
<link xlink:href="https://jellyfin.readthedocs.io/en/latest/administrator-docs/migrate-from-emby/">
|
|
Migrating from Emby to Jellyfin
|
|
</link>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Since Bittorrent Sync was superseded by Resilio Sync in 2016, the
|
|
<literal>bittorrentSync</literal>, <literal>bittorrentSync14</literal>,
|
|
and <literal>bittorrentSync16</literal> packages have been removed in
|
|
favor of <literal>resilio-sync</literal>.
|
|
</para>
|
|
<para>
|
|
The corresponding module, <option>services.btsync</option> has been
|
|
replaced by the <option>services.resilio</option> module.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The limesurvey apache subservice was replaced with a full NixOS module.
|
|
One can configure it using the <option>services.limesurvey.enable</option>
|
|
and <option>services.limesurvey.virtualHost</option> options.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The option <option>systemd.network.networks.<name>.routes.*.routeConfig.GatewayOnlink</option>
|
|
was renamed to <option>systemd.network.networks.<name>.routes.*.routeConfig.GatewayOnLink</option>
|
|
(capital <literal>L</literal>). This follows
|
|
<link xlink:href="https://github.com/systemd/systemd/commit/9cb8c5593443d24c19e40bfd4fc06d672f8c554c">
|
|
upstreams renaming
|
|
</link> of the setting.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
As of this release the NixOps feature <literal>autoLuks</literal> is deprecated. It no longer works
|
|
with our systemd version without manual intervention.
|
|
</para>
|
|
<para>
|
|
Whenever the usage of the module is detected the evaluation will fail with a message
|
|
explaining why and how to deal with the situation.
|
|
</para>
|
|
<para>
|
|
A new knob named <literal>nixops.enableDeprecatedAutoLuks</literal>
|
|
has been introduced to disable the eval failure and to acknowledge the notice was received and read.
|
|
If you plan on using the feature please note that it might break with subsequent updates.
|
|
</para>
|
|
<para>
|
|
Make sure you set the <literal>_netdev</literal> option for each of the file systems referring to block
|
|
devices provided by the autoLuks module. Not doing this might render the system in a
|
|
state where it doesn't boot anymore.
|
|
</para>
|
|
<para>
|
|
If you are actively using the <literal>autoLuks</literal> module please let us know in
|
|
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/62211">issue #62211</link>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The setopt declarations will be evaluated at the end of <literal>/etc/zshrc</literal>, so any code in <xref linkend="opt-programs.zsh.interactiveShellInit" />,
|
|
<xref linkend="opt-programs.zsh.loginShellInit" /> and <xref linkend="opt-programs.zsh.promptInit" /> may break if it relies on those options being set.
|
|
</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.09-notable-changes">
|
|
<title>Other Notable Changes</title>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The <option>documentation</option> module gained an option named
|
|
<option>documentation.nixos.includeAllModules</option> which makes the
|
|
generated <citerefentry>
|
|
<refentrytitle>configuration.nix</refentrytitle>
|
|
<manvolnum>5</manvolnum></citerefentry> manual page include all options
|
|
from all NixOS modules included in a given
|
|
<literal>configuration.nix</literal> configuration file. Currently, it is
|
|
set to <literal>false</literal> by default as enabling it frequently
|
|
prevents evaluation. But the plan is to eventually have it set to
|
|
<literal>true</literal> by default. Please set it to
|
|
<literal>true</literal> now in your <literal>configuration.nix</literal>
|
|
and fix all the bugs it uncovers.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <literal>vlc</literal> package gained support for Chromecast
|
|
streaming, enabled by default. TCP port 8010 must be open for it to work,
|
|
so something like <literal>networking.firewall.allowedTCPPorts = [ 8010
|
|
];</literal> may be required in your configuration. Also consider enabling
|
|
<link xlink:href="https://nixos.wiki/wiki/Accelerated_Video_Playback">
|
|
Accelerated Video Playback</link> for better transcoding performance.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The following changes apply if the <literal>stateVersion</literal> is
|
|
changed to 19.09 or higher. For <literal>stateVersion = "19.03"</literal>
|
|
or lower the old behavior is preserved.
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<literal>solr.package</literal> defaults to
|
|
<literal>pkgs.solr_8</literal>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <literal>hunspellDicts.fr-any</literal> dictionary now ships with <literal>fr_FR.{aff,dic}</literal>
|
|
which is linked to <literal>fr-toutesvariantes.{aff,dic}</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <literal>mysql</literal> service now runs as <literal>mysql</literal>
|
|
user. Previously, systemd did execute it as root, and mysql dropped privileges
|
|
itself.
|
|
This includes <literal>ExecStartPre=</literal> and
|
|
<literal>ExecStartPost=</literal> phases.
|
|
To accomplish that, runtime and data directory setup was delegated to
|
|
RuntimeDirectory and tmpfiles.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
With the upgrade to systemd version 242 the <literal>systemd-timesyncd</literal>
|
|
service is no longer using <literal>DynamicUser=yes</literal>. In order for the
|
|
upgrade to work we rely on an activation script to move the state from the old
|
|
to the new directory. The older directory (prior <literal>19.09</literal>) was
|
|
<literal>/var/lib/private/systemd/timesync</literal>.
|
|
</para>
|
|
<para>
|
|
As long as the <literal>system.config.stateVersion</literal> is below
|
|
<literal>19.09</literal> the state folder will migrated to its proper location
|
|
(<literal>/var/lib/systemd/timesync</literal>), if required.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Since version 0.1.19, <literal>cargo-vendor</literal> honors package
|
|
includes that are specified in the <filename>Cargo.toml</filename>
|
|
file of Rust crates. <literal>rustPlatform.buildRustPackage</literal> uses
|
|
<literal>cargo-vendor</literal> to collect and build dependent crates.
|
|
Since this change in <literal>cargo-vendor</literal> changes the set of
|
|
vendored files for most Rust packages, the hash that use used to verify
|
|
the dependencies, <literal>cargoSha256</literal>, also changes.
|
|
</para>
|
|
<para>
|
|
The <literal>cargoSha256</literal> hashes of all in-tree derivations that
|
|
use <literal>buildRustPackage</literal> have been updated to reflect this
|
|
change. However, third-party derivations that use
|
|
<literal>buildRustPackage</literal> may have to be updated as well.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The default resample-method for PulseAudio has been changed from the upstream default <literal>speex-float-1</literal>
|
|
to <literal>speex-float-5</literal>. Be aware that low-powered ARM-based and MIPS-based boards will struggle with this
|
|
so you'll need to set <option>hardware.pulseaudio.daemon.config.resample-method</option> back to <literal>speex-float-1</literal>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
</section>
|