From 341edfddc6d8d4aefbac57de6b81bc3a11ab67ed Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 5 Jan 2026 11:34:31 +0100 Subject: [PATCH] ChangeLog: Document earlier breaking change and deprecations Add entry for 2024-05-16 when class argument was introduced, which raised the minimum Nixpkgs lib version to 23.05. Add entry for today's deprecations of mkSubmoduleOptions, mkDeferredModuleType, and mkDeferredModuleOption. --- ChangeLog.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 6103b3b..2a046d4 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,4 +1,24 @@ +# 2026-01-05 + + - Deprecated `mkSubmoduleOptions`. Declare options directly instead, e.g. + `options.flake.foo = mkOption { ... }`. This works since Nixpkgs 22.05. + + - Deprecated `mkDeferredModuleType` and `mkDeferredModuleOption`. Use + `mkPerSystemType` and `mkPerSystemOption` respectively for `perSystem` + type-merging. For other uses, use Nixpkgs' `types.deferredModuleWith`. + + Note: flake-parts' implementation returns a list on merge, whereas Nixpkgs' + returns a single module. Add `apply = m: [ m ];` to your option if you need + the list behavior. + +# 2024-05-16 + + - **Breaking**: Minimum supported Nixpkgs lib version is now 23.05 (was 22.05), + due to the use of the `class` argument in `evalModules`. + + - Add `class` to `evalModules` calls for imports "type checking". + # 2023-05-30 - Fix a strictness issue in `perInput`, affecting `inputs'`, `self'`.