Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

php: 8.2 -> 8.3 #354568

Merged
merged 2 commits into from
Nov 23, 2024
Merged

php: 8.2 -> 8.3 #354568

merged 2 commits into from
Nov 23, 2024

Conversation

Ma27
Copy link
Member

@Ma27 Ma27 commented Nov 8, 2024

PHP 8.2 will only receive security patches starting at the end of
November[1], so it makes sense to bump the default version forward.

I looked through all modules with the substring pkgs.php[2] and all of
the usages looked fine or were fixed in a commit before this one.

[1] https://www.php.net/supported-versions.php
[2] I didn't take with/let ... in things into account, but honestly,
if an application doesn't work with a newer PHP, it should probably
be pinned down instead of blindly relying on pkgs.php.

We'll probably have to delay this until 25.05 given we're past the freeze.
Opinions on this @nixos/php ?


cc @AleXoundOS for pending castopod update.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: module (update) This PR changes an existing module in `nixos/` labels Nov 8, 2024
@drupol
Copy link
Contributor

drupol commented Nov 8, 2024

Shouldn't we add a release note ?

Copy link
Contributor

@patka-123 patka-123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Agreed that we should indeed wait for 25.05.

Not checking with and let is fine I think. I skimmed through it and couldn't find stuff that could potentionally break. If there is, it's indeed a good opportunity to pin versions, like you said.

@Ma27 Ma27 mentioned this pull request Nov 9, 2024
13 tasks
@Ma27
Copy link
Member Author

Ma27 commented Nov 9, 2024

Shouldn't we add a release note ?

Sure, but given that we'll probably target 25.05 I figured it doesn't make sense to write anything now since the file doesn't even exist.

And after sleeping over it, I think it's the right call to not do a last minute bump.

Going to add release notes after branchoff.

Not checking with and let is fine I think. I skimmed through it and couldn't find stuff that could potentionally break. If there is, it's indeed a good opportunity to pin versions, like you said.

So I think previously it was always someone else was doing the default package bumps, but now that I had to do it, it got me thinking: it's a pretty annoying task to find modules that are using pkgs.php and then having to find out if the package is in a version supporting the new interpreter (especially painful if said package fails to have a composer.json with said metadata in 2024).

My suggestion would be fairly simple: let's not do that anymore (duh!).
I mean, I'd expect the package maintainer to know the PHP interpreter situation best (from all NixOS maintainers). And if it's clear that the package won't be able to bump quickly[1], I'd expect them to pin PHP to the correct minor release and if not I'd consider that a bug.

If a package keeps up with new PHP versions quickly (and also keeps supporting older interpreters), it may be fine to just use pkgs.php, but that's it basically.

WDYT?

[1] We're pretty slow to bump the default right now anyways and should probably establish some rules around that.

@patka-123
Copy link
Contributor

I still agree with your idea (even with more context ^^). Currently we are lucky that the php package set is not that big, but as it slowly grows it becomes untenable to check the minimum version for every package.

I'd put the burden onto the package maintainer indeed. The package here and there that breaks and doesn't have a maintainer fixing it is more acceptable than not updating PHP versions.

Ma27 added 2 commits November 23, 2024 20:44
The package is pretty outdated, so I'm not sure if it'll work with PHP
8.3, let's keep it on 8.2 for now until the maintainers update it.
PHP 8.2 will only receive security patches starting at the end of
November[1], so it makes sense to bump the default version forward.

I looked through all modules with the substring `pkgs.php`[2] and all of
the usages looked fine or were fixed in a commit before this one.

[1] https://www.php.net/supported-versions.php
[2] I didn't take `with`/`let ... in` things into account, but honestly,
    if an application doesn't work with a newer PHP, it should probably
    be pinned down instead of blindly relying on `pkgs.php`.
@Ma27
Copy link
Member Author

Ma27 commented Nov 23, 2024

(even with more context ^^)

I don't remember anymore if I just had to be grumpy for a moment or if I misread your answer ;-)

Anyways, now that the branchoff happened, I added a release note to 25.05.

@Ma27 Ma27 requested review from patka-123 and drupol November 23, 2024 19:48
@github-actions github-actions bot added 8.has: documentation This PR adds or changes documentation 8.has: changelog labels Nov 23, 2024
@Ma27 Ma27 marked this pull request as ready for review November 23, 2024 19:48
@Ma27 Ma27 merged commit 57ff99d into NixOS:master Nov 23, 2024
19 of 20 checks passed
@Ma27 Ma27 deleted the php83-default branch November 23, 2024 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog 8.has: documentation This PR adds or changes documentation 8.has: module (update) This PR changes an existing module in `nixos/` 10.rebuild-darwin: 11-100 10.rebuild-linux: 11-100
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants