at 23.05-pre 34 kB view raw
1<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-19.03"> 2 <title>Release 19.03 (<quote>Koi</quote>, 2019/04/11)</title> 3 <section xml:id="sec-release-19.03-highlights"> 4 <title>Highlights</title> 5 <para> 6 In addition to numerous new and upgraded packages, this release 7 has the following highlights: 8 </para> 9 <itemizedlist> 10 <listitem> 11 <para> 12 End of support is planned for end of October 2019, handing 13 over to 19.09. 14 </para> 15 </listitem> 16 <listitem> 17 <para> 18 The default Python 3 interpreter is now CPython 3.7 instead of 19 CPython 3.6. 20 </para> 21 </listitem> 22 <listitem> 23 <para> 24 Added the Pantheon desktop environment. It can be enabled 25 through 26 <literal>services.xserver.desktopManager.pantheon.enable</literal>. 27 </para> 28 <note> 29 <para> 30 By default, 31 <literal>services.xserver.desktopManager.pantheon</literal> 32 enables LightDM as a display manager, as pantheon's screen 33 locking implementation relies on it. Because of that it is 34 recommended to leave LightDM enabled. If you'd like to 35 disable it anyway, set 36 <literal>services.xserver.displayManager.lightdm.enable</literal> 37 to <literal>false</literal> and enable your preferred 38 display manager. 39 </para> 40 </note> 41 <para> 42 Also note that Pantheon's LightDM greeter is not enabled by 43 default, because it has numerous issues in NixOS and isn't 44 optimal for use here yet. 45 </para> 46 </listitem> 47 <listitem> 48 <para> 49 A major refactoring of the Kubernetes module has been 50 completed. Refactorings primarily focus on decoupling 51 components and enhancing security. Two-way TLS and RBAC has 52 been enabled by default for all components, which slightly 53 changes the way the module is configured. See: 54 <xref linkend="sec-kubernetes" /> for details. 55 </para> 56 </listitem> 57 <listitem> 58 <para> 59 There is now a set of <literal>confinement</literal> options 60 for <literal>systemd.services</literal>, which allows to 61 restrict services into a chroot 2 ed environment that only 62 contains the store paths from the runtime closure of the 63 service. 64 </para> 65 </listitem> 66 </itemizedlist> 67 </section> 68 <section xml:id="sec-release-19.03-new-services"> 69 <title>New Services</title> 70 <para> 71 The following new services were added since the last release: 72 </para> 73 <itemizedlist> 74 <listitem> 75 <para> 76 <literal>./programs/nm-applet.nix</literal> 77 </para> 78 </listitem> 79 <listitem> 80 <para> 81 There is a new <literal>security.googleOsLogin</literal> 82 module for using 83 <link xlink:href="https://cloud.google.com/compute/docs/instances/managing-instance-access">OS 84 Login</link> to manage SSH access to Google Compute Engine 85 instances, which supersedes the imperative and broken 86 <literal>google-accounts-daemon</literal> used in 87 <literal>nixos/modules/virtualisation/google-compute-config.nix</literal>. 88 </para> 89 </listitem> 90 <listitem> 91 <para> 92 <literal>./services/misc/beanstalkd.nix</literal> 93 </para> 94 </listitem> 95 <listitem> 96 <para> 97 There is a new <literal>services.cockroachdb</literal> module 98 for running CockroachDB databases. NixOS now ships with 99 CockroachDB 2.1.x as well, available on 100 <literal>x86_64-linux</literal> and 101 <literal>aarch64-linux</literal>. 102 </para> 103 </listitem> 104 <listitem> 105 <para> 106 <literal>./security/duosec.nix</literal> 107 </para> 108 </listitem> 109 <listitem> 110 <para> 111 The <link xlink:href="https://duo.com/docs/duounix">PAM module 112 for Duo Security</link> has been enabled for use. One can 113 configure it using the <literal>security.duosec</literal> 114 options along with the corresponding PAM option in 115 <literal>security.pam.services.&lt;name?&gt;.duoSecurity.enable</literal>. 116 </para> 117 </listitem> 118 </itemizedlist> 119 </section> 120 <section xml:id="sec-release-19.03-incompatibilities"> 121 <title>Backward Incompatibilities</title> 122 <para> 123 When upgrading from a previous release, please be aware of the 124 following incompatible changes: 125 </para> 126 <itemizedlist> 127 <listitem> 128 <para> 129 The minimum version of Nix required to evaluate Nixpkgs is now 130 2.0. 131 </para> 132 <itemizedlist> 133 <listitem> 134 <para> 135 For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 136 2.0, but supports using Nix 1.11 by setting 137 <literal>nix.package = pkgs.nix1;</literal>. If this 138 option is set to a Nix 1.11 package, you will need to 139 either unset the option or upgrade it to Nix 2.0. 140 </para> 141 </listitem> 142 <listitem> 143 <para> 144 For users of NixOS 17.09, you will first need to upgrade 145 Nix by setting 146 <literal>nix.package = pkgs.nixStable2;</literal> and run 147 <literal>nixos-rebuild switch</literal> as the 148 <literal>root</literal> user. 149 </para> 150 </listitem> 151 <listitem> 152 <para> 153 For users of a daemon-less Nix installation on Linux or 154 macOS, you can upgrade Nix by running 155 <literal>curl -L https://nixos.org/nix/install | sh</literal>, 156 or prior to doing a channel update, running 157 <literal>nix-env -iA nix</literal>. If you have already 158 run a channel update and Nix is no longer able to evaluate 159 Nixpkgs, the error message printed should provide adequate 160 directions for upgrading Nix. 161 </para> 162 </listitem> 163 <listitem> 164 <para> 165 For users of the Nix daemon on macOS, you can upgrade Nix 166 by running 167 <literal>sudo -i sh -c 'nix-channel --update &amp;&amp; nix-env -iA nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl start org.nixos.nix-daemon</literal>. 168 </para> 169 </listitem> 170 </itemizedlist> 171 </listitem> 172 <listitem> 173 <para> 174 The <literal>buildPythonPackage</literal> function now sets 175 <literal>strictDeps = true</literal> to help distinguish 176 between native and non-native dependencies in order to improve 177 cross-compilation compatibility. Note however that this may 178 break user expressions. 179 </para> 180 </listitem> 181 <listitem> 182 <para> 183 The <literal>buildPythonPackage</literal> function now sets 184 <literal>LANG = C.UTF-8</literal> to enable Unicode support. 185 The <literal>glibcLocales</literal> package is no longer 186 needed as a build input. 187 </para> 188 </listitem> 189 <listitem> 190 <para> 191 The Syncthing state and configuration data has been moved from 192 <literal>services.syncthing.dataDir</literal> to the newly 193 defined <literal>services.syncthing.configDir</literal>, which 194 default to 195 <literal>/var/lib/syncthing/.config/syncthing</literal>. This 196 change makes possible to share synced directories using ACLs 197 without Syncthing resetting the permission on every start. 198 </para> 199 </listitem> 200 <listitem> 201 <para> 202 The <literal>ntp</literal> module now has sane default 203 restrictions. If you're relying on the previous defaults, 204 which permitted all queries and commands from all 205 firewall-permitted sources, you can set 206 <literal>services.ntp.restrictDefault</literal> and 207 <literal>services.ntp.restrictSource</literal> to 208 <literal>[]</literal>. 209 </para> 210 </listitem> 211 <listitem> 212 <para> 213 Package <literal>rabbitmq_server</literal> is renamed to 214 <literal>rabbitmq-server</literal>. 215 </para> 216 </listitem> 217 <listitem> 218 <para> 219 The <literal>light</literal> module no longer uses setuid 220 binaries, but udev rules. As a consequence users of that 221 module have to belong to the <literal>video</literal> group in 222 order to use the executable (i.e. 223 <literal>users.users.yourusername.extraGroups = [&quot;video&quot;];</literal>). 224 </para> 225 </listitem> 226 <listitem> 227 <para> 228 Buildbot now supports Python 3 and its packages have been 229 moved to <literal>pythonPackages</literal>. The options 230 <literal>services.buildbot-master.package</literal> and 231 <literal>services.buildbot-worker.package</literal> can be 232 used to select the Python 2 or 3 version of the package. 233 </para> 234 </listitem> 235 <listitem> 236 <para> 237 Options 238 <literal>services.znc.confOptions.networks.name.userName</literal> 239 and 240 <literal>services.znc.confOptions.networks.name.modulePackages</literal> 241 were removed. They were never used for anything and can 242 therefore safely be removed. 243 </para> 244 </listitem> 245 <listitem> 246 <para> 247 Package <literal>wasm</literal> has been renamed 248 <literal>proglodyte-wasm</literal>. The package 249 <literal>wasm</literal> will be pointed to 250 <literal>ocamlPackages.wasm</literal> in 19.09, so make sure 251 to update your configuration if you want to keep 252 <literal>proglodyte-wasm</literal> 253 </para> 254 </listitem> 255 <listitem> 256 <para> 257 When the <literal>nixpkgs.pkgs</literal> option is set, NixOS 258 will no longer ignore the <literal>nixpkgs.overlays</literal> 259 option. The old behavior can be recovered by setting 260 <literal>nixpkgs.overlays = lib.mkForce [];</literal>. 261 </para> 262 </listitem> 263 <listitem> 264 <para> 265 OpenSMTPD has been upgraded to version 6.4.0p1. This release 266 makes backwards-incompatible changes to the configuration file 267 format. See <literal>man smtpd.conf</literal> for more 268 information on the new file format. 269 </para> 270 </listitem> 271 <listitem> 272 <para> 273 The versioned <literal>postgresql</literal> have been renamed 274 to use underscore number seperators. For example, 275 <literal>postgresql96</literal> has been renamed to 276 <literal>postgresql_9_6</literal>. 277 </para> 278 </listitem> 279 <listitem> 280 <para> 281 Package <literal>consul-ui</literal> and passthrough 282 <literal>consul.ui</literal> have been removed. The package 283 <literal>consul</literal> now uses upstream releases that 284 vendor the UI into the binary. See 285 <link xlink:href="https://github.com/NixOS/nixpkgs/pull/48714#issuecomment-433454834">#48714</link> 286 for details. 287 </para> 288 </listitem> 289 <listitem> 290 <para> 291 Slurm introduces the new option 292 <literal>services.slurm.stateSaveLocation</literal>, which is 293 now set to <literal>/var/spool/slurm</literal> by default 294 (instead of <literal>/var/spool</literal>). Make sure to move 295 all files to the new directory or to set the option 296 accordingly. 297 </para> 298 <para> 299 The slurmctld now runs as user <literal>slurm</literal> 300 instead of <literal>root</literal>. If you want to keep 301 slurmctld running as <literal>root</literal>, set 302 <literal>services.slurm.user = root</literal>. 303 </para> 304 <para> 305 The options <literal>services.slurm.nodeName</literal> and 306 <literal>services.slurm.partitionName</literal> are now sets 307 of strings to correctly reflect that fact that each of these 308 options can occour more than once in the configuration. 309 </para> 310 </listitem> 311 <listitem> 312 <para> 313 The <literal>solr</literal> package has been upgraded from 314 4.10.3 to 7.5.0 and has undergone some major changes. The 315 <literal>services.solr</literal> module has been updated to 316 reflect these changes. Please review 317 http://lucene.apache.org/solr/ carefully before upgrading. 318 </para> 319 </listitem> 320 <listitem> 321 <para> 322 Package <literal>ckb</literal> is renamed to 323 <literal>ckb-next</literal>, and options 324 <literal>hardware.ckb.*</literal> are renamed to 325 <literal>hardware.ckb-next.*</literal>. 326 </para> 327 </listitem> 328 <listitem> 329 <para> 330 The option 331 <literal>services.xserver.displayManager.job.logToFile</literal> 332 which was previously set to <literal>true</literal> when using 333 the display managers <literal>lightdm</literal>, 334 <literal>sddm</literal> or <literal>xpra</literal> has been 335 reset to the default value (<literal>false</literal>). 336 </para> 337 </listitem> 338 <listitem> 339 <para> 340 Network interface indiscriminate NixOS firewall options 341 (<literal>networking.firewall.allow*</literal>) are now 342 preserved when also setting interface specific rules such as 343 <literal>networking.firewall.interfaces.en0.allow*</literal>. 344 These rules continue to use the pseudo device 345 &quot;default&quot; 346 (<literal>networking.firewall.interfaces.default.*</literal>), 347 and assigning to this pseudo device will override the 348 (<literal>networking.firewall.allow*</literal>) options. 349 </para> 350 </listitem> 351 <listitem> 352 <para> 353 The <literal>nscd</literal> service now disables all caching 354 of <literal>passwd</literal> and <literal>group</literal> 355 databases by default. This was interferring with the correct 356 functioning of the <literal>libnss_systemd.so</literal> module 357 which is used by <literal>systemd</literal> to manage uids and 358 usernames in the presence of <literal>DynamicUser=</literal> 359 in systemd services. This was already the default behaviour in 360 presence of <literal>services.sssd.enable = true</literal> 361 because nscd caching would interfere with 362 <literal>sssd</literal> in unpredictable ways as well. Because 363 we're using nscd not for caching, but for convincing glibc to 364 find NSS modules in the nix store instead of an absolute path, 365 we have decided to disable caching globally now, as it's 366 usually not the behaviour the user wants and can lead to 367 surprising behaviour. Furthermore, negative caching of host 368 lookups is also disabled now by default. This should fix the 369 issue of dns lookups failing in the presence of an unreliable 370 network. 371 </para> 372 <para> 373 If the old behaviour is desired, this can be restored by 374 setting the <literal>services.nscd.config</literal> option 375 with the desired caching parameters. 376 </para> 377 <programlisting language="bash"> 378{ 379 services.nscd.config = 380 '' 381 server-user nscd 382 threads 1 383 paranoia no 384 debug-level 0 385 386 enable-cache passwd yes 387 positive-time-to-live passwd 600 388 negative-time-to-live passwd 20 389 suggested-size passwd 211 390 check-files passwd yes 391 persistent passwd no 392 shared passwd yes 393 394 enable-cache group yes 395 positive-time-to-live group 3600 396 negative-time-to-live group 60 397 suggested-size group 211 398 check-files group yes 399 persistent group no 400 shared group yes 401 402 enable-cache hosts yes 403 positive-time-to-live hosts 600 404 negative-time-to-live hosts 5 405 suggested-size hosts 211 406 check-files hosts yes 407 persistent hosts no 408 shared hosts yes 409 ''; 410} 411</programlisting> 412 <para> 413 See 414 <link xlink:href="https://github.com/NixOS/nixpkgs/pull/50316">#50316</link> 415 for details. 416 </para> 417 </listitem> 418 <listitem> 419 <para> 420 GitLab Shell previously used the nix store paths for the 421 <literal>gitlab-shell</literal> command in its 422 <literal>authorized_keys</literal> file, which might stop 423 working after garbage collection. To circumvent that, we 424 regenerated that file on each startup. As 425 <literal>gitlab-shell</literal> has now been changed to use 426 <literal>/var/run/current-system/sw/bin/gitlab-shell</literal>, 427 this is not necessary anymore, but there might be leftover 428 lines with a nix store path. Regenerate the 429 <literal>authorized_keys</literal> file via 430 <literal>sudo -u git -H gitlab-rake gitlab:shell:setup</literal> 431 in that case. 432 </para> 433 </listitem> 434 <listitem> 435 <para> 436 The <literal>pam_unix</literal> account module is now loaded 437 with its control field set to <literal>required</literal> 438 instead of <literal>sufficient</literal>, so that later PAM 439 account modules that might do more extensive checks are being 440 executed. Previously, the whole account module verification 441 was exited prematurely in case a nss module provided the 442 account name to <literal>pam_unix</literal>. The LDAP and SSSD 443 NixOS modules already add their NSS modules when enabled. In 444 case your setup breaks due to some later PAM account module 445 previosuly shadowed, or failing NSS lookups, please file a 446 bug. You can get back the old behaviour by manually setting 447 <literal>security.pam.services.&lt;name?&gt;.text</literal>. 448 </para> 449 </listitem> 450 <listitem> 451 <para> 452 The <literal>pam_unix</literal> password module is now loaded 453 with its control field set to <literal>sufficient</literal> 454 instead of <literal>required</literal>, so that password 455 managed only by later PAM password modules are being executed. 456 Previously, for example, changing an LDAP account's password 457 through PAM was not possible: the whole password module 458 verification was exited prematurely by 459 <literal>pam_unix</literal>, preventing 460 <literal>pam_ldap</literal> to manage the password as it 461 should. 462 </para> 463 </listitem> 464 <listitem> 465 <para> 466 <literal>fish</literal> has been upgraded to 3.0. It comes 467 with a number of improvements and backwards incompatible 468 changes. See the <literal>fish</literal> 469 <link xlink:href="https://github.com/fish-shell/fish-shell/releases/tag/3.0.0">release 470 notes</link> for more information. 471 </para> 472 </listitem> 473 <listitem> 474 <para> 475 The ibus-table input method has had a change in config format, 476 which causes all previous settings to be lost. See 477 <link xlink:href="https://github.com/mike-fabian/ibus-table/commit/f9195f877c5212fef0dfa446acb328c45ba5852b">this 478 commit message</link> for details. 479 </para> 480 </listitem> 481 <listitem> 482 <para> 483 NixOS module system type <literal>types.optionSet</literal> 484 and <literal>lib.mkOption</literal> argument 485 <literal>options</literal> are deprecated. Use 486 <literal>types.submodule</literal> instead. 487 (<link xlink:href="https://github.com/NixOS/nixpkgs/pull/54637">#54637</link>) 488 </para> 489 </listitem> 490 <listitem> 491 <para> 492 <literal>matrix-synapse</literal> has been updated to version 493 0.99. It will 494 <link xlink:href="https://github.com/matrix-org/synapse/pull/4509">no 495 longer generate a self-signed certificate on first 496 launch</link> and will be 497 <link xlink:href="https://matrix.org/blog/2019/02/05/synapse-0-99-0/">the 498 last version to accept self-signed certificates</link>. As 499 such, it is now recommended to use a proper certificate 500 verified by a root CA (for example Let's Encrypt). The new 501 <link linkend="module-services-matrix">manual chapter on 502 Matrix</link> contains a working example of using nginx as a 503 reverse proxy in front of <literal>matrix-synapse</literal>, 504 using Let's Encrypt certificates. 505 </para> 506 </listitem> 507 <listitem> 508 <para> 509 <literal>mailutils</literal> now works by default when 510 <literal>sendmail</literal> is not in a setuid wrapper. As a 511 consequence, the <literal>sendmailPath</literal> argument, 512 having lost its main use, has been removed. 513 </para> 514 </listitem> 515 <listitem> 516 <para> 517 <literal>graylog</literal> has been upgraded from version 2.* 518 to 3.*. Some setups making use of extraConfig (especially 519 those exposing Graylog via reverse proxies) need to be updated 520 as upstream removed/replaced some settings. See 521 <link xlink:href="http://docs.graylog.org/en/3.0/pages/upgrade/graylog-3.0.html#simplified-http-interface-configuration">Upgrading 522 Graylog</link> for details. 523 </para> 524 </listitem> 525 <listitem> 526 <para> 527 The option <literal>users.ldap.bind.password</literal> was 528 renamed to <literal>users.ldap.bind.passwordFile</literal>, 529 and needs to be readable by the <literal>nslcd</literal> user. 530 Same applies to the new 531 <literal>users.ldap.daemon.rootpwmodpwFile</literal> option. 532 </para> 533 </listitem> 534 <listitem> 535 <para> 536 <literal>nodejs-6_x</literal> is end-of-life. 537 <literal>nodejs-6_x</literal>, 538 <literal>nodejs-slim-6_x</literal> and 539 <literal>nodePackages_6_x</literal> are removed. 540 </para> 541 </listitem> 542 </itemizedlist> 543 </section> 544 <section xml:id="sec-release-19.03-notable-changes"> 545 <title>Other Notable Changes</title> 546 <itemizedlist> 547 <listitem> 548 <para> 549 The <literal>services.matomo</literal> module gained the 550 option <literal>services.matomo.package</literal> which 551 determines the used Matomo version. 552 </para> 553 <para> 554 The Matomo module now also comes with the systemd service 555 <literal>matomo-archive-processing.service</literal> and a 556 timer that automatically triggers archive processing every 557 hour. This means that you can safely 558 <link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour"> 559 disable browser triggers for Matomo archiving </link> at 560 <literal>Administration &gt; System &gt; General Settings</literal>. 561 </para> 562 <para> 563 Additionally, you can enable to 564 <link xlink:href="https://matomo.org/docs/privacy/#step-2-delete-old-visitors-logs"> 565 delete old visitor logs </link> at 566 <literal>Administration &gt; System &gt; Privacy</literal>, 567 but make sure that you run 568 <literal>systemctl start matomo-archive-processing.service</literal> 569 at least once without errors if you have already collected 570 data before, so that the reports get archived before the 571 source data gets deleted. 572 </para> 573 </listitem> 574 <listitem> 575 <para> 576 <literal>composableDerivation</literal> along with supporting 577 library functions has been removed. 578 </para> 579 </listitem> 580 <listitem> 581 <para> 582 The deprecated <literal>truecrypt</literal> package has been 583 removed and <literal>truecrypt</literal> attribute is now an 584 alias for <literal>veracrypt</literal>. VeraCrypt is 585 backward-compatible with TrueCrypt volumes. Note that 586 <literal>cryptsetup</literal> also supports loading TrueCrypt 587 volumes. 588 </para> 589 </listitem> 590 <listitem> 591 <para> 592 The Kubernetes DNS addons, kube-dns, has been replaced with 593 CoreDNS. This change is made in accordance with Kubernetes 594 making CoreDNS the official default starting from 595 <link xlink:href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#sig-cluster-lifecycle">Kubernetes 596 v1.11</link>. Please beware that upgrading DNS-addon on 597 existing clusters might induce minor downtime while the 598 DNS-addon terminates and re-initializes. Also note that the 599 DNS-service now runs with 2 pod replicas by default. The 600 desired number of replicas can be configured using: 601 <literal>services.kubernetes.addons.dns.replicas</literal>. 602 </para> 603 </listitem> 604 <listitem> 605 <para> 606 The quassel-webserver package and module was removed from 607 nixpkgs due to the lack of maintainers. 608 </para> 609 </listitem> 610 <listitem> 611 <para> 612 The manual gained a <link linkend="module-services-matrix"> 613 new chapter on self-hosting <literal>matrix-synapse</literal> 614 and <literal>riot-web</literal> </link>, the most prevalent 615 server and client implementations for the 616 <link xlink:href="https://matrix.org/">Matrix</link> federated 617 communication network. 618 </para> 619 </listitem> 620 <listitem> 621 <para> 622 The astah-community package was removed from nixpkgs due to it 623 being discontinued and the downloads not being available 624 anymore. 625 </para> 626 </listitem> 627 <listitem> 628 <para> 629 The httpd service now saves log files with a .log file 630 extension by default for easier integration with the logrotate 631 service. 632 </para> 633 </listitem> 634 <listitem> 635 <para> 636 The owncloud server packages and httpd subservice module were 637 removed from nixpkgs due to the lack of maintainers. 638 </para> 639 </listitem> 640 <listitem> 641 <para> 642 It is possible now to uze ZRAM devices as general purpose 643 ephemeral block devices, not only as swap. Using more than 1 644 device as ZRAM swap is no longer recommended, but is still 645 possible by setting <literal>zramSwap.swapDevices</literal> 646 explicitly. 647 </para> 648 <para> 649 ZRAM algorithm can be changed now. 650 </para> 651 <para> 652 Changes to ZRAM algorithm are applied during 653 <literal>nixos-rebuild switch</literal>, so make sure you have 654 enough swap space on disk to survive ZRAM device rebuild. 655 Alternatively, use 656 <literal>nixos-rebuild boot; reboot</literal>. 657 </para> 658 </listitem> 659 <listitem> 660 <para> 661 Flat volumes are now disabled by default in 662 <literal>hardware.pulseaudio</literal>. This has been done to 663 prevent applications, which are unaware of this feature, 664 setting their volumes to 100% on startup causing harm to your 665 audio hardware and potentially your ears. 666 </para> 667 <note> 668 <para> 669 With this change application specific volumes are relative 670 to the master volume which can be adjusted independently, 671 whereas before they were absolute; meaning that in effect, 672 it scaled the device-volume with the volume of the loudest 673 application. 674 </para> 675 </note> 676 </listitem> 677 <listitem> 678 <para> 679 The 680 <link xlink:href="https://github.com/DanielAdolfsson/ndppd"><literal>ndppd</literal></link> 681 module now supports 682 <link xlink:href="options.html#opt-services.ndppd.enable">all 683 config options</link> provided by the current upstream version 684 as service options. Additionally the <literal>ndppd</literal> 685 package doesn't contain the systemd unit configuration from 686 upstream anymore, the unit is completely configured by the 687 NixOS module now. 688 </para> 689 </listitem> 690 <listitem> 691 <para> 692 New installs of NixOS will default to the Redmine 4.x series 693 unless otherwise specified in 694 <literal>services.redmine.package</literal> while existing 695 installs of NixOS will default to the Redmine 3.x series. 696 </para> 697 </listitem> 698 <listitem> 699 <para> 700 The 701 <link xlink:href="options.html#opt-services.grafana.enable">Grafana 702 module</link> now supports declarative 703 <link xlink:href="http://docs.grafana.org/administration/provisioning/">datasource 704 and dashboard</link> provisioning. 705 </para> 706 </listitem> 707 <listitem> 708 <para> 709 The use of insecure ports on kubernetes has been deprecated. 710 Thus options: 711 <literal>services.kubernetes.apiserver.port</literal> and 712 <literal>services.kubernetes.controllerManager.port</literal> 713 has been renamed to <literal>.insecurePort</literal>, and 714 default of both options has changed to 0 (disabled). 715 </para> 716 </listitem> 717 <listitem> 718 <para> 719 Note that the default value of 720 <literal>services.kubernetes.apiserver.bindAddress</literal> 721 has changed from 127.0.0.1 to 0.0.0.0, allowing the apiserver 722 to be accessible from outside the master node itself. If the 723 apiserver insecurePort is enabled, it is strongly recommended 724 to only bind on the loopback interface. See: 725 <literal>services.kubernetes.apiserver.insecurebindAddress</literal>. 726 </para> 727 </listitem> 728 <listitem> 729 <para> 730 The option 731 <literal>services.kubernetes.apiserver.allowPrivileged</literal> 732 and 733 <literal>services.kubernetes.kubelet.allowPrivileged</literal> 734 now defaults to false. Disallowing privileged containers on 735 the cluster. 736 </para> 737 </listitem> 738 <listitem> 739 <para> 740 The kubernetes module does no longer add the kubernetes 741 package to <literal>environment.systemPackages</literal> 742 implicitly. 743 </para> 744 </listitem> 745 <listitem> 746 <para> 747 The <literal>intel</literal> driver has been removed from the 748 default list of 749 <link xlink:href="options.html#opt-services.xserver.videoDrivers">X.org 750 video drivers</link>. The <literal>modesetting</literal> 751 driver should take over automatically, it is better maintained 752 upstream and has less problems with advanced X11 features. 753 This can lead to a change in the output names used by 754 <literal>xrandr</literal>. Some performance regressions on 755 some GPU models might happen. Some OpenCL and VA-API 756 applications might also break (Beignet seems to provide OpenCL 757 support with <literal>modesetting</literal> driver, too). 758 Kernel mode setting API does not support backlight control, so 759 <literal>xbacklight</literal> tool will not work; backlight 760 level can be controlled directly via <literal>/sys/</literal> 761 or with <literal>brightnessctl</literal>. Users who need this 762 functionality more than multi-output XRandR are advised to add 763 `intel` to `videoDrivers` and report an issue (or provide 764 additional details in an existing one) 765 </para> 766 </listitem> 767 <listitem> 768 <para> 769 Openmpi has been updated to version 4.0.0, which removes some 770 deprecated MPI-1 symbols. This may break some older 771 applications that still rely on those symbols. An upgrade 772 guide can be found 773 <link xlink:href="https://www.open-mpi.org/faq/?category=mpi-removed">here</link>. 774 </para> 775 <para> 776 The nginx package now relies on OpenSSL 1.1 and supports TLS 777 1.3 by default. You can set the protocols used by the nginx 778 service using 779 <link xlink:href="options.html#opt-services.nginx.sslProtocols">services.nginx.sslProtocols</link>. 780 </para> 781 </listitem> 782 <listitem> 783 <para> 784 A new subcommand <literal>nixos-rebuild edit</literal> was 785 added. 786 </para> 787 </listitem> 788 </itemizedlist> 789 </section> 790</section>