Skip to content

Update to Bevy 0.19.0 (WIP)#694

Draft
Buncys wants to merge 2 commits into
dimforge:masterfrom
Buncys:bevy-0.19.0
Draft

Update to Bevy 0.19.0 (WIP)#694
Buncys wants to merge 2 commits into
dimforge:masterfrom
Buncys:bevy-0.19.0

Conversation

@Buncys

@Buncys Buncys commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

This PR begins the update to Bevy 0.19.0.

What has been done

  • Updated bevy to 0.19.0
  • Updated glam to 0.32.1
  • Updated other dependencies to Bevy 0.19 compatible versions:
    • bevy_inspector_egui to 0.37.0
    • bevy_egui to 0.40.0
    • bevy_mod_debugdump to 0.16.0

Remaining blockers

The main issue is a glam version conflict:

  • Bevy 0.19 depends on glam 0.32.1
  • glamx 0.1.3 (used by rapier 0.32.0 and parry 0.26.1) depends on glam 0.30.10

Update path

glamx 0.2.0 matches glam 0.32.1 perfectly.
However, the latest rapier 0.33.0 and parry 0.28.0 have already moved to glamx 0.3.0 (which uses glam 0.33)

Once the version conflict is resolved, remaining Bevy 0.19 API changes will be addressed.

Feedback is welcome.

@neocturne

Copy link
Copy Markdown

Is there even anything that can be done except for converting between the different glam versions' types everywhere, as there isn't going to be a rapier version matching bevy 0.19? Has something like this been done in bevy_rapier before?

I guess the conversion would a least be free as the layout will match, but the code is not going to be pretty. And potentially annoying to work with for users too...

@Buncys

Buncys commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

I agree that adding manual conversions everywhere would get messy.

A cleaner alternative might be to create a glam-0.32 branch on Rapier that uses glamx 0.2, and then point bevy_rapier to that branch. This could be a temporary solution until bevy_math updates its glam dependency.

This is something that the maintainers should decide. @sebcrozet

@sebcrozet

sebcrozet commented Jun 26, 2026

Copy link
Copy Markdown
Member

@Buncys I agree the approach your are suggesting sounds like the best one in this siutation.

@Buncys

Buncys commented Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

@sebcrozet Glad you agree! Would it be possible to create a glam-0.32 branch from the Rapier 0.32 release?
I'd be happy to open a PR targeting that branch.

Trouv pushed a commit to Trouv/bevy_ecs_ldtk that referenced this pull request Jun 27, 2026
Being a native bevy plugin, avian provides support for new bevy versions
quickly and is not plagued by dependency incompatibilities (like
requiring rapier and bevy to use the same version of glam).

Prepares for the Bevy 0.19 update in
#404. As noted in
dimforge/bevy_rapier#694, rapier skipped the
glam version used by Bevy 0.19, so making them work together is
cumbersome (and not even using a git version of bevy_rapier would work).
Using avian instead of bevy_rapier allows us to update bevy without
waiting for a solution and avoids similar problems in the future.

As far as I can tell, nothing about the game feels significantly
different with this change applied. One ugly hack was necessary to make
it work correctly, marked by a comment.
@Buncys Buncys force-pushed the bevy-0.19.0 branch 3 times, most recently from 134decb to 06c3421 Compare June 30, 2026 12:17
@Buncys

Buncys commented Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

@sebcrozet I created a branch on my fork of Rapier for glam 0.32.
I also addressed the Bevy 0.19 API changes. All tests are now passing.

The only remaining issue is with cargo-deny in CI, since my fork of Rapier is not whitelisted.
Would it be possible to get that glam-0.32 branch on the Rapier repo as we discussed? Or would you prefer I whitelist the fork in deny.toml?

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants