0a95597c9d
183 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
![]() |
265fefb865
|
Bump cargo-bins/cargo-binstall from 1.12.5 to 1.14.1 (#19877)
Bumps [cargo-bins/cargo-binstall](https://github.com/cargo-bins/cargo-binstall) from 1.12.5 to 1.14.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/cargo-bins/cargo-binstall/releases">cargo-bins/cargo-binstall's releases</a>.</em></p> <blockquote> <h2>v1.14.1</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Upgrade dependencies</li> </ul> <h2>v1.14.0</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Fix glibc detection on arm Fedora (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2205">#2205</a>)</li> <li>Add support for repository host Codeberg (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2202">#2202</a>)</li> <li>Fix error for missing binaries when <code>--bin</code> does not include any of these missing bins (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/1888">#1888</a> <a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2199">#2199</a>)</li> </ul> <h4>Other changes:</h4> <ul> <li>Rm uninstalled crates from <code>$CARGO_HOME/binstall/crates-v1.json</code> (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2197">#2197</a>)</li> <li>Upgrade dependencies</li> </ul> <h2>v1.13.0</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Add a <code>--bin</code> argument to mirror cargo install <code>--bin</code> (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/1961">#1961</a> <a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2189">#2189</a>)</li> </ul> <h4>Other changes:</h4> <ul> <li>Upgrade dependencies</li> </ul> <h2>v1.12.7</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Fix updating installed crates manifest for custom registry (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2175">#2175</a> <a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2178">#2178</a>)</li> </ul> <h4>Other changes:</h4> <ul> <li>Upgrade transitive dependencies</li> <li>Ensure build script always waits for threads created (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2185">#2185</a>)</li> <li>optimization</li> </ul> <h2>v1.12.6</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
5d736a525c
|
Bump super-linter/super-linter from 7.3.0 to 7.4.0 (#19288)
Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 7.3.0 to 7.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/super-linter/super-linter/releases">super-linter/super-linter's releases</a>.</em></p> <blockquote> <h2>v7.4.0</h2> <h2><a href="https://github.com/super-linter/super-linter/compare/v7.3.0...v7.4.0">7.4.0</a> (2025-05-13)</h2> <h3>🚀 Features</h3> <ul> <li>add env var for npm-groovy-lint failon level (<a href="https://redirect.github.com/super-linter/super-linter/issues/6530">#6530</a>) (<a href=" |
||
![]() |
86f00e8127
|
Bump cargo-bins/cargo-binstall from 1.12.3 to 1.12.5 (#19289)
Bumps [cargo-bins/cargo-binstall](https://github.com/cargo-bins/cargo-binstall) from 1.12.3 to 1.12.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/cargo-bins/cargo-binstall/releases">cargo-bins/cargo-binstall's releases</a>.</em></p> <blockquote> <h2>v1.12.5</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Upgrade dependencies</li> </ul> <h2>v1.12.4</h2> <p><em>Binstall is a tool to fetch and install Rust-based executables as binaries. It aims to be a drop-in replacement for <code>cargo install</code> in most cases. Install it today with <code>cargo install cargo-binstall</code>, from the binaries below, or if you already have it, upgrade with <code>cargo binstall cargo-binstall</code>.</em></p> <h4>In this release:</h4> <ul> <li>Fix glibc detection on ubuntu 24.02 (<a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2141">#2141</a> <a href="https://redirect.github.com/cargo-bins/cargo-binstall/issues/2143">#2143</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
4e694aea53
|
ECS: put strings only used for debug behind a feature (#19558)
# Objective - Many strings in bevy_ecs are created but only used for debug: system name, component name, ... - Those strings make a significant part of the final binary and are no use in a released game ## Solution - Use [`strings`](https://linux.die.net/man/1/strings) to find ... strings in a binary - Try to find where they come from - Many are made from `type_name::<T>()` and only used in error / debug messages - Add a new structure `DebugName` that holds no value if `debug` feature is disabled - Replace `core::any::type_name::<T>()` by `DebugName::type_name::<T>()` ## Testing Measurements were taken without the new feature being enabled by default, to help with commands ### File Size I tried building the `breakout` example with `cargo run --release --example breakout` |`debug` enabled|`debug` disabled| |-|-| |81621776 B|77735728B| |77.84MB|74.13MB| ### Compilation time `hyperfine --min-runs 15 --prepare "cargo clean && sleep 5" 'RUSTC_WRAPPER="" cargo build --release --example breakout' 'RUSTC_WRAPPER="" cargo build --release --example breakout --features debug'` ``` breakout' 'RUSTC_WRAPPER="" cargo build --release --example breakout --features debug' Benchmark 1: RUSTC_WRAPPER="" cargo build --release --example breakout Time (mean ± σ): 84.856 s ± 3.565 s [User: 1093.817 s, System: 32.547 s] Range (min … max): 78.038 s … 89.214 s 15 runs Benchmark 2: RUSTC_WRAPPER="" cargo build --release --example breakout --features debug Time (mean ± σ): 92.303 s ± 2.466 s [User: 1193.443 s, System: 33.803 s] Range (min … max): 90.619 s … 99.684 s 15 runs Summary RUSTC_WRAPPER="" cargo build --release --example breakout ran 1.09 ± 0.05 times faster than RUSTC_WRAPPER="" cargo build --release --example breakout --features debug ``` |
||
![]() |
2961f44dcd
|
don't deny warnings on wasm-atomics CI job (#19604)
# Objective - CI job checking for wasm atomics fails because of an unrelated lint on nightly rust - Fixes #19573 ## Solution - Don't deny warning, that's not what this job is checking anyway |
||
![]() |
06bb57c326
|
Bump crate-ci/typos from 1.32.0 to 1.33.1 (#19551)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.32.0 to 1.33.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.33.1</h2> <h2>[1.33.1] - 2025-06-02</h2> <h3>Fixes</h3> <ul> <li><em>(dict)</em> Don't correct <code>wasn't</code> to <code>wasm't</code></li> </ul> <h2>v1.33.0</h2> <h2>[1.33.0] - 2025-06-02</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1290">May 2025</a> changes</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.33.1] - 2025-06-02</h2> <h3>Fixes</h3> <ul> <li><em>(dict)</em> Don't correct <code>wasn't</code> to <code>wasm't</code></li> </ul> <h2>[1.33.0] - 2025-06-02</h2> <h3>Features</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1290">May 2025</a> changes</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
7c4a1f9d87
|
Unpin nightly in CI (#19278)
# Objective In #19253 we pinned nightly due to a bug in Miri. That issue was resolved and the latest Miri should be usable for us again. ## Solution - Use latest nightly again ## Testing - I tested today's Miri locally with `RUSTUP_TOOLCHAIN=nightly-2025-05-18 MIRIFLAGS="-Zmiri-ignore-leaks -Zmiri-disable-isolation" RUSTFLAGS="-Zrandomize-layout" cargo miri test -p bevy_ecs` |
||
![]() |
6397a28bbf
|
Pin nightly due to miri issue (#19253)
# Objective The required miri check is currently failing due to rust-lang/miri#4323 Let's pin nightly to yesterday to not be blocked today. ## Solution - Pinned nightly to `nightly-2025-05-16` ## Testing - Let's see if the pipeline is green on this PR :D |
||
![]() |
b19f644c2f
|
The toml workflow job will now install taplo-cli using cargo-binstall (#18773)
# Objective Avoid needing to compile `taplo-cli` every time we use it in CI. ## Solution Use [cargo-binstall](https://github.com/cargo-bins/cargo-binstall) to install `taplo-cli`. cargo-binstall is different from `cargo install`, in that it will first attempt download a precompiled `taplo-cli` binary, in an attempt to avoid compilation. However, failing that (for any reason), it will fall back to installing the binary through `cargo install`. While installing `taplo-cli` from source is relatively fast (around 50-60s), this still provides a small speed boost to the job, by not needing to spend time compiling `taplo-cli` from source at all. ## Note on how this affects workflows This PR does have one side-effect: Should `taplo-cli` need to be compiled from source at all, it is no longer guaranteed to use the latest `stable` version of `rustc`. This may be considered problematic, as `taplo-cli` doesn't appear to have a MSRV policy. However, its MSRV (as of writing this PR) is `1.74` - a nearly 1.5 year old version. This seems to imply that, if `taplo-cli`'s MSRV is ever updated, it won't be to the absolute latest stable version of Rust until said version is a few months old. Combine that with [the Github Actions runner images being frequently (and automatically) updated to use the latest Rust tooling](https://github.com/actions/runner-images/pull/11957), and I don't foresee `taplo-cli`'s MSRV being an issue in 99% of circumstances. Still, there is the possibility of it being a problem in those 1% of circumstances - if this is a concern, please let me know and I'll try to fix it. ## Testing This change was tested on my local fork. The specific job run can be found [here](https://github.com/LikeLakers2/bevy/actions/runs/14350945588/job/40229485624). --------- Co-authored-by: François Mockers <francois.mockers@vleue.com> |
||
![]() |
b516e78317
|
Bump crate-ci/typos from 1.31.1 to 1.32.0 (#19072)
Adopted #19066. Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.31.1 to 1.32.0. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
![]() |
ce5a82b2bf
|
Bump crate-ci/typos from 1.31.0 to 1.31.1 (#18744)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.31.0 to 1.31.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.31.1</h2> <h2>[1.31.1] - 2025-03-31</h2> <h3>Fixes</h3> <ul> <li><em>(dict)</em> Also correct <code>typ</code> to <code>type</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.31.1] - 2025-03-31</h2> <h3>Fixes</h3> <ul> <li><em>(dict)</em> Also correct <code>typ</code> to <code>type</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
5973ba418f
|
Bump crate-ci/typos from 1.30.2 to 1.31.0 (#18656)
# Objective - Fixes #18642 ## Solution - Bumped crate-ci/typos from 1.30.2 to 1.31.0. - Fixed typos. ## Testing - Typos were fixed. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
![]() |
958c9bb652
|
Add no_std Library Example (#18333)
# Objective - Fixes #17506 - Fixes #16258 ## Solution - Added a new folder of examples, `no_std`, similar to the `mobile` folder. - Added a single example, `no_std_library`, which demonstrates how to make a `no_std` compatible Bevy library. - Added a new CI task, `check-compiles-no-std-examples`, which checks that `no_std` examples compile on `no_std` targets. - Added `bevy_platform_support::prelude` to `bevy::prelude`. ## Testing - CI --- ## Notes - I've structured the folders here to permit further `no_std` examples (e.g., GameBoy Games, ESP32 firmware, etc.), but I am starting with the simplest and least controversial example. - I've tried to be as clear as possible with the documentation for this example, catering to an audience who may not have even heard of `no_std` before. --------- Co-authored-by: Greeble <166992735+greeble-dev@users.noreply.github.com> |
||
![]() |
e6a6c9fb4c
|
Link iOS example with rustc , and avoid C trampoline (#14780)
# Objective On iOS: - Allow `std` to do its runtime initialization. - Avoid requiring the user to specify linked libraries and framework in Xcode. - Reduce the amount of work that `#[bevy_main]` does - In the future we may also be able to eliminate the need for it on Android, cc @daxpedda. ## Solution We previously: - Exposed an `extern "C" fn main_rs` entry point. - Ran Cargo in a separate Xcode target as an external build system. - Imported that as a dependency of `bevy_mobile_example.app`. - Compiled a trampoline C file with Xcode that called `main_rs`. - Linked that via. Xcode. All of this is unnecessary; `rustc` is well capable of creating iOS executables, the trick is just to place it at the correct location for Xcode to understand it, namely `$TARGET_BUILD_DIR/$EXECUTABLE_PATH` (places it in `bevy_mobile_example.app/bevy_mobile_example`). Note: We might want to wait with the changes to `#[bevy_main]` until the problem is resolved on Android too, to make the migration easier. ## Testing Open the Xcode project, and build for an iOS target. --- ## Migration Guide **If you have been building your application for iOS:** Previously, the `#[bevy_main]` attribute created a `main_rs` entry point that most Xcode templates were using to run your Rust code from C. This was found to be unnecessary, as you can simply let Rust build your application as a binary, and run that directly. You have two options for dealing with this: If you've added further C code and Xcode customizations, or it makes sense for your use-case to continue link with Xcode, you can revert to the old behaviour by adding `#[no_mangle] extern "C" main_rs() { main() }` to your `main.rs`. Note that the old approach of linking a static library prevents the Rust standard library from doing runtime initialization, so certain functionality provided by `std` might be unavailable (stack overflow handlers, stdout/stderr flushing and other such functionality provided by the initialization routines). The other, preferred option is to remove your "compile" and "link" build phases, and instead replace it with a "run script" phase that invokes `cargo build --bin ...`, and moves the built binary to the Xcode path `$TARGET_BUILD_DIR/$EXECUTABLE_PATH`. An example of how to do this can be viewed at [INSERT LINK TO UPDATED EXAMPLE PROJECT]. To make the debugging experience in Xcode nicer after this, you might also want to consider either enabling `panic = "abort"` or to set a breakpoint on the `rust_panic` symbol. --------- Co-authored-by: François Mockers <mockersf@gmail.com> Co-authored-by: François Mockers <francois.mockers@vleue.com> |
||
![]() |
c821eda853
|
Bump crate-ci/typos from 1.30.1 to 1.30.2 (#18354)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.30.1 to 1.30.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.30.2</h2> <h2>[1.30.2] - 2025-03-10</h2> <h3>Features</h3> <ul> <li>Add <code>--highlight-words</code> and <code>--highlight-identifiers</code> for easier debugging of config</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.30.2] - 2025-03-10</h2> <h3>Features</h3> <ul> <li>Add <code>--highlight-words</code> and <code>--highlight-identifiers</code> for easier debugging of config</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
6b61e38011
|
update superlinter (#18320)
# Objective - super-linter uses an old version in CI and wasn't updated for the last two years ## Solution - Update super-linter |
||
![]() |
67c61d115d
|
Bump crate-ci/typos from 1.30.0 to 1.30.1 (#18227)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.30.0 to 1.30.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.30.1</h2> <h2>[1.30.1] - 2025-03-04</h2> <h3>Features</h3> <ul> <li><em>(action)</em> Create <code>v1</code> tag</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.30.1] - 2025-03-04</h2> <h3>Features</h3> <ul> <li><em>(action)</em> Create <code>v1</code> tag</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
cc69fdd0c6
|
Add no_std support to bevy (#17955)
# Objective - Fixes #15460 (will open new issues for further `no_std` efforts) - Supersedes #17715 ## Solution - Threaded in new features as required - Made certain crates optional but default enabled - Removed `compile-check-no-std` from internal `ci` tool since GitHub CI can now simply check `bevy` itself now - Added CI task to check `bevy` on `thumbv6m-none-eabi` to ensure `portable-atomic` support is still valid [^1] [^1]: This may be controversial, since it could be interpreted as implying Bevy will maintain support for `thumbv6m-none-eabi` going forward. In reality, just like `x86_64-unknown-none`, this is a [canary](https://en.wiktionary.org/wiki/canary_in_a_coal_mine) target to make it clear when `portable-atomic` no longer works as intended (fixing atomic support on atomically challenged platforms). If a PR comes through and makes supporting this class of platforms impossible, then this CI task can be removed. I however wager this won't be a problem. ## Testing - CI --- ## Release Notes Bevy now has support for `no_std` directly from the `bevy` crate. Users can disable default features and enable a new `default_no_std` feature instead, allowing `bevy` to be used in `no_std` applications and libraries. ```toml # Bevy for `no_std` platforms bevy = { version = "0.16", default-features = false, features = ["default_no_std"] } ``` `default_no_std` enables certain required features, such as `libm` and `critical-section`, and as many optional crates as possible (currently just `bevy_state`). For atomically-challenged platforms such as the Raspberry Pi Pico, `portable-atomic` will be used automatically. For library authors, we recommend depending on `bevy` with `default-features = false` to allow `std` and `no_std` users to both depend on your crate. Here are some recommended features a library crate may want to expose: ```toml [features] # Most users will be on a platform which has `std` and can use the more-powerful `async_executor`. default = ["std", "async_executor"] # Features for typical platforms. std = ["bevy/std"] async_executor = ["bevy/async_executor"] # Features for `no_std` platforms. libm = ["bevy/libm"] critical-section = ["bevy/critical-section"] [dependencies] # We disable default features to ensure we don't accidentally enable `std` on `no_std` targets, for example. bevy = { version = "0.16", default-features = false } ``` While this is verbose, it gives the maximum control to end-users to decide how they wish to use Bevy on their platform. We encourage library authors to experiment with `no_std` support. For libraries relying exclusively on `bevy` and no other dependencies, it may be as simple as adding `#![no_std]` to your `lib.rs` and exposing features as above! Bevy can also provide many `std` types, such as `HashMap`, `Mutex`, and `Instant` on all platforms. See `bevy::platform_support` for details on what's available out of the box! ## Migration Guide - If you were previously relying on `bevy` with default features disabled, you may need to enable the `std` and `async_executor` features. - `bevy_reflect` has had its `bevy` feature removed. If you were relying on this feature, simply enable `smallvec` and `smol_str` instead. --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> |
||
![]() |
36cb64b382
|
Bump typos to 1.30.0 (#18097)
# Objective Update `typos` and fix newly detected typos. [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md#1300---2025-03-01) (just a dictionary update releases) ## Solution Fix em - Describe the solution used to achieve the objective above. ## Testing CI |
||
![]() |
2f633c18ba
|
Split example runs to their own GitHub workflow (#18039)
# Objective - next step for #15918 ## Solution - Move jobs for macOS, Linux and Windows to their own workflow - Remove running on push to `main` from workflows CI and validation |
||
![]() |
0855a0e8ad
|
Bump crate-ci/typos from 1.29.7 to 1.29.9 (#18012)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.29.7 to 1.29.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.29.9</h2> <h2>[1.29.9] - 2025-02-20</h2> <h3>Fixes</h3> <ul> <li><em>(action)</em> Correctly get binary for some aarch64 systems</li> </ul> <h2>v1.29.8</h2> <h2>[1.29.8] - 2025-02-19</h2> <h3>Features</h3> <ul> <li>Attempt to build Linux aarch64 binaries</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.29.9] - 2025-02-20</h2> <h3>Fixes</h3> <ul> <li><em>(action)</em> Correctly get binary for some aarch64 systems</li> </ul> <h2>[1.29.8] - 2025-02-19</h2> <h3>Features</h3> <ul> <li>Attempt to build Linux aarch64 binaries</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
5241e09671
|
Upgrade to Rust Edition 2024 (#17967)
# Objective - Fixes #17960 ## Solution - Followed the [edition upgrade guide](https://doc.rust-lang.org/edition-guide/editions/transitioning-an-existing-project-to-a-new-edition.html) ## Testing - CI --- ## Summary of Changes ### Documentation Indentation When using lists in documentation, proper indentation is now linted for. This means subsequent lines within the same list item must start at the same indentation level as the item. ```rust /* Valid */ /// - Item 1 /// Run-on sentence. /// - Item 2 struct Foo; /* Invalid */ /// - Item 1 /// Run-on sentence. /// - Item 2 struct Foo; ``` ### Implicit `!` to `()` Conversion `!` (the never return type, returned by `panic!`, etc.) no longer implicitly converts to `()`. This is particularly painful for systems with `todo!` or `panic!` statements, as they will no longer be functions returning `()` (or `Result<()>`), making them invalid systems for functions like `add_systems`. The ideal fix would be to accept functions returning `!` (or rather, _not_ returning), but this is blocked on the [stabilisation of the `!` type itself](https://doc.rust-lang.org/std/primitive.never.html), which is not done. The "simple" fix would be to add an explicit `-> ()` to system signatures (e.g., `|| { todo!() }` becomes `|| -> () { todo!() }`). However, this is _also_ banned, as there is an existing lint which (IMO, incorrectly) marks this as an unnecessary annotation. So, the "fix" (read: workaround) is to put these kinds of `|| -> ! { ... }` closuers into variables and give the variable an explicit type (e.g., `fn()`). ```rust // Valid let system: fn() = || todo!("Not implemented yet!"); app.add_systems(..., system); // Invalid app.add_systems(..., || todo!("Not implemented yet!")); ``` ### Temporary Variable Lifetimes The order in which temporary variables are dropped has changed. The simple fix here is _usually_ to just assign temporaries to a named variable before use. ### `gen` is a keyword We can no longer use the name `gen` as it is reserved for a future generator syntax. This involved replacing uses of the name `gen` with `r#gen` (the raw-identifier syntax). ### Formatting has changed Use statements have had the order of imports changed, causing a substantial +/-3,000 diff when applied. For now, I have opted-out of this change by amending `rustfmt.toml` ```toml style_edition = "2021" ``` This preserves the original formatting for now, reducing the size of this PR. It would be a simple followup to update this to 2024 and run `cargo fmt`. ### New `use<>` Opt-Out Syntax Lifetimes are now implicitly included in RPIT types. There was a handful of instances where it needed to be added to satisfy the borrow checker, but there may be more cases where it _should_ be added to avoid breakages in user code. ### `MyUnitStruct { .. }` is an invalid pattern Previously, you could match against unit structs (and unit enum variants) with a `{ .. }` destructuring. This is no longer valid. ### Pretty much every use of `ref` and `mut` are gone Pattern binding has changed to the point where these terms are largely unused now. They still serve a purpose, but it is far more niche now. ### `iter::repeat(...).take(...)` is bad New lint recommends using the more explicit `iter::repeat_n(..., ...)` instead. ## Migration Guide The lifetimes of functions using return-position impl-trait (RPIT) are likely _more_ conservative than they had been previously. If you encounter lifetime issues with such a function, please create an issue to investigate the addition of `+ use<...>`. ## Notes - Check the individual commits for a clearer breakdown for what _actually_ changed. --------- Co-authored-by: François Mockers <francois.mockers@vleue.com> |
||
![]() |
fb1e829294
|
Bump typos to 1.29.7 (#17902)
# Objective Alternative to #17894 that also cleans up the workaround from the previous version ## Solution Bump version and remove entry from `typos` config |
||
![]() |
2760692f88
|
Update typos to 1.29.6 (#17850)
# Objective Update typos, fix new typos. 1.29.6 was just released to fix an [issue](https://github.com/crate-ci/typos/issues/1228) where January's corrections were not included in the binaries for the last release. Reminder: typos can be tossed in the monthly [non-critical corrections issue](https://github.com/crate-ci/typos/issues/1221). ## Solution I chose to allow `implementors`, because a good argument seems to be being made [here](https://github.com/crate-ci/typos/issues/1226) and there is now a PR to address that. ## Discussion Should I exclude `bevy_mikktspace`? At one point I think we had an informal policy of "don't mess with mikktspace until https://github.com/bevyengine/bevy/pull/9050 is merged" but it doesn't seem like that is likely to be merged any time soon. I think these particular corrections in mikktspace are fine because - The same typo mistake seems to have been fixed in that PR - The entire file containing these corrections was deleted in that PR ## Typo of the Month correspindong -> corresponding |
||
![]() |
d9df371ef2
|
Bump crate-ci/typos from 1.29.4 to 1.29.5 (#17655)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.29.4 to 1.29.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.29.5</h2> <h2>[1.29.5] - 2025-01-30</h2> <h3>Internal</h3> <ul> <li>Update a dependency</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.29.5] - 2025-01-30</h2> <h3>Internal</h3> <ul> <li>Update a dependency</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
33c5e0bc96
|
Tiny ci improvements (#17627)
# Objective - make CI a bit faster without losing anything ## Solution - Always disable incremental compilation. This was done in a few jobs, just do it everywhere - Also disable debug info. This should reduce target folder a bit, reducing cache size and upload duration |
||
![]() |
8baf4e5b2c
|
msrv needs build (#17156)
# Objective My previous PR is causing the github bot to comment whenver a PR build fails. This is a mistake. ## Solution msrv should depend on build succeeding |
||
![]() |
39f38a191e
|
Add -D warnings in a few steps (#17081)
# Objective I missed a couple checks in #17011 ## Solution Add env ## Testing CI |
||
![]() |
651b22f31f
|
Update typos (#17126)
# Objective Use the latest version of `typos` and fix the typos that it now detects # Additional Info By the way, `typos` has a "low priority typo suggestions issue" where we can throw typos we find that `typos` doesn't catch. (This link may go stale) https://github.com/crate-ci/typos/issues/1200 |
||
![]() |
4460a4d9ed
|
Use -D warnings in all relevant CI (#17011)
# Objective Fixes #17009 See: https://doc.rust-lang.org/stable/clippy/continuous_integration/index.html ## Solution Add the env ## Testing CI should start to fail, then I'll fix it. ## Showcase  |
||
![]() |
8d9a00f548
|
Bump crate-ci/typos from 1.28.3 to 1.28.4 (#16943)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.28.3 to 1.28.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.28.4</h2> <h2>[1.28.4] - 2024-12-16</h2> <h3>Features</h3> <ul> <li><code>--format sarif</code> support</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.28.4] - 2024-12-16</h2> <h3>Features</h3> <ul> <li><code>--format sarif</code> support</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
05c6931279
|
Revert "Make doc CI use nightly (#16147)" (#16891)
This reverts commit
|
||
![]() |
dff3a54ef4
|
Bump crate-ci/typos from 1.28.2 to 1.28.3 (#16839)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.28.2 to 1.28.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.28.3</h2> <h2>[1.28.3] - 2024-12-12</h2> <h3>Fixes</h3> <ul> <li>Correct <code>imlementations</code>, <code>includs</code>, <code>qurorum</code>, <code>transatctions</code>, <code>trasnactions</code>, <code>validasted</code>, <code>vview</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.28.3] - 2024-12-12</h2> <h3>Fixes</h3> <ul> <li>Correct <code>imlementations</code>, <code>includs</code>, <code>qurorum</code>, <code>transatctions</code>, <code>trasnactions</code>, <code>validasted</code>, <code>vview</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
a6b5f80715
|
⬆️ Upgrade typos and its configuration (#16712)
# Objective Fixes #16610, related to #16702 ## Solution Upgrade typos and its configuration ## Testing - Did you test these changes? If so, how? No - Are there any parts that need more testing? No - How can other people (reviewers) test your changes? Is there anything specific they need to know? No - If relevant, what platforms did you test these changes on, and are there any important ones you can't test? Not applicable |
||
![]() |
689c21d315
|
Add screenshot check on UI (#16486)
# Objective - Progress towards #15918 - Add test on UI ## Solution - Get a single screenshot from the UI testbed example - Remove older examples from runs in CI as they're covered by the testbed to reduce CI duration |
||
![]() |
1d7f663475
|
Clean up some yaml mistakes (#16300)
# Objective Our build pipeline should have no grammar or syntax mistakes. ## Solution Remove a reference to a non-existent variable and clean up the taplo `echo`s. |
||
![]() |
c62c13dc2a
|
Bump crate-ci/typos from 1.27.0 to 1.27.3 (#16343)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.27.0 to 1.27.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.27.3</h2> <h2>[1.27.3] - 2024-11-08</h2> <h3>Fixes</h3> <ul> <li>Don't correct <code>alloced</code></li> <li>Don't correct <code>registor</code>, a more domain specific variant of <code>register</code></li> </ul> <h2>v1.27.2</h2> <h2>[1.27.2] - 2024-11-06</h2> <h3>Fixes</h3> <ul> <li>Correct <code>fand</code></li> </ul> <h2>v1.27.1</h2> <h2>[1.27.1] - 2024-11-06</h2> <h3>Fixes</h3> <ul> <li>Correct <code>alingment</code> as <code>alignment</code>, rather than <code>alinement</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.27.3] - 2024-11-08</h2> <h3>Fixes</h3> <ul> <li>Don't correct <code>alloced</code></li> <li>Don't correct <code>requestor</code>, a more domain specific variant of <code>requester</code></li> </ul> <h2>[1.27.2] - 2024-11-06</h2> <h3>Fixes</h3> <ul> <li>Correct <code>fand</code></li> </ul> <h2>[1.27.1] - 2024-11-06</h2> <h3>Fixes</h3> <ul> <li>Correct <code>alingment</code> as <code>alignment</code>, rather than <code>alinement</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
745e27ca22
|
Allow jobs to upgrade to macos-15 (using -latest) (#16321)
# Objective With [macos-15 becoming the new `-latest` soon](https://github.com/github/roadmap/issues/986), there's probably no particular reason left to pin a runner version here. May as well take the upgrade as it rolls out. Note that these are still m1-based, you'd have to request a larger runner to get m2. |
||
![]() |
58a73924eb
|
Make doc CI use nightly (#16147)
# Objective Fixes #15427 Follow-up to #15428 ## Solution Use nightly and add the environment variables as suggested here: https://github.com/bevyengine/bevy/pull/15428#pullrequestreview-2331294421 ## Testing CI should run |
||
![]() |
a44b668b90
|
Bump crate-ci/typos from 1.26.8 to 1.27.0 (#16236)
# Objective - Closes #16224 ## Solution - Bumps `crate-ci/typos@v1.26.8` to `crate-ci/typos@v1.27.0`. ## Testing - CI checks should pass. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
![]() |
33c49455cd
|
Bump crate-ci/typos from 1.26.0 to 1.26.8 (#16128)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.26.0 to 1.26.8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.26.8</h2> <h2>[1.26.8] - 2024-10-24</h2> <h2>v1.26.3</h2> <h2>[1.26.3] - 2024-10-24</h2> <h3>Fixes</h3> <ul> <li>Accept <code>additionals</code></li> </ul> <h2>v1.26.2</h2> <h2>[1.26.2] - 2024-10-24</h2> <h3>Fixes</h3> <ul> <li>Accept <code>tesselate</code> variants</li> </ul> <h2>v1.26.1</h2> <h2>[1.26.1] - 2024-10-23</h2> <h3>Fixes</h3> <ul> <li>Respect <code>--force-exclude</code> for binary files</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.26.8] - 2024-10-24</h2> <h2>[1.26.7] - 2024-10-24</h2> <h2>[1.26.6] - 2024-10-24</h2> <h2>[1.26.5] - 2024-10-24</h2> <h2>[1.26.4] - 2024-10-24</h2> <h2>[1.26.3] - 2024-10-24</h2> <h3>Fixes</h3> <ul> <li>Accept <code>additionals</code></li> </ul> <h2>[1.26.2] - 2024-10-24</h2> <h3>Fixes</h3> <ul> <li>Accept <code>tesselate</code> variants</li> </ul> <h2>[1.26.1] - 2024-10-23</h2> <h3>Fixes</h3> <ul> <li>Respect <code>--force-exclude</code> for binary files</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
b0fd3d524f
|
Typo-check .hidden files (#16035)
# Objective Typo-check .hidden files like `.cargo/config_fast_builds.toml` and `.github/*`. Context: https://github.com/bevyengine/bevy/pull/16025. ## Solution - Add `ignore-hidden = false` to `typos.toml` to override the default value of `true`. - Add an exception to keep `.git/` ignored in `typos.toml`. - Fix newly-found typos so CI passes. ## Testing Running `typos` locally finds no further typos. |
||
![]() |
a8530ebbc8
|
screenshot comparison: fix upload for macOS... again (#15914)
# Objective - Used the wrong variable to set metadata - new fixes after https://github.com/bevyengine/bevy/pull/15911 ## Solution - Use the right one - Also keep a reference to the original PR when there's one |
||
![]() |
bd912c25f7
|
Fix screenshot comparison (#15894)
# Objective - After merging #13248 the new upload job fails ## Solution - Fix the file path - Instead of a pull_request_target workflow, keep the examples in the pull_request workflow and add another job that will run once its all completed on a `workflow_run` event to upload screenshots ## Testing - Tested in a ubuntu docker container, running the exact same script - Manual result: https://pixel-eagle.com/project/B04F67C0-C054-4A6F-92EC-F599FEC2FD1D/run/5/compare/2 - The CI on this job will still fail as its using the job from main |
||
![]() |
d7b2713462
|
Bump crate-ci/typos from 1.25.0 to 1.26.0 (#15895)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.25.0 to 1.26.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.26.0</h2> <h2>[1.26.0] - 2024-10-07</h2> <h3>Compatibility</h3> <ul> <li><em>(pre-commit)</em> Requires 3.2+</li> </ul> <h3>Fixes</h3> <ul> <li><em>(pre-commit)</em> Resolve deprecations in 4.0 about deprecated stage names</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.26.0] - 2024-10-07</h2> <h3>Compatibility</h3> <ul> <li><em>(pre-commit)</em> Requires 3.2+</li> </ul> <h3>Fixes</h3> <ul> <li><em>(pre-commit)</em> Resolve deprecations in 4.0 about deprecated stage names</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
82d6f56cfc
|
Compare screenshots with main on PRs (#13248)
# Objective - Compare screenshots for a few examples between PRs and main ## Solution - Send screenshots taken to a screenshot comparison service - Not completely sure every thing will work at once, but it shouldn't break anything at least - it needs a secret to work, I'll add it if enough people agree with this PR - this PR doesn't change anything on the screenshot selection (load_gltf and breakout currently), this will need rendering folks input and can happen later --------- Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com> |
||
![]() |
aa5e93d0bf
|
Add compile-check-no-std Command to CI Tool (#15843)
# Objective - Fixes #15840 ## Solution Added a new subcommand to the CI tool, `compile-check-no-std`, which will attempt to compile each `no_std` crate in Bevy with the appropriate features (no-defaults, `libm`, etc.) for `x86_64-unknown-none`. The exact target chosen could be changed to any reasonable platform which does not include the `std` library. The currently tested crates are: - `bevy_ptr` - `bevy_utils` - `bevy_mikktspace` As more crates have `no_std` support added, they _should_ be added to this CI command. Once Bevy itself can be `no_std`, the individual checks can be replaced with just checking Bevy, since it will transiently check all other crates as appropriate. ## Testing - Ran CI. From a clean target directory (`cargo clean`), these new checks take approximately 10 seconds total. --------- Co-authored-by: François Mockers <francois.mockers@vleue.com> |
||
![]() |
280f77a9b9
|
Bump crate-ci/typos from 1.24.6 to 1.25.0 (#15694)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.24.6 to 1.25.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.25.0</h2> <h2>[1.25.0] - 2024-10-01</h2> <h3>Fixes</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1107">September 2024</a> changes</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.25.0] - 2024-10-01</h2> <h3>Fixes</h3> <ul> <li>Updated the dictionary with the <a href="https://redirect.github.com/crate-ci/typos/issues/1107">September 2024</a> changes</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
![]() |
54006b107b
|
Migrate meshes and materials to required components (#15524)
# Objective A big step in the migration to required components: meshes and materials! ## Solution As per the [selected proposal](https://hackmd.io/@bevy/required_components/%2Fj9-PnF-2QKK0on1KQ29UWQ): - Deprecate `MaterialMesh2dBundle`, `MaterialMeshBundle`, and `PbrBundle`. - Add `Mesh2d` and `Mesh3d` components, which wrap a `Handle<Mesh>`. - Add `MeshMaterial2d<M: Material2d>` and `MeshMaterial3d<M: Material>`, which wrap a `Handle<M>`. - Meshes *without* a mesh material should be rendered with a default material. The existence of a material is determined by `HasMaterial2d`/`HasMaterial3d`, which is required by `MeshMaterial2d`/`MeshMaterial3d`. This gets around problems with the generics. Previously: ```rust commands.spawn(MaterialMesh2dBundle { mesh: meshes.add(Circle::new(100.0)).into(), material: materials.add(Color::srgb(7.5, 0.0, 7.5)), transform: Transform::from_translation(Vec3::new(-200., 0., 0.)), ..default() }); ``` Now: ```rust commands.spawn(( Mesh2d(meshes.add(Circle::new(100.0))), MeshMaterial2d(materials.add(Color::srgb(7.5, 0.0, 7.5))), Transform::from_translation(Vec3::new(-200., 0., 0.)), )); ``` If the mesh material is missing, previously nothing was rendered. Now, it renders a white default `ColorMaterial` in 2D and a `StandardMaterial` in 3D (this can be overridden). Below, only every other entity has a material:   Why white? This is still open for discussion, but I think white makes sense for a *default* material, while *invalid* asset handles pointing to nothing should have something like a pink material to indicate that something is broken (I don't handle that in this PR yet). This is kind of a mix of Godot and Unity: Godot just renders a white material for non-existent materials, while Unity renders nothing when no materials exist, but renders pink for invalid materials. I can also change the default material to pink if that is preferable though. ## Testing I ran some 2D and 3D examples to test if anything changed visually. I have not tested all examples or features yet however. If anyone wants to test more extensively, it would be appreciated! ## Implementation Notes - The relationship between `bevy_render` and `bevy_pbr` is weird here. `bevy_render` needs `Mesh3d` for its own systems, but `bevy_pbr` has all of the material logic, and `bevy_render` doesn't depend on it. I feel like the two crates should be refactored in some way, but I think that's out of scope for this PR. - I didn't migrate meshlets to required components yet. That can probably be done in a follow-up, as this is already a huge PR. - It is becoming increasingly clear to me that we really, *really* want to disallow raw asset handles as components. They caused me a *ton* of headache here already, and it took me a long time to find every place that queried for them or inserted them directly on entities, since there were no compiler errors for it. If we don't remove the `Component` derive, I expect raw asset handles to be a *huge* footgun for users as we transition to wrapper components, especially as handles as components have been the norm so far. I personally consider this to be a blocker for 0.15: we need to migrate to wrapper components for asset handles everywhere, and remove the `Component` derive. Also see https://github.com/bevyengine/bevy/issues/14124. --- ## Migration Guide Asset handles for meshes and mesh materials must now be wrapped in the `Mesh2d` and `MeshMaterial2d` or `Mesh3d` and `MeshMaterial3d` components for 2D and 3D respectively. Raw handles as components no longer render meshes. Additionally, `MaterialMesh2dBundle`, `MaterialMeshBundle`, and `PbrBundle` have been deprecated. Instead, use the mesh and material components directly. Previously: ```rust commands.spawn(MaterialMesh2dBundle { mesh: meshes.add(Circle::new(100.0)).into(), material: materials.add(Color::srgb(7.5, 0.0, 7.5)), transform: Transform::from_translation(Vec3::new(-200., 0., 0.)), ..default() }); ``` Now: ```rust commands.spawn(( Mesh2d(meshes.add(Circle::new(100.0))), MeshMaterial2d(materials.add(Color::srgb(7.5, 0.0, 7.5))), Transform::from_translation(Vec3::new(-200., 0., 0.)), )); ``` If the mesh material is missing, a white default material is now used. Previously, nothing was rendered if the material was missing. The `WithMesh2d` and `WithMesh3d` query filter type aliases have also been removed. Simply use `With<Mesh2d>` or `With<Mesh3d>`. --------- Co-authored-by: Tim Blackbird <justthecooldude@gmail.com> Co-authored-by: Carter Anderson <mcanders1@gmail.com> |
||
![]() |
3139b03e74
|
Bump crate-ci/typos from 1.24.5 to 1.24.6 (#15383)
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.24.5 to 1.24.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/releases">crate-ci/typos's releases</a>.</em></p> <blockquote> <h2>v1.24.6</h2> <h2>[1.24.6] - 2024-09-16</h2> <h3>Fixes</h3> <ul> <li>Respect negation (<code>!</code>) in <code>extend-exclude</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/crate-ci/typos/blob/master/CHANGELOG.md">crate-ci/typos's changelog</a>.</em></p> <blockquote> <h2>[1.24.6] - 2024-09-16</h2> <h3>Fixes</h3> <ul> <li>Respect negation (<code>!</code>) in <code>extend-exclude</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |