Skip to content

Migrate to Bevy 0.18.#115

Open
eswartz wants to merge 1 commit intotimschmidt:mainfrom
eswartz:bevy-0.18
Open

Migrate to Bevy 0.18.#115
eswartz wants to merge 1 commit intotimschmidt:mainfrom
eswartz:bevy-0.18

Conversation

@eswartz
Copy link

@eswartz eswartz commented Jan 21, 2026

Fortunately, this was easy!

High-level PR Summary

This PR migrates the project from Bevy 0.17 to Bevy 0.18 by updating all Bevy dependency versions in Cargo.toml from 0.17 to 0.18 (including bevy_mesh and bevy_asset) and updating the wgpu-types dependency from version 24 to 27. The Cargo.lock file reflects the corresponding transitive dependency updates across the entire Bevy ecosystem.

⏱️ Estimated Review Time: 15-30 minutes

💡 Review Order Suggestion
Order File Path
1 Cargo.toml
2 Cargo.lock

Need help? Join our Discord

@gemini-code-assist
Copy link

Summary of Changes

Hello @eswartz, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a significant upgrade of the project's Bevy game engine dependency from version 0.17 to 0.18. This update ensures the project benefits from the latest features, performance improvements, and bug fixes offered by the new Bevy release. The migration involved updating core Bevy crates, adjusting to changes in the Bevy ecosystem by removing deprecated or integrated components, and incorporating new modules.

Highlights

  • Bevy Engine Upgrade: The core Bevy game engine and its associated crates have been upgraded from version 0.17.x to 0.18.0, bringing the project up-to-date with the latest features and improvements.
  • Crate Removals: Several Bevy-related crates, including 'bevy_color', 'bevy_image', and 'bevy_mikktspace', have been removed. This indicates potential refactoring or consolidation within the Bevy ecosystem in the new version.
  • New Crate Additions: New Bevy crates, 'bevy_diagnostic' and 'bevy_time', have been introduced, suggesting new functionalities or modularization within the updated engine.
  • WGPU Types Update: The 'wgpu-types' dependency has been updated to version 27.0.1, reflecting changes in the underlying graphics API.
  • Dependency Streamlining: Various transitive dependencies have been streamlined, with packages like 'encase', 'euclid', 'guillotiere', 'parking_lot', and 'scopeguard' being removed, while others like 'futures-util' and 'pin-utils' were added.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

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

Review by RecurseML

🔍 Review performed on dca6d01..5e6dea5

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (2)

Cargo.lock
Cargo.toml

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request migrates the project to Bevy 0.18 by updating dependencies in Cargo.toml. The version bumps for bevy_mesh and bevy_asset are correct. However, I've found a critical issue with the wgpu-types dependency version. It's being updated to a version that appears to be incompatible with Bevy 0.18, which will likely cause build failures. I've left a specific comment with a suggested fix. Once that's addressed, this migration should be in good shape.

wgpu-types = { version = "24", optional = true, default-features = false }
bevy_mesh = { version = "0.18", optional = true }
bevy_asset = { version = "0.18", optional = true }
wgpu-types = { version = "27", optional = true, default-features = false }

Choose a reason for hiding this comment

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

critical

The version specified for wgpu-types appears to be incorrect for a Bevy 0.18 migration. Bevy 0.18 and its components like bevy_mesh depend on wgpu-types version 0.18.x. The version 27 you've specified seems to resolve to a newer, incompatible version of wgpu-types.

Using an incompatible version of wgpu-types will likely cause compilation errors due to breaking changes in the wgpu ecosystem. To ensure compatibility with Bevy 0.18, please use a matching version for wgpu-types.

Suggested change
wgpu-types = { version = "27", optional = true, default-features = false }
wgpu-types = { version = "0.18", optional = true, default-features = false }

Copy link
Author

Choose a reason for hiding this comment

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

From the Bevy repo, cargo tree --invert wgpu-types says:

wgpu-types v27.0.1
├── bevy_camera v0.18.0
...
``` etc.

So I think you're wrong, Gemini.

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.

1 participant