diff options
Diffstat (limited to 'nixos/doc/manual/from_md/release-notes/rl-1803.section.xml')
-rw-r--r-- | nixos/doc/manual/from_md/release-notes/rl-1803.section.xml | 871 |
1 files changed, 871 insertions, 0 deletions
diff --git a/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml b/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml new file mode 100644 index 00000000000..f54f6129e0d --- /dev/null +++ b/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml @@ -0,0 +1,871 @@ +<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-18.03"> + <title>Release 18.03 (<quote>Impala</quote>, 2018/04/04)</title> + <section xml:id="sec-release-18.03-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 October 2018, handing + over to 18.09. + </para> + </listitem> + <listitem> + <para> + Platform support: x86_64-linux and x86_64-darwin since release + time (the latter isn't NixOS, really). Binaries for + aarch64-linux are available, but no channel exists yet, as + it's waiting for some test fixes, etc. + </para> + </listitem> + <listitem> + <para> + Nix now defaults to 2.0; see its + <link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.0">release + notes</link>. + </para> + </listitem> + <listitem> + <para> + Core version changes: linux: 4.9 -> 4.14, glibc: 2.25 -> + 2.26, gcc: 6 -> 7, systemd: 234 -> 237. + </para> + </listitem> + <listitem> + <para> + Desktop version changes: gnome: 3.24 -> 3.26, (KDE) + plasma-desktop: 5.10 -> 5.12. + </para> + </listitem> + <listitem> + <para> + MariaDB 10.2, updated from 10.1, is now the default MySQL + implementation. While upgrading a few changes have been made + to the infrastructure involved: + </para> + <itemizedlist> + <listitem> + <para> + <literal>libmysql</literal> has been deprecated, please + use <literal>mysql.connector-c</literal> instead, a + compatibility passthru has been added to the MySQL + packages. + </para> + </listitem> + <listitem> + <para> + The <literal>mysql57</literal> package has a new + <literal>static</literal> output containing the static + libraries including <literal>libmysqld.a</literal> + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + PHP now defaults to PHP 7.2, updated from 7.1. + </para> + </listitem> + </itemizedlist> + </section> + <section xml:id="sec-release-18.03-new-services"> + <title>New Services</title> + <para> + The following new services were added since the last release: + </para> + <itemizedlist> + <listitem> + <para> + <literal>./config/krb5/default.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./hardware/digitalbitbox.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./misc/label.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/ccache.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/criu.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/digitalbitbox/default.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/less.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/npm.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/plotinus.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/rootston.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/systemtap.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/sway.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/udevil.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/way-cooler.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/yabar.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./programs/zsh/zsh-autoenv.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/backup/borgbackup.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/backup/crashplan-small-business.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/desktops/dleyna-renderer.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/desktops/dleyna-server.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/desktops/pipewire.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/desktops/gnome3/chrome-gnome-shell.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/desktops/gnome3/tracker-miners.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/hardware/fwupd.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/hardware/interception-tools.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/hardware/u2f.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/hardware/usbmuxd.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/mail/clamsmtp.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/mail/dkimproxy-out.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/mail/pfix-srsd.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/gitea.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/home-assistant.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/ihaskell.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/logkeys.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/novacomd.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/osrm.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/plexpy.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/pykms.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/misc/tzupdate.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/monitoring/fusion-inventory.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/monitoring/prometheus/exporters.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/network-filesystems/beegfs.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/network-filesystems/davfs2.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/network-filesystems/openafs/client.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/network-filesystems/openafs/server.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/network-filesystems/ceph.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/aria2.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/monero.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/nghttpx/default.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/nixops-dns.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/rxe.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/networking/stunnel.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/web-apps/matomo.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/web-apps/restya-board.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/web-servers/mighttpd2.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./services/x11/fractalart.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./system/boot/binfmt.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./system/boot/grow-partition.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./tasks/filesystems/ecryptfs.nix</literal> + </para> + </listitem> + <listitem> + <para> + <literal>./virtualisation/hyperv-guest.nix</literal> + </para> + </listitem> + </itemizedlist> + </section> + <section xml:id="sec-release-18.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> + <literal>sound.enable</literal> now defaults to false. + </para> + </listitem> + <listitem> + <para> + Dollar signs in options under + <literal>services.postfix</literal> are passed verbatim to + Postfix, which will interpret them as the beginning of a + parameter expression. This was already true for string-valued + options in the previous release, but not for list-valued + options. If you need to pass literal dollar signs through + Postfix, double them. + </para> + </listitem> + <listitem> + <para> + The <literal>postage</literal> package (for web-based + PostgreSQL administration) has been renamed to + <literal>pgmanage</literal>. The corresponding module has also + been renamed. To migrate please rename all + <literal>services.postage</literal> options to + <literal>services.pgmanage</literal>. + </para> + </listitem> + <listitem> + <para> + Package attributes starting with a digit have been prefixed + with an underscore sign. This is to avoid quoting in the + configuration and other issues with command-line tools like + <literal>nix-env</literal>. The change affects the following + packages: + </para> + <itemizedlist> + <listitem> + <para> + <literal>2048-in-terminal</literal> → + <literal>_2048-in-terminal</literal> + </para> + </listitem> + <listitem> + <para> + <literal>90secondportraits</literal> → + <literal>_90secondportraits</literal> + </para> + </listitem> + <listitem> + <para> + <literal>2bwm</literal> → <literal>_2bwm</literal> + </para> + </listitem> + <listitem> + <para> + <literal>389-ds-base</literal> → + <literal>_389-ds-base</literal> + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + <emphasis role="strong">The OpenSSH service no longer enables + support for DSA keys by default, which could cause a system + lock out. Update your keys or, unfavorably, re-enable DSA + support manually.</emphasis> + </para> + <para> + DSA support was + <link xlink:href="https://www.openssh.com/legacy.html">deprecated + in OpenSSH 7.0</link>, due to it being too weak. To re-enable + support, add + <literal>PubkeyAcceptedKeyTypes +ssh-dss</literal> to the end + of your <literal>services.openssh.extraConfig</literal>. + </para> + <para> + After updating the keys to be stronger, anyone still on a + pre-17.03 version is safe to jump to 17.03, as vetted + <link xlink:href="https://search.nix.gsc.io/?q=stateVersion">here</link>. + </para> + </listitem> + <listitem> + <para> + The <literal>openssh</literal> package now includes Kerberos + support by default; the + <literal>openssh_with_kerberos</literal> package is now a + deprecated alias. If you do not want Kerberos support, you can + do + <literal>openssh.override { withKerberos = false; }</literal>. + Note, this also applies to the <literal>openssh_hpn</literal> + package. + </para> + </listitem> + <listitem> + <para> + <literal>cc-wrapper</literal> has been split in two; there is + now also a <literal>bintools-wrapper</literal>. The most + commonly used files in <literal>nix-support</literal> are now + split between the two wrappers. Some commonly used ones, like + <literal>nix-support/dynamic-linker</literal>, are duplicated + for backwards compatability, even though they rightly belong + only in <literal>bintools-wrapper</literal>. Other more + obscure ones are just moved. + </para> + </listitem> + <listitem> + <para> + The propagation logic has been changed. The new logic, along + with new types of dependencies that go with, is thoroughly + documented in the "Specifying dependencies" section + of the "Standard Environment" chapter of the nixpkgs + manual. The old logic isn't but is easy to describe: + dependencies were propagated as the same type of dependency no + matter what. In practice, that means that many + <literal>propagatedNativeBuildInputs</literal> should instead + be <literal>propagatedBuildInputs</literal>. Thankfully, that + was and is the least used type of dependency. Also, it means + that some <literal>propagatedBuildInputs</literal> should + instead be <literal>depsTargetTargetPropagated</literal>. + Other types dependencies should be unaffected. + </para> + </listitem> + <listitem> + <para> + <literal>lib.addPassthru drv passthru</literal> is removed. + Use <literal>lib.extendDerivation true passthru drv</literal> + instead. + </para> + </listitem> + <listitem> + <para> + The <literal>memcached</literal> service no longer accept + dynamic socket paths via + <literal>services.memcached.socket</literal>. Unix sockets can + be still enabled by + <literal>services.memcached.enableUnixSocket</literal> and + will be accessible at + <literal>/run/memcached/memcached.sock</literal>. + </para> + </listitem> + <listitem> + <para> + The <literal>hardware.amdHybridGraphics.disable</literal> + option was removed for lack of a maintainer. If you still need + this module, you may wish to include a copy of it from an + older version of nixos in your imports. + </para> + </listitem> + <listitem> + <para> + The merging of config options for + <literal>services.postfix.config</literal> was buggy. + Previously, if other options in the Postfix module like + <literal>services.postfix.useSrs</literal> were set and the + user set config options that were also set by such options, + the resulting config wouldn't include all options that were + needed. They are now merged correctly. If config options need + to be overridden, <literal>lib.mkForce</literal> or + <literal>lib.mkOverride</literal> can be used. + </para> + </listitem> + <listitem> + <para> + The following changes apply if the + <literal>stateVersion</literal> is changed to 18.03 or higher. + For <literal>stateVersion = "17.09"</literal> or + lower the old behavior is preserved. + </para> + <itemizedlist spacing="compact"> + <listitem> + <para> + <literal>matrix-synapse</literal> uses postgresql by + default instead of sqlite. Migration instructions can be + found + <link xlink:href="https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#porting-from-sqlite"> + here </link>. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + The <literal>jid</literal> package has been removed, due to + maintenance overhead of a go package having non-versioned + dependencies. + </para> + </listitem> + <listitem> + <para> + When using <literal>services.xserver.libinput</literal> + (enabled by default in GNOME), it now handles all input + devices, not just touchpads. As a result, you might need to + re-evaluate any custom Xorg configuration. In particular, + <literal>Option "XkbRules" "base"</literal> + may result in broken keyboard layout. + </para> + </listitem> + <listitem> + <para> + The <literal>attic</literal> package was removed. A maintained + fork called + <link xlink:href="https://www.borgbackup.org/">Borg</link> + should be used instead. Migration instructions can be found + <link xlink:href="http://borgbackup.readthedocs.io/en/stable/usage/upgrade.html#attic-and-borg-0-xx-to-borg-1-x">here</link>. + </para> + </listitem> + <listitem> + <para> + The Piwik analytics software was renamed to Matomo: + </para> + <itemizedlist> + <listitem> + <para> + The package <literal>pkgs.piwik</literal> was renamed to + <literal>pkgs.matomo</literal>. + </para> + </listitem> + <listitem> + <para> + The service <literal>services.piwik</literal> was renamed + to <literal>services.matomo</literal>. + </para> + </listitem> + <listitem> + <para> + The data directory <literal>/var/lib/piwik</literal> was + renamed to <literal>/var/lib/matomo</literal>. All files + will be moved automatically on first startup, but you + might need to adjust your backup scripts. + </para> + </listitem> + <listitem> + <para> + The default <literal>serverName</literal> for the nginx + configuration changed from + <literal>piwik.${config.networking.hostName}</literal> to + <literal>matomo.${config.networking.hostName}.${config.networking.domain}</literal> + if <literal>config.networking.domain</literal> is set, + <literal>matomo.${config.networking.hostName}</literal> if + it is not set. If you change your + <literal>serverName</literal>, remember you'll need to + update the <literal>trustedHosts[]</literal> array in + <literal>/var/lib/matomo/config/config.ini.php</literal> + as well. + </para> + </listitem> + <listitem> + <para> + The <literal>piwik</literal> user was renamed to + <literal>matomo</literal>. The service will adjust + ownership automatically for files in the data directory. + If you use unix socket authentication, remember to give + the new <literal>matomo</literal> user access to the + database and to change the <literal>username</literal> to + <literal>matomo</literal> in the + <literal>[database]</literal> section of + <literal>/var/lib/matomo/config/config.ini.php</literal>. + </para> + </listitem> + <listitem> + <para> + If you named your database `piwik`, you might want to + rename it to `matomo` to keep things clean, but this is + neither enforced nor required. + </para> + </listitem> + </itemizedlist> + </listitem> + <listitem> + <para> + <literal>nodejs-4_x</literal> is end-of-life. + <literal>nodejs-4_x</literal>, + <literal>nodejs-slim-4_x</literal> and + <literal>nodePackages_4_x</literal> are removed. + </para> + </listitem> + <listitem> + <para> + The <literal>pump.io</literal> NixOS module was removed. It is + now maintained as an + <link xlink:href="https://github.com/rvl/pump.io-nixos">external + module</link>. + </para> + </listitem> + <listitem> + <para> + The Prosody XMPP server has received a major update. The + following modules were renamed: + </para> + <itemizedlist> + <listitem> + <para> + <literal>services.prosody.modules.httpserver</literal> is + now <literal>services.prosody.modules.http_files</literal> + </para> + </listitem> + <listitem> + <para> + <literal>services.prosody.modules.console</literal> is now + <literal>services.prosody.modules.admin_telnet</literal> + </para> + </listitem> + </itemizedlist> + <para> + Many new modules are now core modules, most notably + <literal>services.prosody.modules.carbons</literal> and + <literal>services.prosody.modules.mam</literal>. + </para> + <para> + The better-performing <literal>libevent</literal> backend is + now enabled by default. + </para> + <para> + <literal>withCommunityModules</literal> now passes through the + modules to <literal>services.prosody.extraModules</literal>. + Use <literal>withOnlyInstalledCommunityModules</literal> for + modules that should not be enabled directly, e.g + <literal>lib_ldap</literal>. + </para> + </listitem> + <listitem> + <para> + All prometheus exporter modules are now defined as submodules. + The exporters are configured using + <literal>services.prometheus.exporters</literal>. + </para> + </listitem> + </itemizedlist> + </section> + <section xml:id="sec-release-18.03-notable-changes"> + <title>Other Notable Changes</title> + <itemizedlist> + <listitem> + <para> + ZNC option <literal>services.znc.mutable</literal> now + defaults to <literal>true</literal>. That means that old + configuration is not overwritten by default when update to the + znc options are made. + </para> + </listitem> + <listitem> + <para> + The option + <literal>networking.wireless.networks.<name>.auth</literal> + has been added for wireless networks with WPA-Enterprise + authentication. There is also a new + <literal>extraConfig</literal> option to directly configure + <literal>wpa_supplicant</literal> and + <literal>hidden</literal> to connect to hidden networks. + </para> + </listitem> + <listitem> + <para> + In the module + <literal>networking.interfaces.<name></literal> the + following options have been removed: + </para> + <itemizedlist> + <listitem> + <para> + <literal>ipAddress</literal> + </para> + </listitem> + <listitem> + <para> + <literal>ipv6Address</literal> + </para> + </listitem> + <listitem> + <para> + <literal>prefixLength</literal> + </para> + </listitem> + <listitem> + <para> + <literal>ipv6PrefixLength</literal> + </para> + </listitem> + <listitem> + <para> + <literal>subnetMask</literal> + </para> + </listitem> + </itemizedlist> + <para> + To assign static addresses to an interface the options + <literal>ipv4.addresses</literal> and + <literal>ipv6.addresses</literal> should be used instead. The + options <literal>ip4</literal> and <literal>ip6</literal> have + been renamed to <literal>ipv4.addresses</literal> + <literal>ipv6.addresses</literal> respectively. The new + options <literal>ipv4.routes</literal> and + <literal>ipv6.routes</literal> have been added to set up + static routing. + </para> + </listitem> + <listitem> + <para> + The option <literal>services.logstash.listenAddress</literal> + is now <literal>127.0.0.1</literal> by default. Previously the + default behaviour was to listen on all interfaces. + </para> + </listitem> + <listitem> + <para> + <literal>services.btrfs.autoScrub</literal> has been added, to + periodically check btrfs filesystems for data corruption. If + there's a correct copy available, it will automatically repair + corrupted blocks. + </para> + </listitem> + <listitem> + <para> + <literal>displayManager.lightdm.greeters.gtk.clock-format.</literal> + has been added, the clock format string (as expected by + strftime, e.g. <literal>%H:%M</literal>) to use with the + lightdm gtk greeter panel. + </para> + <para> + If set to null the default clock format is used. + </para> + </listitem> + <listitem> + <para> + <literal>displayManager.lightdm.greeters.gtk.indicators</literal> + has been added, a list of allowed indicator modules to use + with the lightdm gtk greeter panel. + </para> + <para> + Built-in indicators include <literal>~a11y</literal>, + <literal>~language</literal>, <literal>~session</literal>, + <literal>~power</literal>, <literal>~clock</literal>, + <literal>~host</literal>, <literal>~spacer</literal>. Unity + indicators can be represented by short name (e.g. + <literal>sound</literal>, <literal>power</literal>), service + file name, or absolute path. + </para> + <para> + If set to <literal>null</literal> the default indicators are + used. + </para> + <para> + In order to have the previous default configuration add + </para> + <programlisting language="bash"> +{ + services.xserver.displayManager.lightdm.greeters.gtk.indicators = [ + "~host" "~spacer" + "~clock" "~spacer" + "~session" + "~language" + "~a11y" + "~power" + ]; +} +</programlisting> + <para> + to your <literal>configuration.nix</literal>. + </para> + </listitem> + <listitem> + <para> + The NixOS test driver supports user services declared by + <literal>systemd.user.services</literal>. The methods + <literal>waitForUnit</literal>, + <literal>getUnitInfo</literal>, <literal>startJob</literal> + and <literal>stopJob</literal> provide an optional + <literal>$user</literal> argument for that purpose. + </para> + </listitem> + <listitem> + <para> + Enabling bash completion on NixOS, + <literal>programs.bash.enableCompletion</literal>, will now + also enable completion for the Nix command line tools by + installing the + <link xlink:href="https://github.com/hedning/nix-bash-completions">nix-bash-completions</link> + package. + </para> + </listitem> + </itemizedlist> + </section> +</section> |