Files
nixpkgs/doc/release-notes/rl-2505.section.md
Wolfgang Walther fbdb09b2cc postgresql: provide plpython3 extension as package
This allows us to always build the extension, but still have the user
explicitly enable it without causing rebuilds.
2025-03-21 18:15:28 +01:00

6.5 KiB

Nixpkgs 25.05 (2025.05/??)

Backward Incompatibilities

  • services.rippled has been removed, as rippled was broken and had not been updated since 2022.

  • services.rippleDataApi has been removed, as ripple-data-api was broken and had not been updated since 2022.

  • squid has been updated to version 7, this release includes multiple breaking changes, like ESI removal. For more information, check the release notes.

  • The no-broken-symlinks hook was added to catch builds containing dangling or reflexive symlinks, as these are indicative of problems with packaging. The hook can be disabled by providing dontCheckForBrokenSymlinks = true; as an argument to mkDerivation. For more information, check the docs or see this PR.

  • The hand written perlPackages.SearchXapian bindings have been dropped in favor of the (mostly compatible) perlPackages.Xapian.

  • testers.shellcheck now warns when name is not provided. The name argument will become mandatory in a future release.

  • The nixLog* family of functions made available through the standard environment have been rewritten to prefix messages with both the debug level and the function name of the caller. The nixLog function, which logs unconditionally, was also re-introduced and modified to prefix messages with the function name of the caller. For more information, see this PR.

  • postgresql's pythonSupport argument has been changed. It is now enabled by default, but to use PL/Python the extension needs to be added explicitly with postgresql.withPackages. If you were using postgresql.override { pythonSupport = true; } before, change it to postgresql.withPackages (ps: [ ps.plpython3 ]).

  • The rustPlatform.fetchCargoTarball function is deprecated, because it relied on cargo vendor not changing its output format to keep fixed-output derivation hashes the same, which is a Nix invariant, and Cargo 1.84.0 changed cargo vendor's output format. It should generally be replaced with rustPlatform.fetchCargoVendor, but rustPlatform.importCargoLock may also be appropriate in some circumstances. rustPlatform.buildRustPackage users must set useFetchCargoVendor to true and regenerate the cargoHash.

  • NetBox was updated to >= 4.2.0. Have a look at the breaking changes of the 4.1 release and the 4.2 release, make the required changes to your database, if needed, then upgrade by setting services.netbox.package = pkgs.netbox_4_2; in your configuration.

  • NetBox version 4.0.X available as netbox_4_0 was removed. Please upgrade to 4.2.

  • i3status-rust-package no longer enables notmuch by default. It can be enabled via withNotmuch.

  • Default ICU version updated from 74 to 76

Titanium removed

  • titaniumenv, titanium, and titanium-alloy have been removed due to lack of maintenance in Nixpkgs.

NexusMods.App upgraded

  • nexusmods-app has been upgraded from version 0.6.3 to 0.8.2.

    • Before upgrading, you must reset all app state (mods, games, settings, etc). NexusMods.App will crash if any state from a version older than 0.7.0 is still present.

    • Typically, you can can reset to a clean state by running NexusMods.App uninstall-app. See Nexus Mod's how to uninstall the app documentation for more detail and alternative methods.

    • This should not be necessary going forward, because loading app state from 0.7.0 or newer is now supported. This is documented in the 0.7.1 changelog.

Nixpkgs Library

Breaking changes

  • Structure of the functor of some types has changed. functor is an implementation detail and should not be relied upon. If you did rely on it let us know in this PR.

    • lib.types.enum: Previously the functor.payload was the list of enum values directly. Now it is an attribute set containing the values in the values attribute.
    • lib.types.separatedString: Previously the functor.payload was the separator directly. Now it is an attribute set containing the separator in the sep attribute.
  • The tinycc package now has the dev, doc and lib outputs, thus, tinycc.out may now only provide the tcc and cross compilers binaries.

  • The virtualisation.hypervGuest.videoMode option has been removed. Standard tooling can now be used to configure display modes for Hyper-V VMs.

Deprecations

  • functor is an implementation detail and should not be relied upon, but since its status wasn't clear and it has had some use cases without alternatives, changes are being handled as gracefully as possible. Deprecations within functor:

    • functor.wrapped is now deprecated for some types and using it will give a warning with migration instructions. It is deprecated for these types:
      • lib.types.attrsWith
      • lib.types.listOf
      • lib.types.unique and lib.types.uniq
      • lib.types.nullOr
      • lib.types.functionTo
      • lib.types.coercedTo
      • lib.types.either
  • Plasma 5 and Qt 5 based versions of associated software are deprecated in NixOS 25.05, and will be removed in NixOS 25.11. Users are encouraged to upgrade to Plasma 6.

  • rustPlatform.buildRustPackage stops handling the deprecated argument cargoSha256. Out-of-tree packages that haven't migrated from cargoSha256 to cargoHash now receive errors.