Can we please stop breaking stuff willy-nilly?

Hello,

I’m the author of the pull request cited in this thread.

I brought some clarifications, context, and summary about:

  • the purpose of the changes (and security implications),
  • the reasons for the API breakage / refactor (necessary for the fix),
  • the handling of migrations (not straightforward to do implicitly).

Please see: https://github.com/NixOS/nixpkgs/pull/318599#issuecomment-2211515713

I agree that breakage should be avoided on the stable channel, which this
pull request does not introduce. Mentions of backports are about trying to
find an non-disruptive partial mitigation for the stable branch.

Breaking changes are to be expected on unstable. This is not to say that they
should not be motivated, and that any required migration should be made as
painless as possible.

This set of changes was not without motivation. I can assure you that time was
indeed spent on minimising breakage and limiting the needed migration,
documented under the “breaking changes” section of the release notes.

I understand that the latter can easily be missed, and that tracing back the
source of an evaluation failure is indeed painful. I mentionned troubles adding
proper error messages in the pull request, but we eventually found a way
(thanks to @minijackson) to add those in this follow-up pull request:
https://github.com/NixOS/nixpkgs/pull/324923

22 Likes