mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-25 03:17:13 +00:00
83 lines
5.7 KiB
Markdown
83 lines
5.7 KiB
Markdown
# Release 24.05 (“Uakari”, 2024.05/??) {#sec-release-24.05}
|
|
|
|
Support is planned until the end of December 2024, handing over to 24.11.
|
|
|
|
## Highlights {#sec-release-24.05-highlights}
|
|
|
|
In addition to numerous new and upgraded packages, this release has the following highlights:
|
|
|
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
|
|
|
- `screen`'s module has been cleaned, and will now require you to set `programs.screen.enable` in order to populate `screenrc` and add the program to the environment.
|
|
|
|
## New Services {#sec-release-24.05-new-services}
|
|
|
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
|
|
|
- [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
|
|
|
|
- [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable).
|
|
|
|
- [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable).
|
|
The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares.
|
|
|
|
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
|
|
|
|
## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
|
|
|
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
|
|
|
- The `power.ups` module now generates `upsd.conf`, `upsd.users` and `upsmon.conf` automatically from a set of new configuration options. This breaks compatibility with existing `power.ups` setups where these files were created manually. Back up these files before upgrading NixOS.
|
|
|
|
- `mkosi` was updated to v19. Parts of the user interface have changed. Consult the
|
|
[release notes](https://github.com/systemd/mkosi/releases/tag/v19) for a list of changes.
|
|
|
|
- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
|
|
Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
|
|
|
|
- `networking.iproute2.enable` now does not set `environment.etc."iproute2/rt_tables".text`.
|
|
|
|
Setting `environment.etc."iproute2/{CONFIG_FILE_NAME}".text` will override the whole configuration file instead of appending it to the upstream configuration file.
|
|
|
|
`CONFIG_FILE_NAME` includes `bpf_pinning`, `ematch_map`, `group`, `nl_protos`, `rt_dsfield`, `rt_protos`, `rt_realms`, `rt_scopes`, and `rt_tables`.
|
|
|
|
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
|
|
|
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
|
|
|
- `addDriverRunpath` has been added to facilitate the deprecation of the old `addOpenGLRunpath` setuphook. This change is motivated by the evolution of the setuphook to include all hardware acceleration.
|
|
|
|
- Cinnamon has been updated to 6.0. Please beware that the [Wayland session](https://blog.linuxmint.com/?p=4591) is still experimental in this release.
|
|
|
|
- `services.postgresql.extraPlugins` changed its type from just a list of packages to also a function that returns such a list.
|
|
For example a config line like ``services.postgresql.extraPlugins = with pkgs.postgresql_11.pkgs; [ postgis ];`` is recommended to be changed to ``services.postgresql.extraPlugins = ps: with ps; [ postgis ];``;
|
|
|
|
- Programs written in [Nim](https://nim-lang.org/) are built with libraries selected by lockfiles.
|
|
The `nimPackages` and `nim2Packages` sets have been removed.
|
|
See https://nixos.org/manual/nixpkgs/unstable#nim for more information.
|
|
|
|
- `libass` now uses the native CoreText backend on Darwin, which may fix subtitle rendering issues with `mpv`, `ffmpeg`, etc.
|
|
|
|
- The Yama LSM is now enabled by default in the kernel, which prevents ptracing
|
|
non-child processes. This means you will not be able to attach gdb to an
|
|
existing process, but will need to start that process from gdb (so it is a
|
|
child). Or you can set `boot.kernel.sysctl."kernel.yama.ptrace_scope"` to 0.
|
|
|
|
- [Nginx virtual hosts](#opt-services.nginx.virtualHosts) using `forceSSL` or
|
|
`globalRedirect` can now have redirect codes other than 301 through
|
|
`redirectCode`.
|
|
|
|
- Gitea 1.21 upgrade has several breaking changes, including:
|
|
- Custom themes and other assets that were previously stored in `custom/public/*` now belong in `custom/public/assets/*`
|
|
- New instances of Gitea using MySQL now ignore the `[database].CHARSET` config option and always use the `utf8mb4` charset, existing instances should migrate via the `gitea doctor convert` CLI command.
|
|
|
|
- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
|
|
|
|
- The `btrbk` module now automatically selects and provides required compression
|
|
program depending on the configured `stream_compress` option. Since this
|
|
replaces the need for the `extraPackages` option, this option will be
|
|
deprecated in future releases.
|
|
|
|
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
|
|
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
|