Conversation
Mutter realigned its API version with the GNOME major in 51. The shared namespaces jump from 18 straight to 51, so every dependency and import moves from `@girs/*-18` to `@girs/*-51`. Versions 19 to 50 will never exist. Clutter, Cogl, Meta, Mtk, Shell, St GNOME 51 also dropped `Shell.GLSLEffect`. `Lightbox`'s `RadialShaderEffect` now derives from `Clutter.ShaderEffect` and builds its snippet in `vfunc_get_static_snippet` instead of `vfunc_build_pipeline`, matching js/ui/lightbox.js at tag 51.beta.
The package version tracks the GNOME Shell it types, so main should not keep saying 50.0.4 while shipping the 51 bindings. It matters for the release job too. That job publishes with `--tolerate-republish`, so dispatching a release against an unbumped version is a no-op that still reports success. A prerelease version publishes under the `next` dist-tag and leaves `latest` on the GNOME 50 types.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Like #92 (GNOME 50) and #76 (GNOME 49), this prepares the types for the next GNOME Shell release. Checked against gnome-shell at tag
51.beta.Stacked on #144, which carries the
@girs4.3.0 bump and theAnimation/BGSlideShowfix the new types need. Merge that one first and this diff shrinks to the GNOME 51 changes alone.Key changes
@girs/clutter-51,@girs/cogl-51,@girs/meta-51,@girs/mtk-51,@girs/shell-51,@girs/st-51.Lightbox'sRadialShaderEffectfromShell.GLSLEffecttoClutter.ShaderEffect, replacingvfunc_build_pipelinewithvfunc_get_static_snippet(): Cogl.Snippet.51.0.0-alpha.1.The version jump is not +1 this cycle
Mutter kept
mutter_api_versionat the GNOME major minus 32 for five cycles, so GNOME 46 through 50 map to API 14 through 18. GNOME 51 realigns it with the GNOME major.Clutter,Cogl,Meta,MetaTest,Mtk,StandShellgo from 18 straight to 51, and API versions 19 through 50 will never exist. Source ismeson.buildat tag51.beta.scripts/update-girs.mjsleaves namespace renames alone on purpose, as its header says, since it only advances the version of keys that already exist. So this step is manual. Once merged, the weekly job keeps the-51packages current by itself.Shell.GLSLEffect is gone
GNOME 51 removed it. Upstream moved
RadialShaderEffectontoClutter.ShaderEffectand switched from building the snippet imperatively to theget_static_snippetvfunc, which Clutter calls once per subclass.The uniform setters moved from location integers to names in the same change, but they were never declared here, so nothing changes on that side. The two entries I verified against
51.betanow say@version 51.Why bump the version here
#92 left this to a separate commit afterwards, 3644fd7. I would rather not repeat that. Keeping
mainat50.0.4while it ships the 51 bindings is worse than it looks, because the release job publishes with--tolerate-republish. A release dispatched against an unbumped version publishes nothing and still reports success. A prerelease version goes out under thenextdist-tag, solateststays on the GNOME 50 types until you decide otherwise.Validation
build:types,prettier:check,validate:types,build:exampleandvalidate:exampleall pass locally against the-51packages at 4.3.0.Not in this PR
The shell's own API drift. GNOME 51 replaced a large number of
vfunc_*_eventoverrides withClutter.KeyController,ScrollControllerand gesture actions, which changes what 18 modules in this package declare. Compiling cannot catch it, because those vfuncs still exist onClutter.Actor. That is #147, stacked on this one.Heads up on the base branch
update-girs.ymlrecreateschore/update-girsfrommainand force-pushes it. The next scheduled run is Monday 06:00 UTC, and it will drop the fix commit currently sitting on that branch. Merging #144 before then avoids that.