mirror of
https://github.com/bevyengine/bevy
synced 2024-11-10 07:04:33 +00:00
b113809fcd
* Bump changelog version * Simplify instruction to compare git tags
14 KiB
14 KiB
Changelog
While we try to keep the Unreleased
changes updated, it is often behind and does not include
all merged pull requests. To see a list of all changes since the latest release, you may compare
current changes on git with previous release tags.
Unreleased
Added
Changed
Fixed
Version 0.3.0 (2020-11-03)
Added
- Touch Input
- iOS XCode Project
- Android Example and use bevy-glsl-to-spirv 0.2.0
- Introduce Mouse capture API
bevy_input::touch
: implement touch input- D-pad support on MacOS
- Support for Android file system
- app: PluginGroups and DefaultPlugins
PluginGroup
is a collection of plugins where each plugin can be enabled or disabled.
- Support to get gamepad button/trigger values using
Axis<GamepadButton>
- Expose Winit decorations
- Enable changing window settings at runtime
- Expose a pointer of EventLoopProxy to process custom messages
- Add a way to specify padding/ margins between sprites in a TextureAtlas
- Add
bevy_ecs::Commands::remove
for bundles - impl
Default
forTextureFormat
- Expose current_entity in ChildBuilder
AppBuilder::add_thread_local_resource
Commands::write_world_boxed
takes a pre-boxed world writer to the ECS's command queueFrameTimeDiagnosticsPlugin
now shows "frame count" in addition to "frame time" and "fps"- Add hierarchy example
WgpuPowerOptions
for choosing between low power, high performance, and adaptive power- Derive
Debug
for more types: #597, #632 - Index buffer specialization
- More instructions for system dependencies
- Suggest
-Zrun-dsymutil-no
for faster compilation on MacOS
Changed
- ecs: ergonomic query.iter(), remove locks, add QuerySets
query.iter()
is now a real iterator!QuerySet
allows working with conflicting queries and is checked at compile-time.
- Rename
query.entity()
andquery.get()
query.get::<Component>(entity)
is nowquery.get_component::<Component>(entity)
query.entity(entity)
is nowquery.get(entity)
- Asset system rework and GLTF scene loading
- Introduces WASM implementation of
AssetIo
- Move transform data out of Mat4
- Separate gamepad state code from gamepad event code and other customizations
- gamepad: expose raw and filtered gamepad events
- Do not depend on
spirv-reflect
onwasm32
target - Move dynamic plugin loading to its own optional crate
- Add field to
WindowDescriptor
on wasm32 targets to optionally provide an existing canvas element as winit window - Adjust how
ArchetypeAccess
tracks mutable & immutable deps - Use
FnOnce
inCommands
andChildBuilder
where possible - Runners explicitly call
App.initialize()
- sRGB awareness for
Color
- Color is now assumed to be provided in the non-linear sRGB colorspace.
Constructors such as
Color::rgb
andColor::rgba
will be converted to linear sRGB. - New methods
Color::rgb_linear
andColor::rgba_linear
will accept colors already in linear sRGB (the old behavior) - Individual color-components must now be accessed through setters and getters.
- Color is now assumed to be provided in the non-linear sRGB colorspace.
Constructors such as
Mesh
overhaul with custom vertex attributes- Any vertex attribute can now be added over
mesh.attributes.insert()
. - See
example/shader/mesh_custom_attribute.rs
- Removed
VertexAttribute
,Vertex
,AsVertexBufferDescriptor
. - For missing attributes (requested by shader, but not defined by mesh), Bevy will provide a zero-filled fallback buffer.
- Any vertex attribute can now be added over
- Despawning an entity multiple times causes a debug-level log message to be emitted instead of a panic: #649, #651
- Migrated to Rodio 0.12
- New method of playing audio can be found in the examples.
- Added support for inserting custom initial values for
Local<T>
system resources #745
Fixed
- Properly update bind group ids when setting dynamic bindings
- Properly exit the app on AppExit event
- Fix FloatOrd hash being different for different NaN values
- Fix Added behavior for QueryOne get
- Update camera_system to fix issue with late camera addition
- Register
IndexFormat
as a property - Fix breakout example bug
- Fix PreviousParent lag by merging parent update systems
- Fix bug of connection event of gamepad at startup
- Fix wavy text
Version 0.2.1 (2020-9-20)
Fixed
Version 0.2.0 (2020-9-19)
Added
- Task System for Bevy
- Replaces rayon with a custom designed task system that consists of several "TaskPools".
- Exports
IOTaskPool
,ComputePool
, andAsyncComputePool
inbevy_tasks
crate.
- Parallel queries for distributing work over with the
ParallelIterator
trait.- e.g.
query.iter().par_iter(batch_size).for_each(/* ... */)
- e.g.
- Added gamepad support using Gilrs
- Implement WASM support for bevy_winit
- Create winit canvas under WebAssembly
- Implement single threaded task scheduler for WebAssembly
- Support for binary glTF (.glb).
- Support for
Or
in ECS queries. - Added methods
unload()
andunload_sync()
onSceneSpawner
for unloading scenes.. - Custom rodio source for audio.
AudioOuput
is now able to play anythingDecodable
.
Color::hex
for creatingColor
from string hex values.- Accepts the forms RGB, RGBA, RRGGBB, and RRGGBBAA.
Color::rgb_u8
andColor::rgba_u8
.- Added
bevy_render::pass::ClearColor
to prelude. SpriteResizeMode
may choose howSprite
resizing should be handled.Automatic
by default.- Added methods on
Input<T>
for iterator access to keys.get_pressed()
,get_just_pressed()
,get_just_released()
- Derived
Copy
forMouseScrollUnit
. - Derived
Clone
for UI component bundles. - Some examples of documentation
- Update docs for Updated, Changed and Mutated
- Tips for faster builds on macOS: #312, #314, #433
- Added and documented cargo features
- Added more instructions for Linux dependencies
- Arch / Manjaro, NixOS, Ubuntu and Solus
- Provide shell.nix for easier compiling with nix-shell
- Add
AppBuilder::add_startup_stage_|before/after
Changed
- Transform rewrite
- Use generational entity ids and other optimizations
- Optimize transform systems to only run on changes.
- Send an AssetEvent when modifying using
get_id_mut
- Rename
Assets::get_id_mut
->Assets::get_with_id_mut
- Support multiline text in
DrawableText
- iOS: use shaderc-rs for glsl to spirv compilation
- Changed the default node size to Auto instead of Undefined to match the Stretch implementation.
- Load assets from root path when loading directly
- Add
render
feature, which makes the entire render pipeline optional.
Fixed
- Properly track added and removed RenderResources in RenderResourcesNode.
- Fixes issues where entities vanished or changed color when new entities were spawned/despawned.
- Fixed sprite clipping at same depth
- Transparent sprites should no longer clip.
- Check asset path existence
- Fixed deadlock in hot asset reloading
- Fixed hot asset reloading on Windows
- Allow glTFs to be loaded that don't have uvs and normals
- Fixed archetypes_generation being incorrectly updated for systems
- Remove child from parent when it is despawned
- Initialize App.schedule systems when running the app
- Fix missing asset info path for synchronous loading
- fix font atlas overflow
- do not assume font handle is present in assets