Repository navigation
The road to glam 1.0 #889
bitshifter
started this conversation in
General
Replies: 1 comment 1 reply
|
Blocker for rust-gpu: I would like to undo the hack of #861 (which fixed glam v0.33.6 breakages for rust-gpu). Since them I've come up with a new mitigation strategy that's way easier to integrate at the expense of a minor breaking change for rust-gpu. See PR #898. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The first version of glam published to crates.io was 0.4.0 back in May of 2019. A lot has changed since then but over time the API has solidified, to the point where I think it's time to call 1.0.
My plan is to make 0.34 the last pre-1.0 breaking change release. I will leave it to soak in the community for a while, perhaps a couple of months, to see if any significant issues are reported. If nothing comes up 1.0 will be released from the 0.34 line with no other major changes.
This does mean two more breaking changes (including 0.34), but I don't want to risk going straight to 1.0 and have some unforeseen issue surface that forces a glam 2.0. The 0.34 to 1.0 bump is itself breaking for dependents even if the API is unchanged.
Looking at the recent history of glam, 0.29 was released in 2024, 0.30 was released in early 2025. The rate of change was slowing down, until this year where there have been 3 breaking changes and at least one more is planned before minting 1.0.
Significant or breaking changes this year have been a mix of things that I wanted to get done before 1.0 and others issues that I didn't anticipate:
cameraanddcameramodules, moving the view (look_*) and projection (perspective*,orthographic*andfrustum*) constructors off the matrix, affine and quaternion types and deprecating the old methods #750To avoid updating optional dependency features requiring a breaking change, I'm now using versioned feature names for pre-1.0 features, e.g.
rand-010, if there is arand0.11, it can be added without needing to remove0.10. The unversioned aliases (rand,approx,mint,speedy,encase,zerocopy) are deprecated and removed in 0.34.The 0.34 update also seals
FloatExtand the swizzle traits, removes items deprecated since 0.31 (including the methods thecameramodules replaced), drops the unsound legacyrkyvintegration in favour ofrkyv-08, and raises the MSRV to 1.85.Some of this year's major version bumps were for things that weren't on my radar until users highlighted them. If you are a user of glam and anticipate any problems arising with this plan or are aware of issues that should be fixed before the API freezes, let me know in the comments.
I don't have any major changes in mind post 1.0, just continued maintenance and maybe I'll have some more time to work on other Rust project ideas.
All reactions