From deadd460c86d8f578c977fe500c687508f03fee4 Mon Sep 17 00:00:00 2001 From: Alice I Cecile Date: Mon, 25 Nov 2024 22:31:52 -0500 Subject: [PATCH 1/8] Don't prematurely skip PRs: date returned doesn't seem reliable --- generate-release/src/github_client.rs | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/generate-release/src/github_client.rs b/generate-release/src/github_client.rs index 290dc263f2..5e3ab59e68 100644 --- a/generate-release/src/github_client.rs +++ b/generate-release/src/github_client.rs @@ -198,19 +198,6 @@ impl GithubClient { prs.append(&mut prs_in_page); page += 1; - if let Some(pr) = prs.last() { - if let Some(datetime_utc) = datetime_utc { - if let Some(closed_at) = pr.closed_at { - if closed_at < datetime_utc { - println!( - "\x1b[93mSkipping PR closed before the target datetime {}\x1b[0m", - closed_at - ); - break; - } - } - } - } } // Make sure the older PRs from the last page aren't returned From d158c8c4210e2e75aca7290cc8e2155bb957bbc3 Mon Sep 17 00:00:00 2001 From: Alice I Cecile Date: Mon, 25 Nov 2024 22:33:55 -0500 Subject: [PATCH 2/8] Add newly found old PRs --- .../migration-guides/10193_Cosmic_text.md | 5 +++ ...etSourceId_and_IntoAssetPath_Implementa.md | 11 +++++ ...k_sampler_type_in_as_bind_group_derives.md | 1 + ...pawn_and_on_thread_destroy_for_TaskPool.md | 1 + ...eflect_implement_the_unique_reflect_rfc.md | 2 + .../8997_Optional_UI_rendering.md | 1 + .../9889_Simplified_ui_stack_system.md | 1 + .../0.15/migration-guides/_guides.toml | 42 +++++++++++++++++++ 8 files changed, 64 insertions(+) create mode 100644 release-content/0.15/migration-guides/10193_Cosmic_text.md create mode 100644 release-content/0.15/migration-guides/10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md create mode 100644 release-content/0.15/migration-guides/12637_check_sampler_type_in_as_bind_group_derives.md create mode 100644 release-content/0.15/migration-guides/13045_Support_on_thread_spawn_and_on_thread_destroy_for_TaskPool.md create mode 100644 release-content/0.15/migration-guides/7207_reflect_implement_the_unique_reflect_rfc.md create mode 100644 release-content/0.15/migration-guides/8997_Optional_UI_rendering.md create mode 100644 release-content/0.15/migration-guides/9889_Simplified_ui_stack_system.md diff --git a/release-content/0.15/migration-guides/10193_Cosmic_text.md b/release-content/0.15/migration-guides/10193_Cosmic_text.md new file mode 100644 index 0000000000..bb1a1b38bb --- /dev/null +++ b/release-content/0.15/migration-guides/10193_Cosmic_text.md @@ -0,0 +1,5 @@ +- `Text2dBounds` has been replaced with `TextBounds`, and it now accepts `Option`s to the bounds, instead of using `f32::INFINITY` to inidicate lack of bounds +- Textsizes should be changed, dividing the current size with 1.2 will result in the same size as before. +- `TextSettings` struct is removed +- Feature `subpixel_alignment` has been removed since cosmic-text already does this automatically +- TextBundles and things rendering texts requires the `CosmicBuffer` Component on them as well diff --git a/release-content/0.15/migration-guides/10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md b/release-content/0.15/migration-guides/10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md new file mode 100644 index 0000000000..807a319824 --- /dev/null +++ b/release-content/0.15/migration-guides/10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md @@ -0,0 +1,11 @@ +In areas where these implementations where being used, you can now add `from_static` in order to get the original specialised implementation which avoids creating an `Arc` internally. + +```rust +// Before +let asset_path = AssetPath::from("my/path/to/an/asset.ext"); + +// After +let asset_path = AssetPath::from_static("my/path/to/an/asset.ext"); +``` + +To be clear, this is only required if you wish to maintain the performance benefit that came with the specialisation. Existing code is _not_ broken by this change. diff --git a/release-content/0.15/migration-guides/12637_check_sampler_type_in_as_bind_group_derives.md b/release-content/0.15/migration-guides/12637_check_sampler_type_in_as_bind_group_derives.md new file mode 100644 index 0000000000..cf873b4c07 --- /dev/null +++ b/release-content/0.15/migration-guides/12637_check_sampler_type_in_as_bind_group_derives.md @@ -0,0 +1 @@ + diff --git a/release-content/0.15/migration-guides/13045_Support_on_thread_spawn_and_on_thread_destroy_for_TaskPool.md b/release-content/0.15/migration-guides/13045_Support_on_thread_spawn_and_on_thread_destroy_for_TaskPool.md new file mode 100644 index 0000000000..786f0fba59 --- /dev/null +++ b/release-content/0.15/migration-guides/13045_Support_on_thread_spawn_and_on_thread_destroy_for_TaskPool.md @@ -0,0 +1 @@ +- `TaskPooolThreadAssignmentPolicy` now has two additional fields: `on_thread_spawn` and `on_thread_destroy`. Please consider defaulting them to `None`. diff --git a/release-content/0.15/migration-guides/7207_reflect_implement_the_unique_reflect_rfc.md b/release-content/0.15/migration-guides/7207_reflect_implement_the_unique_reflect_rfc.md new file mode 100644 index 0000000000..4e72028cba --- /dev/null +++ b/release-content/0.15/migration-guides/7207_reflect_implement_the_unique_reflect_rfc.md @@ -0,0 +1,2 @@ +- Most instances of `dyn Reflect` should be changed to `dyn PartialReflect` which is less restrictive, however trait bounds should generally stay as `T: Reflect`. +- The new `PartialReflect::{as_partial_reflect, as_partial_reflect_mut, into_partial_reflect, try_as_reflect, try_as_reflect_mut, try_into_reflect}` methods as well as `Reflect::{as_reflect, as_reflect_mut, into_reflect}` will need to be implemented for manual implementors of `Reflect`. diff --git a/release-content/0.15/migration-guides/8997_Optional_UI_rendering.md b/release-content/0.15/migration-guides/8997_Optional_UI_rendering.md new file mode 100644 index 0000000000..741baf0556 --- /dev/null +++ b/release-content/0.15/migration-guides/8997_Optional_UI_rendering.md @@ -0,0 +1 @@ +`UiPlugin` has a new field `enable_rendering`. If set to false, the UI’s rendering systems won’t be added to the `RenderApp` and no UI elements will be drawn. The layout and interaction components will still be updated as normal. diff --git a/release-content/0.15/migration-guides/9889_Simplified_ui_stack_system.md b/release-content/0.15/migration-guides/9889_Simplified_ui_stack_system.md new file mode 100644 index 0000000000..2e060b552a --- /dev/null +++ b/release-content/0.15/migration-guides/9889_Simplified_ui_stack_system.md @@ -0,0 +1 @@ +The `ZIndex` enum has been split into two separate components `ZIndex` (which replaces `ZIndex::Local`) and `GlobalZIndex` (which replaces `ZIndex::Global`). An entity can have both a `ZIndex` and `GlobalZIndex`, in comparisons `ZIndex` breaks ties if two `GlobalZindex` values are equal. diff --git a/release-content/0.15/migration-guides/_guides.toml b/release-content/0.15/migration-guides/_guides.toml index 1b78ca25f8..e6519af430 100644 --- a/release-content/0.15/migration-guides/_guides.toml +++ b/release-content/0.15/migration-guides/_guides.toml @@ -100,6 +100,12 @@ prs = [15546] areas = ["Assets"] file_name = "15546_Cleanup_unneeded_lifetimes_in_bevy_asset.md" +[[guides]] +title = "Generalized `Into` and `Into` Implementations over Lifetime" +prs = [10823] +areas = ["Assets"] +file_name = "10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md" + [[guides]] title = "Remove incorrect equality comparisons for asset load error types" prs = [15890] @@ -694,6 +700,12 @@ prs = [15240] areas = ["Reflection"] file_name = "15240_bevy_reflect_Replace_value_terminology_with_opaque.md" +[[guides]] +title = "reflect: implement the unique reflect rfc" +prs = [7207] +areas = ["Reflection"] +file_name = "7207_reflect_implement_the_unique_reflect_rfc.md" + [[guides]] title = "Use `FromReflect` when extracting entities in dynamic scenes" prs = [15174] @@ -928,6 +940,12 @@ prs = [14193, 14623, 15023, 15084, 15643, 15846, 15886, 15955, 16049, 16111] areas = ["Rendering"] file_name = "virtual_geometry.md" +[[guides]] +title = "check sampler type in as_bind_group derives" +prs = [12637] +areas = ["Rendering"] +file_name = "12637_check_sampler_type_in_as_bind_group_derives.md" + [[guides]] title = "cleanup bevy_render/lib.rs" prs = [16481] @@ -940,6 +958,12 @@ prs = [13620] areas = ["Rendering", "UI"] file_name = "13620_Fix_UI_texture_atlas_with_offset.md" +[[guides]] +title = "Optional UI rendering" +prs = [8997] +areas = ["Rendering", "UI"] +file_name = "8997_Optional_UI_rendering.md" + [[guides]] title = "use precomputed border values" prs = [15163] @@ -988,6 +1012,12 @@ prs = [15210] areas = ["Scenes"] file_name = "15210_explicitly_mention_component_in_methods_on_DynamicSceneBuilder.md" +[[guides]] +title = "Support `on_thread_spawn` and `on_thread_destroy` for `TaskPoolPlugin`" +prs = [13045] +areas = ["Tasks"] +file_name = "13045_Support_on_thread_spawn_and_on_thread_destroy_for_TaskPool.md" + [[guides]] title = "Text Rework cleanup" prs = [15887] @@ -1012,6 +1042,12 @@ prs = [15368] areas = ["Text", "UI"] file_name = "15368_Add_the_ability_to_control_font_smoothing.md" +[[guides]] +title = "Cosmic text" +prs = [10193] +areas = ["Text", "UI"] +file_name = "10193_Cosmic_text.md" + [[guides]] title = "aligning public apis of Time,Timer and Stopwatch" prs = [15962] @@ -1090,6 +1126,12 @@ prs = [15740] areas = ["UI"] file_name = "15740_Replace_HandleM_UiMaterial_component_with__UiMaterialHandl.md" +[[guides]] +title = "Simplified `ui_stack_system`" +prs = [9889] +areas = ["UI"] +file_name = "9889_Simplified_ui_stack_system.md" + [[guides]] title = "UiImage -> ImageNode, UiImageSize -> ImageNodeSize" prs = [16271] From 15c431b0038e1e1bf73ccb9fcdc4d165d4603e0a Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 25 Nov 2024 22:42:15 -0500 Subject: [PATCH 3/8] Resolve typo --- release-content/0.15/migration-guides/10193_Cosmic_text.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-content/0.15/migration-guides/10193_Cosmic_text.md b/release-content/0.15/migration-guides/10193_Cosmic_text.md index bb1a1b38bb..c38c1f1299 100644 --- a/release-content/0.15/migration-guides/10193_Cosmic_text.md +++ b/release-content/0.15/migration-guides/10193_Cosmic_text.md @@ -1,4 +1,4 @@ -- `Text2dBounds` has been replaced with `TextBounds`, and it now accepts `Option`s to the bounds, instead of using `f32::INFINITY` to inidicate lack of bounds +- `Text2dBounds` has been replaced with `TextBounds`, and it now accepts `Option`s to the bounds, instead of using `f32::INFINITY` to indicate lack of bounds - Textsizes should be changed, dividing the current size with 1.2 will result in the same size as before. - `TextSettings` struct is removed - Feature `subpixel_alignment` has been removed since cosmic-text already does this automatically From a61c36a5af81d79777794f60243f52afa29062f0 Mon Sep 17 00:00:00 2001 From: Alice I Cecile Date: Mon, 25 Nov 2024 22:50:29 -0500 Subject: [PATCH 4/8] Try removing PR since date --- generate-release/src/helpers.rs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/generate-release/src/helpers.rs b/generate-release/src/helpers.rs index 53ac295201..35401a6846 100644 --- a/generate-release/src/helpers.rs +++ b/generate-release/src/helpers.rs @@ -19,21 +19,16 @@ pub fn get_merged_prs( .context("Failed to get commits")?; println!("Found {} commits", commits.len()); - println!("Getting list of all merged PRs from {from} to {to} with label {label:?}"); + println!("Getting list of all merged PRs with label {label:?}"); let base_commit = client.get_commit(from, BevyRepo::Bevy)?; let base_commit_date = &base_commit.commit.committer.date[0..10]; // We also get the list of merged PRs in batches instead of getting them separately for each commit - let prs = client.get_issues_and_prs( - BevyRepo::Bevy, - IssueState::Merged, - Some(base_commit_date), - label, - )?; + // We can't set a `since` date, as the PRs requested are filtered by date opened, not date merged + let prs = client.get_issues_and_prs(BevyRepo::Bevy, IssueState::Merged, None, label)?; println!( - "Found {} merged PRs and {} commits since {} (the base commit date)", - prs.len(), + "Found {} commits since {} (the base commit date)", commits.len(), base_commit_date ); From 23bfcf2ec1e9ed4f44b4557e8d4163aab211857c Mon Sep 17 00:00:00 2001 From: Alice I Cecile Date: Mon, 25 Nov 2024 22:56:01 -0500 Subject: [PATCH 5/8] Add even older migration guides --- .../0.15/migration-guides/13186_Wgpu_020.md | 6 + ...nd_nonhdr_cameras_to_same_render_target.md | 2 + ...node_children_Handle_instead_of_objects.md | 30 ++++ ..._DynamicTextureAtlasBuilder_from_assets.md | 2 + .../13727_Add_mappings_to_EntityMapper.md | 9 ++ ...error_handling_for_AssetServeradd_async.md | 1 + ..._convert_color_to_u8_array_implemented_.md | 1 + ...Add_Display_implementation_to_DebugName.md | 1 + ...84_Rename_and_Extend_Run_Conditions_API.md | 2 + ...efined_type_for_sides_in_RegularPolygon.md | 1 + ...schain_ignore_deferreds_return_type_fix.md | 1 + ...olutionsubdivision_fields_in_bevy_gizmo.md | 1 + ...olutionsubdivision_in_primitive_meshing.md | 1 + ..._entity_to_return_an_Iterator_instead_o.md | 1 + ...1_Handle_CtrlC_in_the_terminal_properly.md | 1 + ...or_for_BackgroundColor_and_BorderColor_.md | 3 + ...h_to_default_Standard_Materials_new_ani.md | 1 + ...dWorldChildren_and_BuildChildren_traits.md | 1 + ...2_Optimize_common_usages_of_AssetReader.md | 38 +++++ .../14091_Bump_accesskit_to_016.md | 1 + .../0.15/migration-guides/_guides.toml | 139 ++++++++++++++++++ 21 files changed, 243 insertions(+) create mode 100644 release-content/0.15/migration-guides/13186_Wgpu_020.md create mode 100644 release-content/0.15/migration-guides/13419_Allow_mix_of_hdr_and_nonhdr_cameras_to_same_render_target.md create mode 100644 release-content/0.15/migration-guides/13707_Make_gLTF_node_children_Handle_instead_of_objects.md create mode 100644 release-content/0.15/migration-guides/13717_Uncouple_DynamicTextureAtlasBuilder_from_assets.md create mode 100644 release-content/0.15/migration-guides/13727_Add_mappings_to_EntityMapper.md create mode 100644 release-content/0.15/migration-guides/13745_Improve_error_handling_for_AssetServeradd_async.md create mode 100644 release-content/0.15/migration-guides/13759_Adds_back_in_way_to_convert_color_to_u8_array_implemented_.md create mode 100644 release-content/0.15/migration-guides/13760_Add_Display_implementation_to_DebugName.md create mode 100644 release-content/0.15/migration-guides/13784_Rename_and_Extend_Run_Conditions_API.md create mode 100644 release-content/0.15/migration-guides/13837_Use_a_well_defined_type_for_sides_in_RegularPolygon.md create mode 100644 release-content/0.15/migration-guides/13919_IntoSystemConfigschain_ignore_deferreds_return_type_fix.md create mode 100644 release-content/0.15/migration-guides/13927_Use_u32_for_all_resolutionsubdivision_fields_in_bevy_gizmo.md create mode 100644 release-content/0.15/migration-guides/13930_Use_u32_for_resolutionsubdivision_in_primitive_meshing.md create mode 100644 release-content/0.15/migration-guides/13934_Change_Worldinspect_entity_to_return_an_Iterator_instead_o.md create mode 100644 release-content/0.15/migration-guides/14001_Handle_CtrlC_in_the_terminal_properly.md create mode 100644 release-content/0.15/migration-guides/14017_Make_default_behavior_for_BackgroundColor_and_BorderColor_.md create mode 100644 release-content/0.15/migration-guides/14048_Added_feature_switch_to_default_Standard_Materials_new_ani.md create mode 100644 release-content/0.15/migration-guides/14052_Merge_BuildWorldChildren_and_BuildChildren_traits.md create mode 100644 release-content/0.15/migration-guides/14082_Optimize_common_usages_of_AssetReader.md create mode 100644 release-content/0.15/migration-guides/14091_Bump_accesskit_to_016.md diff --git a/release-content/0.15/migration-guides/13186_Wgpu_020.md b/release-content/0.15/migration-guides/13186_Wgpu_020.md new file mode 100644 index 0000000000..035682af45 --- /dev/null +++ b/release-content/0.15/migration-guides/13186_Wgpu_020.md @@ -0,0 +1,6 @@ +- Updated to `wgpu` 0.20, `naga` 0.20, and `naga_oil` 0.14 +- All of Naga’s [`Capabilities`](https://docs.rs/naga/latest/naga/valid/struct.Capabilities.html) should now be properly detected and supported. +- Timestamps inside encoders are now disallowed on WebGPU to follow the spec (they still work on native). Use the `TIMESTAMP_QUERY_INSIDE_ENCODERS ` wgpu feature to check for support. +- You can now use many numeric built-ins in `const` contexts (eg. `abs`, `cos`, `floor`, `max`, etc, see https://github.com/gfx-rs/wgpu/blob/v0.20/CHANGELOG.md#wgsl-const-evaluation-for-many-more-built-ins for the whole list) +- You can now use Subgroup operations in shaders on supported hardware (see https://github.com/gfx-rs/wgpu/blob/v0.20/CHANGELOG.md#subgroup-operations for limitations and which features to check) +- `u64` and `i64` are now supported in shaders on supported hardware (requires the `SHADER_INT64 ` feature, supported on desktop Vulkan, DX12 with DXC, and Metal with MSL 2.3+) diff --git a/release-content/0.15/migration-guides/13419_Allow_mix_of_hdr_and_nonhdr_cameras_to_same_render_target.md b/release-content/0.15/migration-guides/13419_Allow_mix_of_hdr_and_nonhdr_cameras_to_same_render_target.md new file mode 100644 index 0000000000..791861cbfe --- /dev/null +++ b/release-content/0.15/migration-guides/13419_Allow_mix_of_hdr_and_nonhdr_cameras_to_same_render_target.md @@ -0,0 +1,2 @@ +- + - Change `CameraOutputMode` to use `ClearColorConfig` instead of `LoadOp`. diff --git a/release-content/0.15/migration-guides/13707_Make_gLTF_node_children_Handle_instead_of_objects.md b/release-content/0.15/migration-guides/13707_Make_gLTF_node_children_Handle_instead_of_objects.md new file mode 100644 index 0000000000..f0d34ad860 --- /dev/null +++ b/release-content/0.15/migration-guides/13707_Make_gLTF_node_children_Handle_instead_of_objects.md @@ -0,0 +1,30 @@ +If accessing children, use `Assets` resource to get the actual child object. + +__Before__ + +```rs +fn gltf_print_first_node_children_system(gltf_component_query: Query>, gltf_assets: Res>, gltf_nodes: Res>) { + for gltf_handle in gltf_component_query.iter() { + let gltf_root = gltf_assets.get(gltf_handle).unwrap(); + let first_node_handle = gltf_root.nodes.get(0).unwrap(); + let first_node = gltf_nodes.get(first_node_handle).unwrap(); + let first_child = first_node.children.get(0).unwrap(); + println!("First nodes child node name is {:?)", first_child.name); + } +} +``` + +__After__ + +```rs +fn gltf_print_first_node_children_system(gltf_component_query: Query>, gltf_assets: Res>, gltf_nodes: Res>) { + for gltf_handle in gltf_component_query.iter() { + let gltf_root = gltf_assets.get(gltf_handle).unwrap(); + let first_node_handle = gltf_root.nodes.get(0).unwrap(); + let first_node = gltf_nodes.get(first_node_handle).unwrap(); + let first_child_handle = first_node.children.get(0).unwrap(); + let first_child = gltf_nodes.get(first_child_handle).unwrap(); + println!("First nodes child node name is {:?)", first_child.name); + } +} +``` diff --git a/release-content/0.15/migration-guides/13717_Uncouple_DynamicTextureAtlasBuilder_from_assets.md b/release-content/0.15/migration-guides/13717_Uncouple_DynamicTextureAtlasBuilder_from_assets.md new file mode 100644 index 0000000000..57c0627fc1 --- /dev/null +++ b/release-content/0.15/migration-guides/13717_Uncouple_DynamicTextureAtlasBuilder_from_assets.md @@ -0,0 +1,2 @@ +- Replace the `glyph_id` and `subpixel_offset` of a few text atlas APIs by a single `place_glyph: PlacedGlyph` parameter trivially combining the two. +- `DynamicTextureAtlasBuilder::add_texture` now takes a `&mut Image`, rather than a `Handle`. To access this, fetch the underlying image using `Assets::get_mut`. diff --git a/release-content/0.15/migration-guides/13727_Add_mappings_to_EntityMapper.md b/release-content/0.15/migration-guides/13727_Add_mappings_to_EntityMapper.md new file mode 100644 index 0000000000..6b5d0385ef --- /dev/null +++ b/release-content/0.15/migration-guides/13727_Add_mappings_to_EntityMapper.md @@ -0,0 +1,9 @@ +- If you are implementing `EntityMapper` yourself, you can use the below as a stub implementation: + +```rust +fn mappings(&self) -> impl Iterator { + unimplemented!() +} +``` + +- If you were using `EntityMapper` as a trait object (`dyn EntityMapper`), instead use `dyn DynEntityMapper` and its associated methods. diff --git a/release-content/0.15/migration-guides/13745_Improve_error_handling_for_AssetServeradd_async.md b/release-content/0.15/migration-guides/13745_Improve_error_handling_for_AssetServeradd_async.md new file mode 100644 index 0000000000..cf873b4c07 --- /dev/null +++ b/release-content/0.15/migration-guides/13745_Improve_error_handling_for_AssetServeradd_async.md @@ -0,0 +1 @@ + diff --git a/release-content/0.15/migration-guides/13759_Adds_back_in_way_to_convert_color_to_u8_array_implemented_.md b/release-content/0.15/migration-guides/13759_Adds_back_in_way_to_convert_color_to_u8_array_implemented_.md new file mode 100644 index 0000000000..cf873b4c07 --- /dev/null +++ b/release-content/0.15/migration-guides/13759_Adds_back_in_way_to_convert_color_to_u8_array_implemented_.md @@ -0,0 +1 @@ + diff --git a/release-content/0.15/migration-guides/13760_Add_Display_implementation_to_DebugName.md b/release-content/0.15/migration-guides/13760_Add_Display_implementation_to_DebugName.md new file mode 100644 index 0000000000..901386c2db --- /dev/null +++ b/release-content/0.15/migration-guides/13760_Add_Display_implementation_to_DebugName.md @@ -0,0 +1 @@ +- In code which uses DebugName you should now use the Display implementation rather than the Debug implementation (ie {} instead of {:?} if you were printing it out). diff --git a/release-content/0.15/migration-guides/13784_Rename_and_Extend_Run_Conditions_API.md b/release-content/0.15/migration-guides/13784_Rename_and_Extend_Run_Conditions_API.md new file mode 100644 index 0000000000..5188017476 --- /dev/null +++ b/release-content/0.15/migration-guides/13784_Rename_and_Extend_Run_Conditions_API.md @@ -0,0 +1,2 @@ +- The `and_then` run condition method has been replaced with the `and` run condition method. +- The `or_else` run condition method has been replaced with the `or` run condition method. diff --git a/release-content/0.15/migration-guides/13837_Use_a_well_defined_type_for_sides_in_RegularPolygon.md b/release-content/0.15/migration-guides/13837_Use_a_well_defined_type_for_sides_in_RegularPolygon.md new file mode 100644 index 0000000000..276c9bbbdd --- /dev/null +++ b/release-content/0.15/migration-guides/13837_Use_a_well_defined_type_for_sides_in_RegularPolygon.md @@ -0,0 +1 @@ +- `RegularPolygon` now uses `u32` instead of `usize` for the number of sides diff --git a/release-content/0.15/migration-guides/13919_IntoSystemConfigschain_ignore_deferreds_return_type_fix.md b/release-content/0.15/migration-guides/13919_IntoSystemConfigschain_ignore_deferreds_return_type_fix.md new file mode 100644 index 0000000000..cf873b4c07 --- /dev/null +++ b/release-content/0.15/migration-guides/13919_IntoSystemConfigschain_ignore_deferreds_return_type_fix.md @@ -0,0 +1 @@ + diff --git a/release-content/0.15/migration-guides/13927_Use_u32_for_all_resolutionsubdivision_fields_in_bevy_gizmo.md b/release-content/0.15/migration-guides/13927_Use_u32_for_all_resolutionsubdivision_fields_in_bevy_gizmo.md new file mode 100644 index 0000000000..aafd95a714 --- /dev/null +++ b/release-content/0.15/migration-guides/13927_Use_u32_for_all_resolutionsubdivision_fields_in_bevy_gizmo.md @@ -0,0 +1 @@ +- All gizmos now take `u32` instead of `usize` for their resolution/subdivision/segment counts diff --git a/release-content/0.15/migration-guides/13930_Use_u32_for_resolutionsubdivision_in_primitive_meshing.md b/release-content/0.15/migration-guides/13930_Use_u32_for_resolutionsubdivision_in_primitive_meshing.md new file mode 100644 index 0000000000..3d9bf0a065 --- /dev/null +++ b/release-content/0.15/migration-guides/13930_Use_u32_for_resolutionsubdivision_in_primitive_meshing.md @@ -0,0 +1 @@ +- All primitive mesh builders now take `u32` instead of `usize` for their resolution/subdivision/segment counts diff --git a/release-content/0.15/migration-guides/13934_Change_Worldinspect_entity_to_return_an_Iterator_instead_o.md b/release-content/0.15/migration-guides/13934_Change_Worldinspect_entity_to_return_an_Iterator_instead_o.md new file mode 100644 index 0000000000..ebf8389124 --- /dev/null +++ b/release-content/0.15/migration-guides/13934_Change_Worldinspect_entity_to_return_an_Iterator_instead_o.md @@ -0,0 +1 @@ +- `World::inspect_entity` now returns an `Iterator` instead of a `Vec`. If you need a `Vec`, immediately collect the iterator: `world.inspect_entity(entity).collect>()` diff --git a/release-content/0.15/migration-guides/14001_Handle_CtrlC_in_the_terminal_properly.md b/release-content/0.15/migration-guides/14001_Handle_CtrlC_in_the_terminal_properly.md new file mode 100644 index 0000000000..a03eabcfbd --- /dev/null +++ b/release-content/0.15/migration-guides/14001_Handle_CtrlC_in_the_terminal_properly.md @@ -0,0 +1 @@ +If you are overriding the `Ctrl+C` handler then you should call `TerminalCtrlCHandlerPlugin::gracefully_exit` from your handler. It will tell the app to exit. diff --git a/release-content/0.15/migration-guides/14017_Make_default_behavior_for_BackgroundColor_and_BorderColor_.md b/release-content/0.15/migration-guides/14017_Make_default_behavior_for_BackgroundColor_and_BorderColor_.md new file mode 100644 index 0000000000..57472b3970 --- /dev/null +++ b/release-content/0.15/migration-guides/14017_Make_default_behavior_for_BackgroundColor_and_BorderColor_.md @@ -0,0 +1,3 @@ +- `BackgroundColor` no longer tints the color of images in `ImageBundle` or `ButtonBundle`. Set `UiImage::color` to tint images instead. +- The default texture for `UiImage` is now a transparent white square. Use `UiImage::solid_color` to quickly draw debug images. +- The default value for `BackgroundColor` and `BorderColor` is now transparent. Set the color to white manually to return to previous behavior. diff --git a/release-content/0.15/migration-guides/14048_Added_feature_switch_to_default_Standard_Materials_new_ani.md b/release-content/0.15/migration-guides/14048_Added_feature_switch_to_default_Standard_Materials_new_ani.md new file mode 100644 index 0000000000..b66386ad68 --- /dev/null +++ b/release-content/0.15/migration-guides/14048_Added_feature_switch_to_default_Standard_Materials_new_ani.md @@ -0,0 +1 @@ +- Add feature pbr_anisotropy_texture if you are using that texture in any standard materials. diff --git a/release-content/0.15/migration-guides/14052_Merge_BuildWorldChildren_and_BuildChildren_traits.md b/release-content/0.15/migration-guides/14052_Merge_BuildWorldChildren_and_BuildChildren_traits.md new file mode 100644 index 0000000000..7990a28d43 --- /dev/null +++ b/release-content/0.15/migration-guides/14052_Merge_BuildWorldChildren_and_BuildChildren_traits.md @@ -0,0 +1 @@ +n/a diff --git a/release-content/0.15/migration-guides/14082_Optimize_common_usages_of_AssetReader.md b/release-content/0.15/migration-guides/14082_Optimize_common_usages_of_AssetReader.md new file mode 100644 index 0000000000..49d6a6131a --- /dev/null +++ b/release-content/0.15/migration-guides/14082_Optimize_common_usages_of_AssetReader.md @@ -0,0 +1,38 @@ +The trait method `bevy_asset::io::AssetReader::read` (and `read_meta`) now return an opaque type instead of a boxed trait object. Implementors of these methods should change the type signatures appropriately + +```rust +impl AssetReader for MyReader { + // Before + async fn read<'a>(&'a self, path: &'a Path) -> Result>, AssetReaderError> { + let reader = // construct a reader + Box::new(reader) as Box> + } + + // After + async fn read<'a>(&'a self, path: &'a Path) -> Result { + // create a reader + } +} +``` + +`bevy::asset::io::Reader` is now a trait, rather than a type alias for a trait object. Implementors of `AssetLoader::load` will need to adjust the method signature accordingly + +```rust +impl AssetLoader for MyLoader { + async fn load<'a>( + &'a self, + // Before: + reader: &'a mut bevy::asset::io::Reader, + // After: + reader: &'a mut dyn bevy::asset::io::Reader, + _: &'a Self::Settings, + load_context: &'a mut LoadContext<'_>, + ) -> Result { +} +``` + +Additionally, implementors of `AssetReader` that return a type implementing `futures_io::AsyncRead` and `AsyncSeek` might need to explicitly implement `bevy::asset::io::Reader` for that type. + +```rust +impl bevy::asset::io::Reader for MyAsyncReadAndSeek {} +``` diff --git a/release-content/0.15/migration-guides/14091_Bump_accesskit_to_016.md b/release-content/0.15/migration-guides/14091_Bump_accesskit_to_016.md new file mode 100644 index 0000000000..be6998aaa7 --- /dev/null +++ b/release-content/0.15/migration-guides/14091_Bump_accesskit_to_016.md @@ -0,0 +1 @@ +`accesskit`’s `Role::StaticText` variant has been renamed to `Role::Label`. diff --git a/release-content/0.15/migration-guides/_guides.toml b/release-content/0.15/migration-guides/_guides.toml index e6519af430..9db41b419d 100644 --- a/release-content/0.15/migration-guides/_guides.toml +++ b/release-content/0.15/migration-guides/_guides.toml @@ -1,3 +1,9 @@ +[[guides]] +title = "Bump `accesskit` to 0.16" +prs = [14091] +areas = ["Accessibility", "UI"] +file_name = "14091_Bump_accesskit_to_016.md" + [[guides]] title = "Deprecate `is_playing_animation`" prs = [14387] @@ -88,6 +94,12 @@ prs = [14285] areas = ["App"] file_name = "14285_Remove_second_generic_from_add_before_add_after.md" +[[guides]] +title = "Handle `Ctrl+C` in the terminal properly" +prs = [14001] +areas = ["App", "Windowing"] +file_name = "14001_Handle_CtrlC_in_the_terminal_properly.md" + [[guides]] title = "AssetServer LoadState API consistency" prs = [15237] @@ -106,6 +118,18 @@ prs = [10823] areas = ["Assets"] file_name = "10823_Generalized_IntoAssetSourceId_and_IntoAssetPath_Implementa.md" +[[guides]] +title = "Improve error handling for `AssetServer::add_async`" +prs = [13745] +areas = ["Assets"] +file_name = "13745_Improve_error_handling_for_AssetServeradd_async.md" + +[[guides]] +title = "Optimize common usages of `AssetReader`" +prs = [14082] +areas = ["Assets"] +file_name = "14082_Optimize_common_usages_of_AssetReader.md" + [[guides]] title = "Remove incorrect equality comparisons for asset load error types" prs = [15890] @@ -124,6 +148,12 @@ prs = [15509] areas = ["Assets"] file_name = "15509_bevy_asset_Improve_NestedLoader_API.md" +[[guides]] +title = "Make gLTF node children Handle instead of objects" +prs = [13707] +areas = ["Assets", "Rendering"] +file_name = "13707_Make_gLTF_node_children_Handle_instead_of_objects.md" + [[guides]] title = "Split `TextureAtlasSources` out of `TextureAtlasLayout` and make `TextureAtlasLayout` serializable" prs = [15344] @@ -154,6 +184,12 @@ prs = [16037] areas = ["Build-System", "Cross-Cutting"] file_name = "16037_Use_enus_locale_for_typos.md" +[[guides]] +title = "Adds back in way to convert color to u8 array, implemented for the two RGB color types, also renames Color::linear to Color::to_linear." +prs = [13759] +areas = ["Color"] +file_name = "13759_Adds_back_in_way_to_convert_color_to_u8_array_implemented_.md" + [[guides]] title = "Update Grid Gizmo to use Color" prs = [14886] @@ -214,6 +250,12 @@ prs = [14352] areas = ["ECS"] file_name = "14352_Add_FilteredAccessempty_and_simplify_the_implementation_of_.md" +[[guides]] +title = "Add `mappings` to `EntityMapper`" +prs = [13727] +areas = ["ECS"] +file_name = "13727_Add_mappings_to_EntityMapper.md" + [[guides]] title = "Add query reborrowing" prs = [14690] @@ -226,6 +268,12 @@ prs = [15614] areas = ["ECS"] file_name = "15614_Allow_Worldentity_family_of_functions_to_take_multiple_ent.md" +[[guides]] +title = "Change World::inspect_entity to return an Iterator instead of Vec" +prs = [13934] +areas = ["ECS"] +file_name = "13934_Change_Worldinspect_entity_to_return_an_Iterator_instead_o.md" + [[guides]] title = "Created an EventMutator for when you want to mutate an event before reading" prs = [13818] @@ -286,6 +334,12 @@ prs = [14631] areas = ["ECS"] file_name = "14631_Make_QueryStatetransmuteco_validate_the_world_of_the_Compo.md" +[[guides]] +title = "Re-name and Extend Run Conditions API" +prs = [13784] +areas = ["ECS"] +file_name = "13784_Rename_and_Extend_Run_Conditions_API.md" + [[guides]] title = "Remove redundant information and optimize dynamic allocations in `Table`" prs = [12929] @@ -376,6 +430,18 @@ prs = [14354] areas = ["ECS"] file_name = "14354_Update_trigger_observers_to_operate_over_slices_of_data.md" +[[guides]] +title = "Use the fully qualified name for `Component` in the `require` attribute" +prs = [16378] +areas = ["ECS"] +file_name = "16378_Use_the_fully_qualified_name_for_Component_in_the_require_.md" + +[[guides]] +title = "`IntoSystemConfigs::chain_ignore_deferred`'s return type fix" +prs = [13919] +areas = ["ECS"] +file_name = "13919_IntoSystemConfigschain_ignore_deferreds_return_type_fix.md" + [[guides]] title = "bevy_ecs: Special-case `Entity::PLACEHOLDER` formatting" prs = [15839] @@ -388,6 +454,12 @@ prs = [15263] areas = ["ECS"] file_name = "15263_change_return_type_of_Worldresource_ref_to_Ref.md" +[[guides]] +title = "Merge `BuildWorldChildren` and `BuildChildren` traits." +prs = [14052] +areas = ["ECS", "Hierarchy"] +file_name = "14052_Merge_BuildWorldChildren_and_BuildChildren_traits.md" + [[guides]] title = "Minimal Bubbling Observers" prs = [13991] @@ -526,6 +598,12 @@ prs = [14676] areas = ["Gizmos"] file_name = "14676_Use_Isometry_in_bevy_gizmos_wherever_we_can.md" +[[guides]] +title = "Use u32 for all resolution/subdivision fields in bevy_gizmos" +prs = [13927] +areas = ["Gizmos"] +file_name = "13927_Use_u32_for_all_resolutionsubdivision_fields_in_bevy_gizmo.md" + [[guides]] title = "Switch rotation & translation in grid gizmos" prs = [14656] @@ -616,18 +694,36 @@ prs = [15735] areas = ["Math"] file_name = "15735_Use_Dir2Dir3_instead_of_Vec2Vec3_for_Ray2dnewRay3dnew.md" +[[guides]] +title = "Use a well defined type for sides in RegularPolygon" +prs = [13837] +areas = ["Math"] +file_name = "13837_Use_a_well_defined_type_for_sides_in_RegularPolygon.md" + [[guides]] title = "bevy_reflect: Update `EulerRot` to match `glam` 0.29" prs = [15402] areas = ["Math", "Reflection"] file_name = "15402_bevy_reflect_Update_EulerRot_to_match_glam_029.md" +[[guides]] +title = "Use u32 for resolution/subdivision in primitive meshing" +prs = [13930] +areas = ["Math", "Rendering"] +file_name = "13930_Use_u32_for_resolutionsubdivision_in_primitive_meshing.md" + [[guides]] title = "Add flags to `SpritePlugin` and `UiPlugin` to allow disabling their picking backend (without needing to disable features)." prs = [16473] areas = ["Picking"] file_name = "16473_Add_flags_to_SpritePlugin_and_UiPlugin_to_allow_disabling_.md" +[[guides]] +title = "Fix `bevy_picking` plugin suffixes" +prs = [16082] +areas = ["Picking"] +file_name = "16082_Fix_bevy_picking_plugin_suffixes.md" + [[guides]] title = "rename Drop to bevy::picking::events::DragDrop to unclash std::ops:Drop" prs = [14926] @@ -748,6 +844,12 @@ prs = [14267] areas = ["Rendering"] file_name = "14267_Add_support_for_skybox_transformation.md" +[[guides]] +title = "Added feature switch to default Standard Material's new anisotropy texture to off" +prs = [14048] +areas = ["Rendering"] +file_name = "14048_Added_feature_switch_to_default_Standard_Materials_new_ani.md" + [[guides]] title = "Added visibility bitmask as an alternative SSAO method" prs = [13454] @@ -766,6 +868,12 @@ prs = [14663] areas = ["Rendering"] file_name = "14663_Adds_ShaderStorageBuffer_asset.md" +[[guides]] +title = "Allow mix of hdr and non-hdr cameras to same render target" +prs = [13419] +areas = ["Rendering"] +file_name = "13419_Allow_mix_of_hdr_and_nonhdr_cameras_to_same_render_target.md" + [[guides]] title = "Allow volumetric fog to be localized to specific, optionally voxelized, regions." prs = [14099] @@ -940,6 +1048,12 @@ prs = [14193, 14623, 15023, 15084, 15643, 15846, 15886, 15955, 16049, 16111] areas = ["Rendering"] file_name = "virtual_geometry.md" +[[guides]] +title = "Wgpu 0.20" +prs = [13186] +areas = ["Rendering"] +file_name = "13186_Wgpu_020.md" + [[guides]] title = "check sampler type in as_bind_group derives" prs = [12637] @@ -958,6 +1072,12 @@ prs = [13620] areas = ["Rendering", "UI"] file_name = "13620_Fix_UI_texture_atlas_with_offset.md" +[[guides]] +title = "Make default behavior for `BackgroundColor` and `BorderColor` more intuitive" +prs = [14017] +areas = ["Rendering", "UI"] +file_name = "14017_Make_default_behavior_for_BackgroundColor_and_BorderColor_.md" + [[guides]] title = "Optional UI rendering" prs = [8997] @@ -1030,6 +1150,12 @@ prs = [15591, 15887] areas = ["Text"] file_name = "15591_Text_rework.md" +[[guides]] +title = "Uncouple `DynamicTextureAtlasBuilder` from assets" +prs = [13717] +areas = ["Text"] +file_name = "13717_Uncouple_DynamicTextureAtlasBuilder_from_assets.md" + [[guides]] title = "split up `TextStyle`" prs = [15857] @@ -1192,8 +1318,21 @@ prs = [15585] areas = ["Windowing"] file_name = "15585_move_ANDROID_APP_to_bevy_window.md" +[[guides]] +title = "Add Display implementation to DebugName." +prs = [13760] +areas = [] +file_name = "13760_Add_Display_implementation_to_DebugName.md" + +[[guides]] +title = "Fix asset_settings example regression" +prs = [15945] +areas = [] +file_name = "15945_Fix_asset_settings_example_regression.md" + [[guides]] title = "Remove `accesskit` re-export from `bevy_a11y`" prs = [16257] areas = [] file_name = "16257_Remove_accesskit_reexport_from_bevy_a11y.md" + From 7bd88b4d45c7b80b8b00e887a200178ea198b9ed Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 25 Nov 2024 23:03:27 -0500 Subject: [PATCH 6/8] Remove unneeded guide that snuck in --- release-content/0.15/migration-guides/_guides.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/release-content/0.15/migration-guides/_guides.toml b/release-content/0.15/migration-guides/_guides.toml index 9db41b419d..f63a7da961 100644 --- a/release-content/0.15/migration-guides/_guides.toml +++ b/release-content/0.15/migration-guides/_guides.toml @@ -718,12 +718,6 @@ prs = [16473] areas = ["Picking"] file_name = "16473_Add_flags_to_SpritePlugin_and_UiPlugin_to_allow_disabling_.md" -[[guides]] -title = "Fix `bevy_picking` plugin suffixes" -prs = [16082] -areas = ["Picking"] -file_name = "16082_Fix_bevy_picking_plugin_suffixes.md" - [[guides]] title = "rename Drop to bevy::picking::events::DragDrop to unclash std::ops:Drop" prs = [14926] From 8931f8d8244165708a9ecbc6278f9ceabca18881 Mon Sep 17 00:00:00 2001 From: Alice Cecile Date: Mon, 25 Nov 2024 23:05:25 -0500 Subject: [PATCH 7/8] Remove second sneaky bad migration guide --- release-content/0.15/migration-guides/_guides.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/release-content/0.15/migration-guides/_guides.toml b/release-content/0.15/migration-guides/_guides.toml index f63a7da961..99470dfa64 100644 --- a/release-content/0.15/migration-guides/_guides.toml +++ b/release-content/0.15/migration-guides/_guides.toml @@ -430,12 +430,6 @@ prs = [14354] areas = ["ECS"] file_name = "14354_Update_trigger_observers_to_operate_over_slices_of_data.md" -[[guides]] -title = "Use the fully qualified name for `Component` in the `require` attribute" -prs = [16378] -areas = ["ECS"] -file_name = "16378_Use_the_fully_qualified_name_for_Component_in_the_require_.md" - [[guides]] title = "`IntoSystemConfigs::chain_ignore_deferred`'s return type fix" prs = [13919] From 811a4746964505b6ef6411ee0f302d14a819f8a0 Mon Sep 17 00:00:00 2001 From: Alice I Cecile Date: Tue, 26 Nov 2024 08:54:43 -0500 Subject: [PATCH 8/8] Another sneaky one :( --- release-content/0.15/migration-guides/_guides.toml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/release-content/0.15/migration-guides/_guides.toml b/release-content/0.15/migration-guides/_guides.toml index 9db41b419d..c03b9721ca 100644 --- a/release-content/0.15/migration-guides/_guides.toml +++ b/release-content/0.15/migration-guides/_guides.toml @@ -1324,15 +1324,8 @@ prs = [13760] areas = [] file_name = "13760_Add_Display_implementation_to_DebugName.md" -[[guides]] -title = "Fix asset_settings example regression" -prs = [15945] -areas = [] -file_name = "15945_Fix_asset_settings_example_regression.md" - [[guides]] title = "Remove `accesskit` re-export from `bevy_a11y`" prs = [16257] areas = [] file_name = "16257_Remove_accesskit_reexport_from_bevy_a11y.md" -