at 23.05-pre 82 kB view raw
1<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-release-21.11"> 2 <title>Release 21.11 (“Porcupine”, 2021/11/30)</title> 3 <itemizedlist spacing="compact"> 4 <listitem> 5 <para> 6 Support is planned until the end of June 2022, handing over to 7 22.05. 8 </para> 9 </listitem> 10 </itemizedlist> 11 <section xml:id="sec-release-21.11-highlights"> 12 <title>Highlights</title> 13 <para> 14 In addition to numerous new and upgraded packages, this release 15 has the following highlights: 16 </para> 17 <itemizedlist> 18 <listitem> 19 <para> 20 Nix has been updated to version 2.4, reference its 21 <link xlink:href="https://discourse.nixos.org/t/nix-2-4-released/15822">release 22 notes</link> for more information on what has changed. The 23 previous version of Nix, 2.3.16, remains available for the 24 time being in the <literal>nix_2_3</literal> package. 25 </para> 26 </listitem> 27 <listitem> 28 <para> 29 <literal>iptables</literal> is now using 30 <literal>nf_tables</literal> under the hood, by using 31 <literal>iptables-nft</literal>, similar to 32 <link xlink:href="https://wiki.debian.org/nftables#Current_status">Debian</link> 33 and 34 <link xlink:href="https://fedoraproject.org/wiki/Changes/iptables-nft-default">Fedora</link>. 35 This means, <literal>ip[6]tables</literal>, 36 <literal>arptables</literal> and <literal>ebtables</literal> 37 commands will actually show rules from some specific tables in 38 the <literal>nf_tables</literal> kernel subsystem. In case 39 you’re migrating from an older release without rebooting, 40 there might be cases where you end up with iptable rules 41 configured both in the legacy <literal>iptables</literal> 42 kernel backend, as well as in the <literal>nf_tables</literal> 43 backend. This can lead to confusing firewall behaviour. An 44 <literal>iptables-save</literal> after switching will complain 45 about <quote>iptables-legacy tables present</quote>. It’s 46 probably best to reboot after the upgrade, or manually 47 removing all legacy iptables rules (via the 48 <literal>iptables-legacy</literal> package). 49 </para> 50 </listitem> 51 <listitem> 52 <para> 53 systemd got an <literal>nftables</literal> backend, and 54 configures (networkd) rules in their own 55 <literal>io.systemd.*</literal> tables. Check 56 <literal>nft list ruleset</literal> to see these rules, not 57 <literal>iptables-save</literal> (which only shows 58 <literal>iptables</literal>-created rules. 59 </para> 60 </listitem> 61 <listitem> 62 <para> 63 PHP now defaults to PHP 8.0, updated from 7.4. 64 </para> 65 </listitem> 66 <listitem> 67 <para> 68 kops now defaults to 1.21.1, which uses containerd as the 69 default runtime. 70 </para> 71 </listitem> 72 <listitem> 73 <para> 74 <literal>python3</literal> now defaults to Python 3.9, updated 75 from Python 3.8. 76 </para> 77 </listitem> 78 <listitem> 79 <para> 80 PostgreSQL now defaults to major version 13. 81 </para> 82 </listitem> 83 <listitem> 84 <para> 85 spark now defaults to spark 3, updated from 2. A 86 <link xlink:href="https://spark.apache.org/docs/latest/core-migration-guide.html#upgrading-from-core-24-to-30">migration 87 guide</link> is available. 88 </para> 89 </listitem> 90 <listitem> 91 <para> 92 Improvements have been made to the Hadoop module and package: 93 </para> 94 <itemizedlist spacing="compact"> 95 <listitem> 96 <para> 97 HDFS and YARN now support production-ready highly 98 available deployments with automatic failover. 99 </para> 100 </listitem> 101 <listitem> 102 <para> 103 Hadoop now defaults to Hadoop 3, updated from 2. 104 </para> 105 </listitem> 106 <listitem> 107 <para> 108 JournalNode, ZKFS and HTTPFS services have been added. 109 </para> 110 </listitem> 111 </itemizedlist> 112 </listitem> 113 <listitem> 114 <para> 115 Activation scripts can now, optionally, be run during a 116 <literal>nixos-rebuild dry-activate</literal> and can detect 117 the dry activation by reading 118 <literal>$NIXOS_ACTION</literal>. This allows activation 119 scripts to output what they would change if the activation was 120 really run. The users/modules activation script supports this 121 and outputs some of is actions. 122 </para> 123 </listitem> 124 <listitem> 125 <para> 126 KDE Plasma now finally works on Wayland. 127 </para> 128 </listitem> 129 <listitem> 130 <para> 131 bash now defaults to major version 5. 132 </para> 133 </listitem> 134 <listitem> 135 <para> 136 Systemd was updated to version 249 (from 247). 137 </para> 138 </listitem> 139 <listitem> 140 <para> 141 Pantheon desktop has been updated to version 6. Due to changes 142 of screen locker, if locking doesn’t work for you, please try 143 <literal>gsettings set org.gnome.desktop.lockdown disable-lock-screen false</literal>. 144 </para> 145 </listitem> 146 <listitem> 147 <para> 148 <literal>kubernetes-helm</literal> now defaults to 3.7.0, 149 which introduced some breaking changes to the experimental OCI 150 manifest format. See 151 <link xlink:href="https://github.com/helm/community/blob/main/hips/hip-0006.md">HIP 152 6</link> for more details. <literal>helmfile</literal> also 153 defaults to 0.141.0, which is the minimum compatible version. 154 </para> 155 </listitem> 156 <listitem> 157 <para> 158 GNOME has been upgraded to 41. Please take a look at their 159 <link xlink:href="https://help.gnome.org/misc/release-notes/41.0/">Release 160 Notes</link> for details. 161 </para> 162 </listitem> 163 <listitem> 164 <para> 165 LXD support was greatly improved: 166 </para> 167 <itemizedlist spacing="compact"> 168 <listitem> 169 <para> 170 building LXD images from configurations is now directly 171 possible with just nixpkgs 172 </para> 173 </listitem> 174 <listitem> 175 <para> 176 hydra is now building nixOS LXD images that can be used 177 standalone with full nixos-rebuild support 178 </para> 179 </listitem> 180 </itemizedlist> 181 </listitem> 182 <listitem> 183 <para> 184 OpenSSH was updated to version 8.8p1 185 </para> 186 <itemizedlist spacing="compact"> 187 <listitem> 188 <para> 189 This breaks connections to old SSH daemons as ssh-rsa host 190 keys and ssh-rsa public keys that were signed with SHA-1 191 are disabled by default now 192 </para> 193 </listitem> 194 <listitem> 195 <para> 196 These can be re-enabled, see the 197 <link xlink:href="https://www.openssh.com/txt/release-8.8">OpenSSH 198 changelog</link> for details 199 </para> 200 </listitem> 201 </itemizedlist> 202 </listitem> 203 <listitem> 204 <para> 205 ORY Kratos was updated to version 0.8.0-alpha.3 206 </para> 207 <itemizedlist spacing="compact"> 208 <listitem> 209 <para> 210 This release requires you to run SQL migrations. Please, 211 as always, create a backup of your database first! 212 </para> 213 </listitem> 214 <listitem> 215 <para> 216 The SDKs are now generated with tag v0alpha2 to reflect 217 that some signatures have changed in a breaking fashion. 218 Please update your imports from v0alpha1 to v0alpha2. 219 </para> 220 </listitem> 221 <listitem> 222 <para> 223 The SMTPS scheme used in courier config URL with 224 cleartext/StartTLS/TLS SMTP connection types is now only 225 supporting implicit TLS. For StartTLS and cleartext SMTP, 226 please use the SMTP scheme instead. 227 </para> 228 </listitem> 229 <listitem> 230 <para> 231 for more details, see 232 <link xlink:href="https://github.com/ory/kratos/releases/tag/v0.8.0-alpha.1">Release 233 Notes</link>. 234 </para> 235 </listitem> 236 </itemizedlist> 237 </listitem> 238 </itemizedlist> 239 </section> 240 <section xml:id="sec-release-21.11-new-services"> 241 <title>New Services</title> 242 <itemizedlist> 243 <listitem> 244 <para> 245 <link xlink:href="https://digint.ch/btrbk/index.html">btrbk</link>, 246 a backup tool for btrfs subvolumes, taking advantage of btrfs 247 specific capabilities to create atomic snapshots and transfer 248 them incrementally to your backup locations. Available as 249 <link xlink:href="options.html#opt-services.brtbk.instances">services.btrbk</link>. 250 </para> 251 </listitem> 252 <listitem> 253 <para> 254 <link xlink:href="https://github.com/xrelkd/clipcat/">clipcat</link>, 255 an X11 clipboard manager written in Rust. Available at 256 <link xlink:href="options.html#opt-services.clipcat.enable">services.clipcat</link>. 257 </para> 258 </listitem> 259 <listitem> 260 <para> 261 <link xlink:href="https://github.com/dexidp/dex">dex</link>, 262 an OpenID Connect (OIDC) identity and OAuth 2.0 provider. 263 Available at 264 <link xlink:href="options.html#opt-services.dex.enable">services.dex</link>. 265 </para> 266 </listitem> 267 <listitem> 268 <para> 269 <link xlink:href="https://github.com/maxmind/geoipupdate">geoipupdate</link>, 270 a GeoIP database updater from MaxMind. Available as 271 <link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>. 272 </para> 273 </listitem> 274 <listitem> 275 <para> 276 <link xlink:href="https://github.com/jitsi/jibri">Jibri</link>, 277 a service for recording or streaming a Jitsi Meet conference. 278 Available as 279 <link xlink:href="options.html#opt-services.jibri.enable">services.jibri</link>. 280 </para> 281 </listitem> 282 <listitem> 283 <para> 284 <link xlink:href="https://www.isc.org/kea/">Kea</link>, ISCs 285 2nd generation DHCP and DDNS server suite. Available at 286 <link xlink:href="options.html#opt-services.kea.dhcp4">services.kea</link>. 287 </para> 288 </listitem> 289 <listitem> 290 <para> 291 <link xlink:href="https://owncast.online/">owncast</link>, 292 self-hosted video live streaming solution. Available at 293 <link xlink:href="options.html#opt-services.owncast.enable">services.owncast</link>. 294 </para> 295 </listitem> 296 <listitem> 297 <para> 298 <link xlink:href="https://joinpeertube.org/">PeerTube</link>, 299 developed by Framasoft, is the free and decentralized 300 alternative to video platforms. Available at 301 <link xlink:href="options.html#opt-services.peertube.enable">services.peertube</link>. 302 </para> 303 </listitem> 304 <listitem> 305 <para> 306 <link xlink:href="https://sr.ht">sourcehut</link>, a 307 collection of tools useful for software development. Available 308 as 309 <link xlink:href="options.html#opt-services.sourcehut.enable">services.sourcehut</link>. 310 </para> 311 </listitem> 312 <listitem> 313 <para> 314 <link xlink:href="https://download.pureftpd.org/pub/ucarp/README">ucarp</link>, 315 an userspace implementation of the Common Address Redundancy 316 Protocol (CARP). Available as 317 <link xlink:href="options.html#opt-networking.ucarp.enable">networking.ucarp</link>. 318 </para> 319 </listitem> 320 <listitem> 321 <para> 322 Users of flashrom should migrate to 323 <link xlink:href="options.html#opt-programs.flashrom.enable">programs.flashrom.enable</link> 324 and add themselves to the <literal>flashrom</literal> group to 325 be able to access programmers supported by flashrom. 326 </para> 327 </listitem> 328 <listitem> 329 <para> 330 <link xlink:href="https://vikunja.io">vikunja</link>, a to-do 331 list app. Available as 332 <link linkend="opt-services.vikunja.enable">services.vikunja</link>. 333 </para> 334 </listitem> 335 <listitem> 336 <para> 337 <link xlink:href="https://github.com/evilsocket/opensnitch">opensnitch</link>, 338 an application firewall. Available as 339 <link linkend="opt-services.opensnitch.enable">services.opensnitch</link>. 340 </para> 341 </listitem> 342 <listitem> 343 <para> 344 <link xlink:href="https://www.snapraid.it/">snapraid</link>, a 345 backup program for disk arrays. Available as 346 <link linkend="opt-snapraid.enable">snapraid</link>. 347 </para> 348 </listitem> 349 <listitem> 350 <para> 351 <link xlink:href="https://github.com/hockeypuck/hockeypuck">Hockeypuck</link>, 352 a OpenPGP Key Server. Available as 353 <link linkend="opt-services.hockeypuck.enable">services.hockeypuck</link>. 354 </para> 355 </listitem> 356 <listitem> 357 <para> 358 <link xlink:href="https://github.com/buildkite/buildkite-agent-metrics">buildkite-agent-metrics</link>, 359 a command-line tool for collecting Buildkite agent metrics, 360 now has a Prometheus exporter available as 361 <link linkend="opt-services.prometheus.exporters.buildkite-agent.enable">services.prometheus.exporters.buildkite-agent</link>. 362 </para> 363 </listitem> 364 <listitem> 365 <para> 366 <link xlink:href="https://github.com/prometheus/influxdb_exporter">influxdb-exporter</link> 367 a Prometheus exporter that exports metrics received on an 368 InfluxDB compatible endpoint is now available as 369 <link linkend="opt-services.prometheus.exporters.influxdb.enable">services.prometheus.exporters.influxdb</link>. 370 </para> 371 </listitem> 372 <listitem> 373 <para> 374 <link xlink:href="https://github.com/matrix-discord/mx-puppet-discord">mx-puppet-discord</link>, 375 a discord puppeting bridge for matrix. Available as 376 <link linkend="opt-services.mx-puppet-discord.enable">services.mx-puppet-discord</link>. 377 </para> 378 </listitem> 379 <listitem> 380 <para> 381 <link xlink:href="https://www.meshcommander.com/meshcentral2/overview">MeshCentral</link>, 382 a remote administration service (<quote>TeamViewer but 383 self-hosted and with more features</quote>) is now available 384 with a package and a module: 385 <link linkend="opt-services.meshcentral.enable">services.meshcentral.enable</link> 386 </para> 387 </listitem> 388 <listitem> 389 <para> 390 <link xlink:href="https://github.com/Arksine/moonraker">moonraker</link>, 391 an API web server for Klipper. Available as 392 <link linkend="opt-services.moonraker.enable">moonraker</link>. 393 </para> 394 </listitem> 395 <listitem> 396 <para> 397 <link xlink:href="https://github.com/influxdata/influxdb">influxdb2</link>, 398 a Scalable datastore for metrics, events, and real-time 399 analytics. Available as 400 <link linkend="opt-services.influxdb2.enable">services.influxdb2</link>. 401 </para> 402 </listitem> 403 <listitem> 404 <para> 405 <link xlink:href="https://posativ.org/isso/">isso</link>, a 406 commenting server similar to Disqus. Available as 407 <link linkend="opt-services.isso.enable">isso</link> 408 </para> 409 </listitem> 410 <listitem> 411 <para> 412 <link xlink:href="https://www.navidrome.org/">navidrome</link>, 413 a personal music streaming server with subsonic-compatible 414 api. Available as 415 <link linkend="opt-services.navidrome.enable">navidrome</link>. 416 </para> 417 </listitem> 418 <listitem> 419 <para> 420 <link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a 421 Klipper web interface for managing 3d printers using 422 moonraker. Available as 423 <link linkend="opt-services.fluidd.enable">fluidd</link>. 424 </para> 425 </listitem> 426 <listitem> 427 <para> 428 <link xlink:href="https://github.com/earnestly/sx">sx</link>, 429 a simple alternative to both xinit and startx for starting a 430 Xorg server. Available as 431 <link linkend="opt-services.xserver.displayManager.sx.enable">services.xserver.displayManager.sx</link> 432 </para> 433 </listitem> 434 <listitem> 435 <para> 436 <link xlink:href="https://postfixadmin.sourceforge.io/">postfixadmin</link>, 437 a web based virtual user administration interface for Postfix 438 mail servers. Available as 439 <link linkend="opt-services.postfixadmin.enable">postfixadmin</link>. 440 </para> 441 </listitem> 442 <listitem> 443 <para> 444 <link xlink:href="https://wiki.servarr.com/prowlarr">prowlarr</link>, 445 an indexer manager/proxy built on the popular arr .net/reactjs 446 base stack 447 <link linkend="opt-services.prowlarr.enable">services.prowlarr</link>. 448 </para> 449 </listitem> 450 <listitem> 451 <para> 452 <link xlink:href="https://sr.ht/~emersion/soju">soju</link>, a 453 user-friendly IRC bouncer. Available as 454 <link xlink:href="options.html#opt-services.soju.enable">services.soju</link>. 455 </para> 456 </listitem> 457 <listitem> 458 <para> 459 <link xlink:href="https://nats.io/">nats</link>, a high 460 performance cloud and edge messaging system. Available as 461 <link linkend="opt-services.nats.enable">services.nats</link>. 462 </para> 463 </listitem> 464 <listitem> 465 <para> 466 <link xlink:href="https://git-scm.com">git</link>, a 467 distributed version control system. Available as 468 <link xlink:href="options.html#opt-programs.git.enable">programs.git</link>. 469 </para> 470 </listitem> 471 <listitem> 472 <para> 473 <link xlink:href="https://domainaware.github.io/parsedmarc/">parsedmarc</link>, 474 a service which parses incoming 475 <link xlink:href="https://dmarc.org/">DMARC</link> reports and 476 stores or sends them to a downstream service for further 477 analysis. Documented in 478 <link linkend="module-services-parsedmarc">its manual 479 entry</link>. 480 </para> 481 </listitem> 482 <listitem> 483 <para> 484 <link xlink:href="https://spark.apache.org/">spark</link>, a 485 unified analytics engine for large-scale data processing. 486 </para> 487 </listitem> 488 <listitem> 489 <para> 490 <link xlink:href="https://github.com/JoseExposito/touchegg">touchegg</link>, 491 a multi-touch gesture recognizer. Available as 492 <link linkend="opt-services.touchegg.enable">services.touchegg</link>. 493 </para> 494 </listitem> 495 <listitem> 496 <para> 497 <link xlink:href="https://github.com/pantheon-tweaks/pantheon-tweaks">pantheon-tweaks</link>, 498 an unofficial system settings panel for Pantheon. Available as 499 <link linkend="opt-programs.pantheon-tweaks.enable">programs.pantheon-tweaks</link>. 500 </para> 501 </listitem> 502 <listitem> 503 <para> 504 <link xlink:href="https://github.com/DanielOgorchock/joycond">joycond</link>, 505 a service that uses <literal>hid-nintendo</literal> to provide 506 nintendo joycond pairing and better nintendo switch pro 507 controller support. 508 </para> 509 </listitem> 510 <listitem> 511 <para> 512 <link xlink:href="https://github.com/opensvc/multipath-tools">multipath</link>, 513 the device mapper multipath (DM-MP) daemon. Available as 514 <link linkend="opt-services.multipath.enable">services.multipath</link>. 515 </para> 516 </listitem> 517 <listitem> 518 <para> 519 <link xlink:href="https://www.seafile.com/en/home/">seafile</link>, 520 an open source file syncing &amp; sharing software. Available 521 as 522 <link xlink:href="options.html#opt-services.seafile.enable">services.seafile</link>. 523 </para> 524 </listitem> 525 <listitem> 526 <para> 527 <link xlink:href="https://github.com/mchehab/rasdaemon">rasdaemon</link>, 528 a hardware error logging daemon. Available as 529 <link linkend="opt-hardware.rasdaemon.enable">hardware.rasdaemon</link>. 530 </para> 531 </listitem> 532 <listitem> 533 <para> 534 <literal>code-server</literal>-module now available 535 </para> 536 </listitem> 537 <listitem> 538 <para> 539 <link xlink:href="https://github.com/xmrig/xmrig">xmrig</link>, 540 a high performance, open source, cross platform RandomX, 541 KawPow, CryptoNight and AstroBWT unified CPU/GPU miner and 542 RandomX benchmark. 543 </para> 544 </listitem> 545 <listitem> 546 <para> 547 Auto nice daemons 548 <link xlink:href="https://github.com/Nefelim4ag/Ananicy">ananicy</link> 549 and 550 <link xlink:href="https://gitlab.com/ananicy-cpp/ananicy-cpp/">ananicy-cpp</link>. 551 Available as 552 <link linkend="opt-services.ananicy.enable">services.ananicy</link>. 553 </para> 554 </listitem> 555 <listitem> 556 <para> 557 <link xlink:href="https://github.com/prometheus-community/smartctl_exporter">smartctl_exporter</link>, 558 a Prometheus exporter for 559 <link xlink:href="https://en.wikipedia.org/wiki/S.M.A.R.T.">S.M.A.R.T.</link> 560 data. Available as 561 <link xlink:href="options.html#opt-services.prometheus.exporters.smartctl.enable">services.prometheus.exporters.smartctl</link>. 562 </para> 563 </listitem> 564 </itemizedlist> 565 </section> 566 <section xml:id="sec-release-21.11-incompatibilities"> 567 <title>Backward Incompatibilities</title> 568 <itemizedlist> 569 <listitem> 570 <para> 571 The NixOS VM test framework, 572 <literal>pkgs.nixosTest</literal>/<literal>make-test-python.nix</literal> 573 (<literal>pkgs.testers.nixosTest</literal> since 22.05), now 574 requires detaching commands such as 575 <literal>succeed(&quot;foo &amp;&quot;)</literal> and 576 <literal>succeed(&quot;foo | xclip -i&quot;)</literal> to 577 close stdout. This can be done with a redirect such as 578 <literal>succeed(&quot;foo &gt;&amp;2 &amp;&quot;)</literal>. 579 This breaking change was necessitated by a race condition 580 causing tests to fail or hang. It applies to all methods that 581 invoke commands on the nodes, including 582 <literal>execute</literal>, <literal>succeed</literal>, 583 <literal>fail</literal>, 584 <literal>wait_until_succeeds</literal>, 585 <literal>wait_until_fails</literal>. 586 </para> 587 </listitem> 588 <listitem> 589 <para> 590 The <literal>services.wakeonlan</literal> option was removed, 591 and replaced with 592 <literal>networking.interfaces.&lt;name&gt;.wakeOnLan</literal>. 593 </para> 594 </listitem> 595 <listitem> 596 <para> 597 The <literal>security.wrappers</literal> option now requires 598 to always specify an owner, group and whether the 599 setuid/setgid bit should be set. This is motivated by the fact 600 that before NixOS 21.11, specifying either setuid or setgid 601 but not owner/group resulted in wrappers owned by 602 nobody/nogroup, which is unsafe. 603 </para> 604 </listitem> 605 <listitem> 606 <para> 607 Since <literal>iptables</literal> now uses 608 <literal>nf_tables</literal> backend and 609 <literal>ipset</literal> doesn’t support it, some applications 610 (ferm, shorewall, firehol) may have limited functionality. 611 </para> 612 </listitem> 613 <listitem> 614 <para> 615 The <literal>paperless</literal> module and package have been 616 removed. All users should migrate to the successor 617 <literal>paperless-ng</literal> instead. The Paperless project 618 <link xlink:href="https://github.com/the-paperless-project/paperless/commit/9b0063c9731f7c5f65b1852cb8caff97f5e40ba4">has 619 been archived</link> and advises all users to use 620 <literal>paperless-ng</literal> instead. 621 </para> 622 <para> 623 Users can use the <literal>services.paperless-ng</literal> 624 module as a replacement while noting the following 625 incompatibilities: 626 </para> 627 <itemizedlist spacing="compact"> 628 <listitem> 629 <para> 630 <literal>services.paperless.ocrLanguages</literal> has no 631 replacement. Users should migrate to 632 <link xlink:href="options.html#opt-services.paperless-ng.extraConfig"><literal>services.paperless-ng.extraConfig</literal></link> 633 instead: 634 </para> 635 </listitem> 636 </itemizedlist> 637 <programlisting language="bash"> 638{ 639 services.paperless-ng.extraConfig = { 640 # Provide languages as ISO 639-2 codes 641 # separated by a plus (+) sign. 642 # https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes 643 PAPERLESS_OCR_LANGUAGE = &quot;deu+eng+jpn&quot;; # German &amp; English &amp; Japanse 644 }; 645} 646</programlisting> 647 <itemizedlist> 648 <listitem> 649 <para> 650 If you previously specified 651 <literal>PAPERLESS_CONSUME_MAIL_*</literal> settings in 652 <literal>services.paperless.extraConfig</literal> you 653 should remove those options now. You now 654 <emphasis>must</emphasis> define those settings in the 655 admin interface of paperless-ng. 656 </para> 657 </listitem> 658 <listitem> 659 <para> 660 Option <literal>services.paperless.manage</literal> no 661 longer exists. Use the script at 662 <literal>${services.paperless-ng.dataDir}/paperless-ng-manage</literal> 663 instead. Note that this script only exists after the 664 <literal>paperless-ng</literal> service has been started 665 at least once. 666 </para> 667 </listitem> 668 <listitem> 669 <para> 670 After switching to the new system configuration you should 671 run the Django management command to reindex your 672 documents and optionally create a user, if you don’t have 673 one already. 674 </para> 675 <para> 676 To do so, enter the data directory (the value of 677 <literal>services.paperless-ng.dataDir</literal>, 678 <literal>/var/lib/paperless</literal> by default), switch 679 to the paperless user and execute the management command 680 like below: 681 </para> 682 <programlisting> 683$ cd /var/lib/paperless 684$ su paperless -s /bin/sh 685$ ./paperless-ng-manage document_index reindex 686# if not already done create a user account, paperless-ng requires a login 687$ ./paperless-ng-manage createsuperuser 688Username (leave blank to use 'paperless'): my-user-name 689Email address: me@example.com 690Password: ********** 691Password (again): ********** 692Superuser created successfully. 693</programlisting> 694 </listitem> 695 </itemizedlist> 696 </listitem> 697 <listitem> 698 <para> 699 The <literal>staticjinja</literal> package has been upgraded 700 from 1.0.4 to 4.1.1 701 </para> 702 </listitem> 703 <listitem> 704 <para> 705 Firefox v91 does not support addons with invalid signature 706 anymore. Firefox ESR needs to be used for nix addon support. 707 </para> 708 </listitem> 709 <listitem> 710 <para> 711 The <literal>erigon</literal> ethereum node has moved to a new 712 database format in <literal>2021-05-04</literal>, and requires 713 a full resync 714 </para> 715 </listitem> 716 <listitem> 717 <para> 718 The <literal>erigon</literal> ethereum node has moved it’s 719 database location in <literal>2021-08-03</literal>, users 720 upgrading must manually move their chaindata (see 721 <link xlink:href="https://github.com/ledgerwatch/erigon/releases/tag/v2021.08.03">release 722 notes</link>). 723 </para> 724 </listitem> 725 <listitem> 726 <para> 727 <link xlink:href="options.html#opt-users.users._name_.group">users.users.&lt;name&gt;.group</link> 728 no longer defaults to <literal>nogroup</literal>, which was 729 insecure. Out-of-tree modules are likely to require 730 adaptation: instead of 731 </para> 732 <programlisting language="bash"> 733{ 734 users.users.foo = { 735 isSystemUser = true; 736 }; 737} 738</programlisting> 739 <para> 740 also create a group for your user: 741 </para> 742 <programlisting language="bash"> 743{ 744 users.users.foo = { 745 isSystemUser = true; 746 group = &quot;foo&quot;; 747 }; 748 users.groups.foo = {}; 749} 750</programlisting> 751 </listitem> 752 <listitem> 753 <para> 754 <literal>services.geoip-updater</literal> was broken and has 755 been replaced by 756 <link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>. 757 </para> 758 </listitem> 759 <listitem> 760 <para> 761 <literal>ihatemoney</literal> has been updated to version 762 5.1.1 763 (<link xlink:href="https://github.com/spiral-project/ihatemoney/blob/5.1.1/CHANGELOG.rst">release 764 notes</link>). If you serve ihatemoney by HTTP rather than 765 HTTPS, you must set 766 <link xlink:href="options.html#opt-services.ihatemoney.secureCookie">services.ihatemoney.secureCookie</link> 767 to <literal>false</literal>. 768 </para> 769 </listitem> 770 <listitem> 771 <para> 772 PHP 7.3 is no longer supported due to upstream not supporting 773 this version for the entire lifecycle of the 21.11 release. 774 </para> 775 </listitem> 776 <listitem> 777 <para> 778 Those making use of <literal>buildBazelPackage</literal> will 779 need to regenerate the fetch hashes (preferred), or set 780 <literal>fetchConfigured = false;</literal>. 781 </para> 782 </listitem> 783 <listitem> 784 <para> 785 <literal>consul</literal> was upgraded to a new major release 786 with breaking changes, see 787 <link xlink:href="https://github.com/hashicorp/consul/releases/tag/v1.10.0">upstream 788 changelog</link>. 789 </para> 790 </listitem> 791 <listitem> 792 <para> 793 fsharp41 has been removed in preference to use the latest 794 dotnet-sdk 795 </para> 796 </listitem> 797 <listitem> 798 <para> 799 The following F#-related packages have been removed for being 800 unmaintaned. Please use <literal>fetchNuGet</literal> for 801 specific packages. 802 </para> 803 <itemizedlist spacing="compact"> 804 <listitem> 805 <para> 806 ExtCore 807 </para> 808 </listitem> 809 <listitem> 810 <para> 811 Fake 812 </para> 813 </listitem> 814 <listitem> 815 <para> 816 Fantomas 817 </para> 818 </listitem> 819 <listitem> 820 <para> 821 FsCheck 822 </para> 823 </listitem> 824 <listitem> 825 <para> 826 FsCheck262 827 </para> 828 </listitem> 829 <listitem> 830 <para> 831 FsCheckNunit 832 </para> 833 </listitem> 834 <listitem> 835 <para> 836 FSharpAutoComplete 837 </para> 838 </listitem> 839 <listitem> 840 <para> 841 FSharpCompilerCodeDom 842 </para> 843 </listitem> 844 <listitem> 845 <para> 846 FSharpCompilerService 847 </para> 848 </listitem> 849 <listitem> 850 <para> 851 FSharpCompilerTools 852 </para> 853 </listitem> 854 <listitem> 855 <para> 856 FSharpCore302 857 </para> 858 </listitem> 859 <listitem> 860 <para> 861 FSharpCore3125 862 </para> 863 </listitem> 864 <listitem> 865 <para> 866 FSharpCore4001 867 </para> 868 </listitem> 869 <listitem> 870 <para> 871 FSharpCore4117 872 </para> 873 </listitem> 874 <listitem> 875 <para> 876 FSharpData 877 </para> 878 </listitem> 879 <listitem> 880 <para> 881 FSharpData225 882 </para> 883 </listitem> 884 <listitem> 885 <para> 886 FSharpDataSQLProvider 887 </para> 888 </listitem> 889 <listitem> 890 <para> 891 FSharpFormatting 892 </para> 893 </listitem> 894 <listitem> 895 <para> 896 FsLexYacc 897 </para> 898 </listitem> 899 <listitem> 900 <para> 901 FsLexYacc706 902 </para> 903 </listitem> 904 <listitem> 905 <para> 906 FsLexYaccRuntime 907 </para> 908 </listitem> 909 <listitem> 910 <para> 911 FsPickler 912 </para> 913 </listitem> 914 <listitem> 915 <para> 916 FsUnit 917 </para> 918 </listitem> 919 <listitem> 920 <para> 921 Projekt 922 </para> 923 </listitem> 924 <listitem> 925 <para> 926 Suave 927 </para> 928 </listitem> 929 <listitem> 930 <para> 931 UnionArgParser 932 </para> 933 </listitem> 934 <listitem> 935 <para> 936 ExcelDnaRegistration 937 </para> 938 </listitem> 939 <listitem> 940 <para> 941 MathNetNumerics 942 </para> 943 </listitem> 944 </itemizedlist> 945 </listitem> 946 <listitem> 947 <para> 948 <literal>programs.x2goserver</literal> is now 949 <literal>services.x2goserver</literal> 950 </para> 951 </listitem> 952 <listitem> 953 <para> 954 The following dotnet-related packages have been removed for 955 being unmaintaned. Please use <literal>fetchNuGet</literal> 956 for specific packages. 957 </para> 958 <itemizedlist spacing="compact"> 959 <listitem> 960 <para> 961 Autofac 962 </para> 963 </listitem> 964 <listitem> 965 <para> 966 SystemValueTuple 967 </para> 968 </listitem> 969 <listitem> 970 <para> 971 MicrosoftDiaSymReader 972 </para> 973 </listitem> 974 <listitem> 975 <para> 976 MicrosoftDiaSymReaderPortablePdb 977 </para> 978 </listitem> 979 <listitem> 980 <para> 981 SystemCollectionsImmutable 982 </para> 983 </listitem> 984 <listitem> 985 <para> 986 SystemCollectionsImmutable131 987 </para> 988 </listitem> 989 <listitem> 990 <para> 991 SystemReflectionMetadata 992 </para> 993 </listitem> 994 <listitem> 995 <para> 996 NUnit350 997 </para> 998 </listitem> 999 <listitem> 1000 <para> 1001 Deedle 1002 </para> 1003 </listitem> 1004 <listitem> 1005 <para> 1006 ExcelDna 1007 </para> 1008 </listitem> 1009 <listitem> 1010 <para> 1011 GitVersionTree 1012 </para> 1013 </listitem> 1014 <listitem> 1015 <para> 1016 NDeskOptions 1017 </para> 1018 </listitem> 1019 </itemizedlist> 1020 </listitem> 1021 </itemizedlist> 1022 <itemizedlist> 1023 <listitem> 1024 <para> 1025 The <literal>antlr</literal> package now defaults to the 4.x 1026 release instead of the old 2.7.7 version. 1027 </para> 1028 </listitem> 1029 <listitem> 1030 <para> 1031 The <literal>pulseeffects</literal> package updated to 1032 <link xlink:href="https://github.com/wwmm/easyeffects/releases/tag/v6.0.0">version 1033 4.x</link> and renamed to <literal>easyeffects</literal>. 1034 </para> 1035 </listitem> 1036 <listitem> 1037 <para> 1038 The <literal>libwnck</literal> package now defaults to the 3.x 1039 release instead of the old 2.31.0 version. 1040 </para> 1041 </listitem> 1042 <listitem> 1043 <para> 1044 The <literal>bitwarden_rs</literal> packages and modules were 1045 renamed to <literal>vaultwarden</literal> 1046 <link xlink:href="https://github.com/dani-garcia/vaultwarden/discussions/1642">following 1047 upstream</link>. More specifically, 1048 </para> 1049 <itemizedlist> 1050 <listitem> 1051 <para> 1052 <literal>pkgs.bitwarden_rs</literal>, 1053 <literal>pkgs.bitwarden_rs-sqlite</literal>, 1054 <literal>pkgs.bitwarden_rs-mysql</literal> and 1055 <literal>pkgs.bitwarden_rs-postgresql</literal> were 1056 renamed to <literal>pkgs.vaultwarden</literal>, 1057 <literal>pkgs.vaultwarden-sqlite</literal>, 1058 <literal>pkgs.vaultwarden-mysql</literal> and 1059 <literal>pkgs.vaultwarden-postgresql</literal>, 1060 respectively. 1061 </para> 1062 <itemizedlist spacing="compact"> 1063 <listitem> 1064 <para> 1065 Old names are preserved as aliases for backwards 1066 compatibility, but may be removed in the future. 1067 </para> 1068 </listitem> 1069 <listitem> 1070 <para> 1071 The <literal>bitwarden_rs</literal> executable was 1072 also renamed to <literal>vaultwarden</literal> in all 1073 packages. 1074 </para> 1075 </listitem> 1076 </itemizedlist> 1077 </listitem> 1078 <listitem> 1079 <para> 1080 <literal>pkgs.bitwarden_rs-vault</literal> was renamed to 1081 <literal>pkgs.vaultwarden-vault</literal>. 1082 </para> 1083 <itemizedlist spacing="compact"> 1084 <listitem> 1085 <para> 1086 <literal>pkgs.bitwarden_rs-vault</literal> is 1087 preserved as an alias for backwards compatibility, but 1088 may be removed in the future. 1089 </para> 1090 </listitem> 1091 <listitem> 1092 <para> 1093 The static files were moved from 1094 <literal>/usr/share/bitwarden_rs</literal> to 1095 <literal>/usr/share/vaultwarden</literal>. 1096 </para> 1097 </listitem> 1098 </itemizedlist> 1099 </listitem> 1100 <listitem> 1101 <para> 1102 The <literal>services.bitwarden_rs</literal> config module 1103 was renamed to <literal>services.vaultwarden</literal>. 1104 </para> 1105 <itemizedlist spacing="compact"> 1106 <listitem> 1107 <para> 1108 <literal>services.bitwarden_rs</literal> is preserved 1109 as an alias for backwards compatibility, but may be 1110 removed in the future. 1111 </para> 1112 </listitem> 1113 </itemizedlist> 1114 </listitem> 1115 <listitem> 1116 <para> 1117 <literal>systemd.services.bitwarden_rs</literal>, 1118 <literal>systemd.services.backup-bitwarden_rs</literal> 1119 and <literal>systemd.timers.backup-bitwarden_rs</literal> 1120 were renamed to 1121 <literal>systemd.services.vaultwarden</literal>, 1122 <literal>systemd.services.backup-vaultwarden</literal> and 1123 <literal>systemd.timers.backup-vaultwarden</literal>, 1124 respectively. 1125 </para> 1126 <itemizedlist spacing="compact"> 1127 <listitem> 1128 <para> 1129 Old names are preserved as aliases for backwards 1130 compatibility, but may be removed in the future. 1131 </para> 1132 </listitem> 1133 </itemizedlist> 1134 </listitem> 1135 <listitem> 1136 <para> 1137 <literal>users.users.bitwarden_rs</literal> and 1138 <literal>users.groups.bitwarden_rs</literal> were renamed 1139 to <literal>users.users.vaultwarden</literal> and 1140 <literal>users.groups.vaultwarden</literal>, respectively. 1141 </para> 1142 </listitem> 1143 <listitem> 1144 <para> 1145 The data directory remains located at 1146 <literal>/var/lib/bitwarden_rs</literal>, for backwards 1147 compatibility. 1148 </para> 1149 </listitem> 1150 </itemizedlist> 1151 </listitem> 1152 </itemizedlist> 1153 <itemizedlist> 1154 <listitem> 1155 <para> 1156 <literal>yggdrasil</literal> was upgraded to a new major 1157 release with breaking changes, see 1158 <link xlink:href="https://github.com/yggdrasil-network/yggdrasil-go/releases/tag/v0.4.0">upstream 1159 changelog</link>. 1160 </para> 1161 </listitem> 1162 <listitem> 1163 <para> 1164 <literal>icingaweb2</literal> was upgraded to a new release 1165 which requires a manual database upgrade, see 1166 <link xlink:href="https://github.com/Icinga/icingaweb2/releases/tag/v2.9.0">upstream 1167 changelog</link>. 1168 </para> 1169 </listitem> 1170 <listitem> 1171 <para> 1172 The <literal>isabelle</literal> package has been upgraded from 1173 2020 to 2021 1174 </para> 1175 </listitem> 1176 <listitem> 1177 <para> 1178 the <literal>mingw-64</literal> package has been upgraded from 1179 6.0.0 to 9.0.0 1180 </para> 1181 </listitem> 1182 <listitem> 1183 <para> 1184 <literal>tt-rss</literal> was upgraded to the commit on 1185 2021-06-21, which has breaking changes. If you use 1186 <literal>services.tt-rss.extraConfig</literal> you should 1187 migrate to the <literal>putenv</literal>-style configuration. 1188 See 1189 <link xlink:href="https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337">this 1190 Discourse post</link> in the tt-rss forums for more details. 1191 </para> 1192 </listitem> 1193 <listitem> 1194 <para> 1195 The following Visual Studio Code extensions were renamed to 1196 keep the naming convention uniform. 1197 </para> 1198 <itemizedlist spacing="compact"> 1199 <listitem> 1200 <para> 1201 <literal>bbenoist.Nix</literal> -&gt; 1202 <literal>bbenoist.nix</literal> 1203 </para> 1204 </listitem> 1205 <listitem> 1206 <para> 1207 <literal>CoenraadS.bracket-pair-colorizer</literal> -&gt; 1208 <literal>coenraads.bracket-pair-colorizer</literal> 1209 </para> 1210 </listitem> 1211 <listitem> 1212 <para> 1213 <literal>golang.Go</literal> -&gt; 1214 <literal>golang.go</literal> 1215 </para> 1216 </listitem> 1217 </itemizedlist> 1218 </listitem> 1219 <listitem> 1220 <para> 1221 <literal>services.uptimed</literal> now uses 1222 <literal>/var/lib/uptimed</literal> as its stateDirectory 1223 instead of <literal>/var/spool/uptimed</literal>. Make sure to 1224 move all files to the new directory. 1225 </para> 1226 </listitem> 1227 <listitem> 1228 <para> 1229 Deprecated package aliases in <literal>emacs.pkgs.*</literal> 1230 have been removed. These aliases were remnants of the old 1231 Emacs package infrastructure. We now use exact upstream names 1232 wherever possible. 1233 </para> 1234 </listitem> 1235 <listitem> 1236 <para> 1237 <literal>programs.neovim.runtime</literal> switched to a 1238 <literal>linkFarm</literal> internally, making it impossible 1239 to use wildcards in the <literal>source</literal> argument. 1240 </para> 1241 </listitem> 1242 <listitem> 1243 <para> 1244 The <literal>openrazer</literal> and 1245 <literal>openrazer-daemon</literal> packages as well as the 1246 <literal>hardware.openrazer</literal> module now require users 1247 to be members of the <literal>openrazer</literal> group 1248 instead of <literal>plugdev</literal>. With this change, users 1249 no longer need be granted the entire set of 1250 <literal>plugdev</literal> group permissions, which can 1251 include permissions other than those required by 1252 <literal>openrazer</literal>. This is desirable from a 1253 security point of view. The setting 1254 <link xlink:href="options.html#opt-services.hardware.openrazer.users"><literal>harware.openrazer.users</literal></link> 1255 can be used to add users to the <literal>openrazer</literal> 1256 group. 1257 </para> 1258 </listitem> 1259 <listitem> 1260 <para> 1261 The fontconfig service’s dpi option has been removed. 1262 Fontconfig should use Xft settings by default so there’s no 1263 need to override one value in multiple places. The user can 1264 set DPI via ~/.Xresources properly, or at the system level per 1265 monitor, or as a last resort at the system level with 1266 <literal>services.xserver.dpi</literal>. 1267 </para> 1268 </listitem> 1269 <listitem> 1270 <para> 1271 The <literal>yambar</literal> package has been split into 1272 <literal>yambar</literal> and 1273 <literal>yambar-wayland</literal>, corresponding to the xorg 1274 and wayland backend respectively. Please switch to 1275 <literal>yambar-wayland</literal> if you are on wayland. 1276 </para> 1277 </listitem> 1278 <listitem> 1279 <para> 1280 The <literal>services.minio</literal> module gained an 1281 additional option <literal>consoleAddress</literal>, that 1282 configures the address and port the web UI is listening, it 1283 defaults to <literal>:9001</literal>. To be able to access the 1284 web UI this port needs to be opened in the firewall. 1285 </para> 1286 </listitem> 1287 <listitem> 1288 <para> 1289 The <literal>varnish</literal> package was upgraded from 6.3.x 1290 to 7.x. <literal>varnish60</literal> for the last LTS release 1291 is also still available. 1292 </para> 1293 </listitem> 1294 <listitem> 1295 <para> 1296 The <literal>kubernetes</literal> package was upgraded to 1297 1.22. The <literal>kubernetes.apiserver.kubeletHttps</literal> 1298 option was removed and HTTPS is always used. 1299 </para> 1300 </listitem> 1301 <listitem> 1302 <para> 1303 The attribute <literal>linuxPackages_latest_hardened</literal> 1304 was dropped because the hardened patches lag behind the 1305 upstream kernel which made version bumps harder. If you want 1306 to use a hardened kernel, please pin it explicitly with a 1307 versioned attribute such as 1308 <literal>linuxPackages_5_10_hardened</literal>. 1309 </para> 1310 </listitem> 1311 <listitem> 1312 <para> 1313 The <literal>nomad</literal> package now defaults to a 1.1.x 1314 release instead of 1.0.x 1315 </para> 1316 </listitem> 1317 <listitem> 1318 <para> 1319 If <literal>exfat</literal> is included in 1320 <literal>boot.supportedFilesystems</literal> and when using 1321 kernel 5.7 or later, the <literal>exfatprogs</literal> 1322 user-space utilities are used instead of 1323 <literal>exfat</literal>. 1324 </para> 1325 </listitem> 1326 <listitem> 1327 <para> 1328 The <literal>todoman</literal> package was upgraded from 3.9.0 1329 to 4.0.0. This introduces breaking changes in the 1330 <link xlink:href="https://todoman.readthedocs.io/en/stable/configure.html#configuration-file">configuration 1331 file</link> format. 1332 </para> 1333 </listitem> 1334 <listitem> 1335 <para> 1336 The <literal>datadog-agent</literal>, 1337 <literal>datadog-integrations-core</literal> and 1338 <literal>datadog-process-agent</literal> packages were 1339 upgraded from 6.11.2 to 7.30.2, git-2018-09-18 to 7.30.1 and 1340 6.11.1 to 7.30.2, respectively. As a result 1341 <literal>services.datadog-agent</literal> has had breaking 1342 changes to the configuration file. For details, see the 1343 <link xlink:href="https://github.com/DataDog/datadog-agent/blob/main/CHANGELOG.rst">upstream 1344 changelog</link>. 1345 </para> 1346 </listitem> 1347 <listitem> 1348 <para> 1349 <literal>opencv2</literal> no longer includes the non-free 1350 libraries by default, and consequently 1351 <literal>pfstools</literal> no longer includes OpenCV support 1352 by default. Both packages now support an 1353 <literal>enableUnfree</literal> option to re-enable this 1354 functionality. 1355 </para> 1356 </listitem> 1357 <listitem> 1358 <para> 1359 <literal>services.xserver.displayManager.defaultSession = &quot;plasma5&quot;</literal> 1360 does not work anymore, instead use either 1361 <literal>&quot;plasma&quot;</literal> for the Plasma X11 1362 session or <literal>&quot;plasmawayland&quot;</literal> for 1363 the Plasma Wayland sesison. 1364 </para> 1365 </listitem> 1366 <listitem> 1367 <para> 1368 <literal>boot.kernelParams</literal> now only accepts one 1369 command line parameter per string. This change is aimed to 1370 reduce common mistakes like <quote>param = 12</quote>, which 1371 would be parsed as 3 parameters. 1372 </para> 1373 </listitem> 1374 <listitem> 1375 <para> 1376 <literal>nix.daemonNiceLevel</literal> and 1377 <literal>nix.daemonIONiceLevel</literal> have been removed in 1378 favour of the new options 1379 <link xlink:href="options.html#opt-nix.daemonCPUSchedPolicy"><literal>nix.daemonCPUSchedPolicy</literal></link>, 1380 <link xlink:href="options.html#opt-nix.daemonIOSchedClass"><literal>nix.daemonIOSchedClass</literal></link> 1381 and 1382 <link xlink:href="options.html#opt-nix.daemonIOSchedPriority"><literal>nix.daemonIOSchedPriority</literal></link>. 1383 Please refer to the options documentation and the 1384 <literal>sched(7)</literal> and 1385 <literal>ioprio_set(2)</literal> man pages for guidance on how 1386 to use them. 1387 </para> 1388 </listitem> 1389 <listitem> 1390 <para> 1391 The <literal>coursier</literal> package’s binary was renamed 1392 from <literal>coursier</literal> to <literal>cs</literal>. 1393 Completions which haven’t worked for a while should now work 1394 with the renamed binary. To keep using 1395 <literal>coursier</literal>, you can create a shell alias. 1396 </para> 1397 </listitem> 1398 <listitem> 1399 <para> 1400 The <literal>services.mosquitto</literal> module has been 1401 rewritten to support multiple listeners and per-listener 1402 configuration. Module configurations from previous releases 1403 will no longer work and must be updated. 1404 </para> 1405 </listitem> 1406 <listitem> 1407 <para> 1408 The <literal>fluidsynth_1</literal> attribute has been 1409 removed, as this legacy version is no longer needed in 1410 nixpkgs. The actively maintained 2.x series is available as 1411 <literal>fluidsynth</literal> unchanged. 1412 </para> 1413 </listitem> 1414 <listitem> 1415 <para> 1416 Nextcloud 20 (<literal>pkgs.nextcloud20</literal>) has been 1417 dropped because it was EOLed by upstream in 2021-10. 1418 </para> 1419 </listitem> 1420 <listitem> 1421 <para> 1422 The <literal>virtualisation.pathsInNixDB</literal> option was 1423 renamed 1424 <link xlink:href="options.html#opt-virtualisation.additionalPaths"><literal>virtualisation.additionalPaths</literal></link>. 1425 </para> 1426 </listitem> 1427 <listitem> 1428 <para> 1429 The <literal>services.ddclient.password</literal> option was 1430 removed, and replaced with 1431 <literal>services.ddclient.passwordFile</literal>. 1432 </para> 1433 </listitem> 1434 <listitem> 1435 <para> 1436 The default GNAT version has been changed: The 1437 <literal>gnat</literal> attribute now points to 1438 <literal>gnat11</literal> instead of <literal>gnat9</literal>. 1439 </para> 1440 </listitem> 1441 <listitem> 1442 <para> 1443 <literal>retroArchCores</literal> has been removed. This means 1444 that using <literal>nixpkgs.config.retroarch</literal> to 1445 customize RetroArch cores is not supported anymore. Instead, 1446 use package overrides, for example: 1447 <literal>retroarch.override { cores = with libretro; [ citra snes9x ]; };</literal>. 1448 Also, <literal>retroarchFull</literal> derivation is available 1449 for those who want to have all RetroArch cores available. 1450 </para> 1451 </listitem> 1452 <listitem> 1453 <para> 1454 The Linux kernel for security reasons now restricts access to 1455 BPF syscalls via <literal>BPF_UNPRIV_DEFAULT_OFF=y</literal>. 1456 Unprivileged access can be reenabled via the 1457 <literal>kernel.unprivileged_bpf_disabled</literal> sysctl 1458 knob. 1459 </para> 1460 </listitem> 1461 <listitem> 1462 <para> 1463 <literal>/usr</literal> will always be included in the initial 1464 ramdisk. See the 1465 <literal>fileSystems.&lt;name&gt;.neededForBoot</literal> 1466 option. If any files exist under <literal>/usr</literal> 1467 (which is not typical for NixOS), they will be included in the 1468 initial ramdisk, increasing its size to a possibly problematic 1469 extent. 1470 </para> 1471 </listitem> 1472 <listitem> 1473 <para> 1474 <literal>pkgs.haskell-language-server</literal> will now by 1475 default be linked dynamically to improve TemplateHaskell 1476 compatibility. To mitigate the increased closure size it will 1477 now by default only support our current default ghc (at the 1478 moment 9.0.2). Add other ghc versions via e.g. 1479 <literal>pkgs.haskell-language-server.override { supportedGhcVersions = [ &quot;90&quot; &quot;92&quot; ]; }</literal>. 1480 </para> 1481 </listitem> 1482 </itemizedlist> 1483 </section> 1484 <section xml:id="sec-release-21.11-notable-changes"> 1485 <title>Other Notable Changes</title> 1486 <itemizedlist> 1487 <listitem> 1488 <para> 1489 The linux kernel package infrastructure was moved out of 1490 <literal>all-packages.nix</literal>, and restructured. Linux 1491 related functions and attributes now live under the 1492 <literal>pkgs.linuxKernel</literal> attribute set. In 1493 particular the versioned <literal>linuxPackages_*</literal> 1494 package sets (such as <literal>linuxPackages_5_4</literal>) 1495 and kernels from <literal>pkgs</literal> were moved there and 1496 now live under <literal>pkgs.linuxKernel.packages.*</literal>. 1497 The unversioned ones (such as 1498 <literal>linuxPackages_latest</literal>) remain untouched. 1499 </para> 1500 </listitem> 1501 <listitem> 1502 <para> 1503 In NixOS virtual machines (QEMU), the 1504 <literal>virtualisation</literal> module has been updated with 1505 new options: 1506 </para> 1507 <itemizedlist spacing="compact"> 1508 <listitem> 1509 <para> 1510 <link xlink:href="options.html#opt-virtualisation.forwardPorts"><literal>forwardPorts</literal></link> 1511 to configure IPv4 port forwarding, 1512 </para> 1513 </listitem> 1514 <listitem> 1515 <para> 1516 <link xlink:href="options.html#opt-virtualisation.sharedDirectories"><literal>sharedDirectories</literal></link> 1517 to set up shared host directories, 1518 </para> 1519 </listitem> 1520 <listitem> 1521 <para> 1522 <link xlink:href="options.html#opt-virtualisation.resolution"><literal>resolution</literal></link> 1523 to set the screen resolution, 1524 </para> 1525 </listitem> 1526 <listitem> 1527 <para> 1528 <link xlink:href="options.html#opt-virtualisation.useNixStoreImage"><literal>useNixStoreImage</literal></link> 1529 to use a disk image for the Nix store instead of 9P. 1530 </para> 1531 </listitem> 1532 </itemizedlist> 1533 <para> 1534 In addition, the default 1535 <link xlink:href="options.html#opt-virtualisation.msize"><literal>msize</literal></link> 1536 parameter in 9P filesystems (including /nix/store and all 1537 shared directories) has been increased to 16K for improved 1538 performance. 1539 </para> 1540 </listitem> 1541 <listitem> 1542 <para> 1543 The setting 1544 <link xlink:href="options.html#opt-services.openssh.logLevel"><literal>services.openssh.logLevel</literal></link> 1545 <literal>&quot;VERBOSE&quot;</literal> 1546 <literal>&quot;INFO&quot;</literal>. This brings NixOS in line 1547 with upstream and other Linux distributions, and reduces log 1548 spam on servers due to bruteforcing botnets. 1549 </para> 1550 <para> 1551 However, if 1552 <link xlink:href="options.html#opt-services.fail2ban.enable"><literal>services.fail2ban.enable</literal></link> 1553 is <literal>true</literal>, the <literal>fail2ban</literal> 1554 will override the verbosity to 1555 <literal>&quot;VERBOSE&quot;</literal>, so that 1556 <literal>fail2ban</literal> can observe the failed login 1557 attempts from the SSH logs. 1558 </para> 1559 </listitem> 1560 <listitem> 1561 <para> 1562 The 1563 <link xlink:href="options.html#opt-services.xserver.extraLayouts"><literal>services.xserver.extraLayouts</literal></link> 1564 no longer cause additional rebuilds when a layout is added or 1565 modified. 1566 </para> 1567 </listitem> 1568 <listitem> 1569 <para> 1570 Sway: The terminal emulator <literal>rxvt-unicode</literal> is 1571 no longer installed by default via 1572 <literal>programs.sway.extraPackages</literal>. The current 1573 default configuration uses <literal>alacritty</literal> (and 1574 soon <literal>foot</literal>) so this is only an issue when 1575 using a customized configuration and not installing 1576 <literal>rxvt-unicode</literal> explicitly. 1577 </para> 1578 </listitem> 1579 <listitem> 1580 <para> 1581 <literal>python3</literal> now defaults to Python 3.9. Python 1582 3.9 introduces many deprecation warnings, please look at the 1583 <link xlink:href="https://docs.python.org/3/whatsnew/3.9.html">What’s 1584 New In Python 3.9 post</link> for more information. 1585 </para> 1586 </listitem> 1587 <listitem> 1588 <para> 1589 <literal>qtile</literal> hase been updated from 1590 <quote>0.16.0</quote> to <quote>0.18.0</quote>, please check 1591 <link xlink:href="https://github.com/qtile/qtile/blob/master/CHANGELOG">qtile 1592 changelog</link> for changes. 1593 </para> 1594 </listitem> 1595 <listitem> 1596 <para> 1597 The <literal>claws-mail</literal> package now references the 1598 new GTK+ 3 release branch, major version 4. To use the GTK+ 2 1599 releases, one can install the 1600 <literal>claws-mail-gtk2</literal> package. 1601 </para> 1602 </listitem> 1603 <listitem> 1604 <para> 1605 The wordpress module provides a new interface which allows to 1606 use different webservers with the new option 1607 <link xlink:href="options.html#opt-services.wordpress.webserver"><literal>services.wordpress.webserver</literal></link>. 1608 Currently <literal>httpd</literal>, <literal>caddy</literal> 1609 and <literal>nginx</literal> are supported. The definitions of 1610 wordpress sites should now be set in 1611 <link xlink:href="options.html#opt-services.wordpress.sites"><literal>services.wordpress.sites</literal></link>. 1612 </para> 1613 <para> 1614 Sites definitions that use the old interface are automatically 1615 migrated in the new option. This backward compatibility will 1616 be removed in 22.05. 1617 </para> 1618 </listitem> 1619 <listitem> 1620 <para> 1621 The dokuwiki module provides a new interface which allows to 1622 use different webservers with the new option 1623 <link xlink:href="options.html#opt-services.dokuwiki.webserver"><literal>services.dokuwiki.webserver</literal></link>. 1624 Currently <literal>caddy</literal> and 1625 <literal>nginx</literal> are supported. The definitions of 1626 dokuwiki sites should now be set in 1627 <link xlink:href="options.html#opt-services.dokuwiki.sites"><literal>services.dokuwiki.sites</literal></link>. 1628 </para> 1629 <para> 1630 Sites definitions that use the old interface are automatically 1631 migrated in the new option. This backward compatibility will 1632 be removed in 22.05. 1633 </para> 1634 </listitem> 1635 <listitem> 1636 <para> 1637 The order of NSS (host) modules has been brought in line with 1638 upstream recommendations: 1639 </para> 1640 <itemizedlist spacing="compact"> 1641 <listitem> 1642 <para> 1643 The <literal>myhostname</literal> module is placed before 1644 the <literal>resolve</literal> (optional) and 1645 <literal>dns</literal> entries, but after 1646 <literal>file</literal> (to allow overriding via 1647 <literal>/etc/hosts</literal> / 1648 <literal>networking.extraHosts</literal>, and prevent ISPs 1649 with catchall-DNS resolvers from hijacking 1650 <literal>.localhost</literal> domains) 1651 </para> 1652 </listitem> 1653 <listitem> 1654 <para> 1655 The <literal>mymachines</literal> module, which provides 1656 hostname resolution for local containers (registered with 1657 <literal>systemd-machined</literal>) is placed to the 1658 front, to make sure its mappings are preferred over other 1659 resolvers. 1660 </para> 1661 </listitem> 1662 <listitem> 1663 <para> 1664 If systemd-networkd is enabled, the 1665 <literal>resolve</literal> module is placed before 1666 <literal>files</literal> and 1667 <literal>myhostname</literal>, as it provides the same 1668 logic internally, with caching. 1669 </para> 1670 </listitem> 1671 <listitem> 1672 <para> 1673 The <literal>mdns(_minimal)</literal> module has been 1674 updated to the new priorities. 1675 </para> 1676 </listitem> 1677 </itemizedlist> 1678 <para> 1679 If you use your own NSS host modules, make sure to update your 1680 priorities according to these rules: 1681 </para> 1682 <itemizedlist spacing="compact"> 1683 <listitem> 1684 <para> 1685 NSS modules which should be queried before 1686 <literal>resolved</literal> DNS resolution should use 1687 mkBefore. 1688 </para> 1689 </listitem> 1690 <listitem> 1691 <para> 1692 NSS modules which should be queried after 1693 <literal>resolved</literal>, <literal>files</literal> and 1694 <literal>myhostname</literal>, but before 1695 <literal>dns</literal> should use the default priority 1696 </para> 1697 </listitem> 1698 <listitem> 1699 <para> 1700 NSS modules which should come after <literal>dns</literal> 1701 should use mkAfter. 1702 </para> 1703 </listitem> 1704 </itemizedlist> 1705 </listitem> 1706 <listitem> 1707 <para> 1708 The 1709 <link xlink:href="options.html#opt-networking.wireless.enable">networking.wireless</link> 1710 module (based on wpa_supplicant) has been heavily reworked, 1711 solving a number of issues and adding useful features: 1712 </para> 1713 <itemizedlist spacing="compact"> 1714 <listitem> 1715 <para> 1716 The automatic discovery of wireless interfaces at boot has 1717 been made reliable again (issues 1718 <link xlink:href="https://github.com/NixOS/nixpkgs/issues/101963">#101963</link>, 1719 <link xlink:href="https://github.com/NixOS/nixpkgs/issues/23196">#23196</link>). 1720 </para> 1721 </listitem> 1722 <listitem> 1723 <para> 1724 WPA3 and Fast BSS Transition (802.11r) are now enabled by 1725 default for all networks. 1726 </para> 1727 </listitem> 1728 <listitem> 1729 <para> 1730 Secrets like pre-shared keys and passwords can now be 1731 handled safely, meaning without including them in a 1732 world-readable file 1733 (<literal>wpa_supplicant.conf</literal> under /nix/store). 1734 This is achieved by storing the secrets in a secured 1735 <link xlink:href="options.html#opt-networking.wireless.environmentFile">environmentFile</link> 1736 and referring to them though environment variables that 1737 are expanded inside the configuration. 1738 </para> 1739 </listitem> 1740 <listitem> 1741 <para> 1742 With multiple interfaces declared, independent 1743 wpa_supplicant daemons are started, one for each interface 1744 (the services are named 1745 <literal>wpa_supplicant-wlan0</literal>, 1746 <literal>wpa_supplicant-wlan1</literal>, etc.). 1747 </para> 1748 </listitem> 1749 <listitem> 1750 <para> 1751 The generated <literal>wpa_supplicant.conf</literal> file 1752 is now formatted for easier reading. 1753 </para> 1754 </listitem> 1755 <listitem> 1756 <para> 1757 A new 1758 <link xlink:href="options.html#opt-networking.wireless.scanOnLowSignal">scanOnLowSignal</link> 1759 option has been added to facilitate fast roaming between 1760 access points (enabled by default). 1761 </para> 1762 </listitem> 1763 <listitem> 1764 <para> 1765 A new 1766 <link xlink:href="options.html#opt-networking.wireless.networks._name_.authProtocols">networks.&lt;name&gt;.authProtocols</link> 1767 option has been added to change the authentication 1768 protocols used when connecting to a network. 1769 </para> 1770 </listitem> 1771 </itemizedlist> 1772 </listitem> 1773 <listitem> 1774 <para> 1775 The 1776 <link xlink:href="options.html#opt-networking.wireless.iwd.enable">networking.wireless.iwd</link> 1777 module has a new 1778 <link xlink:href="options.html#opt-networking.wireless.iwd.settings">networking.wireless.iwd.settings</link> 1779 option. 1780 </para> 1781 </listitem> 1782 <listitem> 1783 <para> 1784 The 1785 <link xlink:href="options.html#opt-services.smokeping.host">services.smokeping.host</link> 1786 option was added and defaulted to 1787 <literal>localhost</literal>. Before, 1788 <literal>smokeping</literal> listened to all interfaces by 1789 default. NixOS defaults generally aim to provide 1790 non-Internet-exposed defaults for databases and internal 1791 monitoring tools, see e.g. 1792 <link xlink:href="https://github.com/NixOS/nixpkgs/issues/100192">#100192</link>. 1793 Further, the systemd service for <literal>smokeping</literal> 1794 got reworked defaults for increased operational stability, see 1795 <link xlink:href="https://github.com/NixOS/nixpkgs/pull/144127">PR 1796 #144127</link> for details. 1797 </para> 1798 </listitem> 1799 <listitem> 1800 <para> 1801 The 1802 <link xlink:href="options.html#opt-services.syncoid.enable">services.syncoid.enable</link> 1803 module now properly drops ZFS permissions after usage. Before 1804 it delegated permissions to whole pools instead of datasets 1805 and didn’t clean up after execution. You can manually look 1806 this up for your pools by running 1807 <literal>zfs allow your-pool-name</literal> and use 1808 <literal>zfs unallow syncoid your-pool-name</literal> to clean 1809 this up. 1810 </para> 1811 </listitem> 1812 <listitem> 1813 <para> 1814 Zfs: <literal>latestCompatibleLinuxPackages</literal> is now 1815 exported on the zfs package. One can use 1816 <literal>boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;</literal> 1817 to always track the latest compatible kernel with a given 1818 version of zfs. 1819 </para> 1820 </listitem> 1821 <listitem> 1822 <para> 1823 Nginx will use the value of 1824 <literal>sslTrustedCertificate</literal> if provided for a 1825 virtual host, even if <literal>enableACME</literal> is set. 1826 This is useful for providers not using the same certificate to 1827 sign OCSP responses and server certificates. 1828 </para> 1829 </listitem> 1830 <listitem> 1831 <para> 1832 <literal>lib.formats.yaml</literal>’s 1833 <literal>generate</literal> will not generate JSON anymore, 1834 but instead use more of the YAML-specific syntax. 1835 </para> 1836 </listitem> 1837 <listitem> 1838 <para> 1839 MariaDB was upgraded from 10.5.x to 10.6.x. Please read the 1840 <link xlink:href="https://mariadb.com/kb/en/changes-improvements-in-mariadb-106/">upstream 1841 release notes</link> for changes and upgrade instructions. 1842 </para> 1843 </listitem> 1844 <listitem> 1845 <para> 1846 The MariaDB C client library, also known as libmysqlclient or 1847 mariadb-connector-c, was upgraded from 3.1.x to 3.2.x. While 1848 this should hopefully not have any impact, this upgrade comes 1849 with some changes to default behavior, so you might want to 1850 review the 1851 <link xlink:href="https://mariadb.com/kb/en/changes-and-improvements-in-mariadb-connector-c-32/">upstream 1852 release notes</link>. 1853 </para> 1854 </listitem> 1855 <listitem> 1856 <para> 1857 GNOME desktop environment now enables 1858 <literal>QGnomePlatform</literal> as the Qt platform theme, 1859 which should avoid crashes when opening file chooser dialogs 1860 in Qt apps by using XDG desktop portal. Additionally, it will 1861 make the apps fit better visually. 1862 </para> 1863 </listitem> 1864 <listitem> 1865 <para> 1866 <literal>rofi</literal> has been updated from 1867 <quote>1.6.1</quote> to <quote>1.7.0</quote>, one important 1868 thing is the removal of the old xresources based configuration 1869 setup. Read more 1870 <link xlink:href="https://github.com/davatorium/rofi/blob/cb12e6fc058f4a0f4f/Changelog#L1">in 1871 rofi’s changelog</link>. 1872 </para> 1873 </listitem> 1874 <listitem> 1875 <para> 1876 ipfs now defaults to not listening on you local network. This 1877 setting was change as server providers won’t accept port 1878 scanning on their private network. If you have several ipfs 1879 instances running on a network you own, feel free to change 1880 the setting <literal>ipfs.localDiscovery = true;</literal>. 1881 localDiscovery enables different instances to discover each 1882 other and share data. 1883 </para> 1884 </listitem> 1885 <listitem> 1886 <para> 1887 <literal>lua</literal> and <literal>luajit</literal> 1888 interpreters have been patched to avoid looking into /usr/lib 1889 directories, thus increasing the purity of the build. 1890 </para> 1891 </listitem> 1892 <listitem> 1893 <para> 1894 Three new options, 1895 <link linkend="opt-xdg.mime.addedAssociations">xdg.mime.addedAssociations</link>, 1896 <link linkend="opt-xdg.mime.defaultApplications">xdg.mime.defaultApplications</link>, 1897 and 1898 <link linkend="opt-xdg.mime.removedAssociations">xdg.mime.removedAssociations</link> 1899 have been added to the 1900 <link linkend="opt-xdg.mime.enable">xdg.mime</link> module to 1901 allow the configuration of 1902 <literal>/etc/xdg/mimeapps.list</literal>. 1903 </para> 1904 </listitem> 1905 <listitem> 1906 <para> 1907 Kopia was upgraded from 0.8.x to 0.9.x. Please read the 1908 <link xlink:href="https://github.com/kopia/kopia/releases/tag/v0.9.0">upstream 1909 release notes</link> for changes and upgrade instructions. 1910 </para> 1911 </listitem> 1912 <listitem> 1913 <para> 1914 The <literal>systemd.network</literal> module has gained 1915 support for the FooOverUDP link type. 1916 </para> 1917 </listitem> 1918 <listitem> 1919 <para> 1920 The <literal>networking</literal> module has a new 1921 <literal>networking.fooOverUDP</literal> option to configure 1922 Foo-over-UDP encapsulations. 1923 </para> 1924 </listitem> 1925 <listitem> 1926 <para> 1927 <literal>networking.sits</literal> now supports Foo-over-UDP 1928 encapsulation. 1929 </para> 1930 </listitem> 1931 <listitem> 1932 <para> 1933 The <literal>virtualisation.libvirtd</literal> module has been 1934 refactored and updated with new options: 1935 </para> 1936 <itemizedlist spacing="compact"> 1937 <listitem> 1938 <para> 1939 <literal>virtualisation.libvirtd.qemu*</literal> options 1940 (e.g.: 1941 <literal>virtualisation.libvirtd.qemuRunAsRoot</literal>) 1942 were moved to 1943 <link xlink:href="options.html#opt-virtualisation.libvirtd.qemu"><literal>virtualisation.libvirtd.qemu</literal></link> 1944 submodule, 1945 </para> 1946 </listitem> 1947 <listitem> 1948 <para> 1949 software TPM1/TPM2 support (e.g.: Windows 11 guests) 1950 (<link xlink:href="options.html#opt-virtualisation.libvirtd.qemu.swtpm"><literal>virtualisation.libvirtd.qemu.swtpm</literal></link>), 1951 </para> 1952 </listitem> 1953 <listitem> 1954 <para> 1955 custom OVMF package (e.g.: 1956 <literal>pkgs.OVMFFull</literal> with HTTP, CSM and Secure 1957 Boot support) 1958 (<link xlink:href="options.html#opt-virtualisation.libvirtd.qemu.ovmf.package"><literal>virtualisation.libvirtd.qemu.ovmf.package</literal></link>). 1959 </para> 1960 </listitem> 1961 </itemizedlist> 1962 </listitem> 1963 <listitem> 1964 <para> 1965 The <literal>cawbird</literal> Twitter client now uses its own 1966 API keys to count as different application than upstream 1967 builds. This is done to evade application-level rate limiting. 1968 While existing accounts continue to work, users may want to 1969 remove and re-register their account in the client to enjoy a 1970 better user experience and benefit from this change. 1971 </para> 1972 </listitem> 1973 <listitem> 1974 <para> 1975 A new option 1976 <literal>services.prometheus.enableReload</literal> has been 1977 added which can be enabled to reload the prometheus service 1978 when its config file changes instead of restarting. 1979 </para> 1980 </listitem> 1981 <listitem> 1982 <para> 1983 The option 1984 <literal>services.prometheus.environmentFile</literal> has 1985 been removed since it was causing 1986 <link xlink:href="https://github.com/NixOS/nixpkgs/issues/126083">issues</link> 1987 and Prometheus now has native support for secret files, i.e. 1988 <literal>basic_auth.password_file</literal> and 1989 <literal>authorization.credentials_file</literal>. 1990 </para> 1991 </listitem> 1992 <listitem> 1993 <para> 1994 Dokuwiki now supports caddy! However 1995 </para> 1996 <itemizedlist spacing="compact"> 1997 <listitem> 1998 <para> 1999 the nginx option has been removed, in the new 2000 configuration, please use the 2001 <literal>dokuwiki.webserver = &quot;nginx&quot;</literal> 2002 instead. 2003 </para> 2004 </listitem> 2005 <listitem> 2006 <para> 2007 The <quote>${hostname}</quote> option has been deprecated, 2008 please use 2009 <literal>dokuwiki.sites = [ &quot;${hostname}&quot; ]</literal> 2010 instead 2011 </para> 2012 </listitem> 2013 </itemizedlist> 2014 </listitem> 2015 <listitem> 2016 <para> 2017 The 2018 <link xlink:href="options.html#opt-services.unifi.enable">services.unifi</link> 2019 module has been reworked, solving a number of issues. This 2020 leads to several user facing changes: 2021 </para> 2022 <itemizedlist spacing="compact"> 2023 <listitem> 2024 <para> 2025 The <literal>services.unifi.dataDir</literal> option is 2026 removed and the data is now always located under 2027 <literal>/var/lib/unifi/data</literal>. This is done to 2028 make better use of systemd state direcotiry and thus 2029 making the service restart more reliable. 2030 </para> 2031 </listitem> 2032 <listitem> 2033 <para> 2034 The unifi logs can now be found under: 2035 <literal>/var/log/unifi</literal> instead of 2036 <literal>/var/lib/unifi/logs</literal>. 2037 </para> 2038 </listitem> 2039 <listitem> 2040 <para> 2041 The unifi run directory can now be found under: 2042 <literal>/run/unifi</literal> instead of 2043 <literal>/var/lib/unifi/run</literal>. 2044 </para> 2045 </listitem> 2046 </itemizedlist> 2047 </listitem> 2048 <listitem> 2049 <para> 2050 <literal>security.pam.services.&lt;name&gt;.makeHomeDir</literal> 2051 now uses <literal>umask=0077</literal> instead of 2052 <literal>umask=0022</literal> when creating the home 2053 directory. 2054 </para> 2055 </listitem> 2056 <listitem> 2057 <para> 2058 Loki has had another release. Some default values have been 2059 changed for the configuration and some configuration options 2060 have been renamed. For more details, please check 2061 <link xlink:href="https://grafana.com/docs/loki/latest/upgrading/#240">the 2062 upgrade guide</link>. 2063 </para> 2064 </listitem> 2065 <listitem> 2066 <para> 2067 <literal>julia</literal> now refers to 2068 <literal>julia-stable</literal> instead of 2069 <literal>julia-lts</literal>. In practice this means it has 2070 been upgraded from <literal>1.0.4</literal> to 2071 <literal>1.5.4</literal>. 2072 </para> 2073 </listitem> 2074 <listitem> 2075 <para> 2076 RetroArch has been upgraded from version 2077 <literal>1.8.5</literal> to <literal>1.9.13.2</literal>. Since 2078 the previous release was quite old, if you’re having issues 2079 after the upgrade, please delete your 2080 <literal>$XDG_CONFIG_HOME/retroarch/retroarch.cfg</literal> 2081 file. 2082 </para> 2083 </listitem> 2084 <listitem> 2085 <para> 2086 hydrus has been upgraded from version <literal>438</literal> 2087 to <literal>463</literal>. Since upgrading between releases 2088 this old is advised against, be sure to have a backup of your 2089 data before upgrading. For details, see 2090 <link xlink:href="https://hydrusnetwork.github.io/hydrus/help/getting_started_installing.html#big_updates">the 2091 hydrus manual</link>. 2092 </para> 2093 </listitem> 2094 <listitem> 2095 <para> 2096 More jdk and jre versions are now exposed via 2097 <literal>java-packages.compiler</literal>. 2098 </para> 2099 </listitem> 2100 <listitem> 2101 <para> 2102 The sets <literal>haskell.packages</literal> and 2103 <literal>haskell.compiler</literal> now contain for every ghc 2104 version an attribute with the minor version dropped. E.g. for 2105 <literal>ghc8107</literal> there also now exists 2106 <literal>ghc810</literal>. Those attributes point to the same 2107 compilers and packagesets but have the advantage that e.g. 2108 <literal>ghc92</literal> stays stable when we update from 2109 <literal>ghc925</literal> to <literal>ghc926</literal>. 2110 </para> 2111 </listitem> 2112 </itemizedlist> 2113 </section> 2114</section>