bevy v0.4.0 Release Notes
Release Date: 2020-12-19 // over 3 years ago-
➕ Added
- add bevymark benchmark example
- 👍 gltf: support camera and fix hierarchy
- ⏱ Add tracing spans to schedules, stages, systems
- add example that represents contributors as bevy icons
- Add received character
- Add bevy_dylib to force dynamic linking of bevy
- Added RenderPass::set_scissor_rect
bevy_log
- Adds logging functionality as a Plugin.
- Changes internal logging to work with the new implementation.
- cross-platform main function
- Controllable ambient light color
- Added a resource to change the current ambient light color for PBR.
- Added more basic color constants
- Add box shape
- Expose an EventId for events
- System Inputs, Outputs, and Chaining
- Expose an
EventId
for events - Added
set_cursor_position
toWindow
- Added new Bevy reflection system
- Replaces the properties system
- 👍 Add support for Apple Silicon
- Live reloading of shaders
- Store mouse cursor position in Window
- Add removal_detection example
- Additional vertex attribute value types
- Added WindowFocused event
- Tracing chrome span names
- 🏁 Allow windows to be maximized
- 0️⃣ GLTF: load default material
- can spawn a scene from a ChildBuilder, or directly set its parent when spawning it
- add ability to load
.dds
,.tga
, and.jpeg
texture formats - add ability to provide custom a
AssetIo
implementation
🔄 Changed
- delegate layout reflection to RenderResourceContext
- 🚚 Fall back to remove components one by one when failing to remove a bundle
- Port hecs derive macro improvements
- Use glyph_brush_layout and add text alignment support
- ⬆️ upgrade glam and hexasphere
- Flexible ECS Params
- Make Timer.tick return &Self
- FileAssetIo includes full path on error
- 🚚 Removed ECS query APIs that could easily violate safety from the public interface
- Changed Query filter API to be easier to understand
- bevy_render: delegate buffer aligning to render_resource_context
- wasm32: non-spirv shader specialization
- Renamed XComponents to XBundle
- Check for conflicting system resource parameters
- Tweaks to TextureAtlasBuilder.finish()
- do not spend time drawing text with is_visible = false
- 👍 Extend the Texture asset type to support 3D data
- Breaking changes to timer API
- Created getters and setters rather than exposing struct members.
- 🚚 Removed timer auto-ticking system
- Added an example of how to tick timers manually.
- When a task scope produces <= 1 task to run, run it on the calling thread immediately
- Breaking changes to Time API
- Created getters to get
Time
state and made members private. - Modifying
Time
's values directly is no longer possible outside of bevy.
- Created getters to get
- 👍 Use
mailbox
instead offifo
for vsync on supported systems - switch winit size to logical to be dpi independent
- Change bevy_input::Touch API to match similar APIs
- ⚡️ Run parent-update and transform-propagation during the "post-startup" stage (instead of "startup")
- Renderer Optimization Round 1
- 🏗 Change
TextureAtlasBuilder
into expected Builder conventions - ⚡️ Optimize Text rendering / SharedBuffers
- hidpi swap chains
- ⚡️ optimize asset gpu data transfer
- naming coherence for cameras
- ⏱ Schedule v2
- Use shaderc for aarch64-apple-darwin
- ⚡️ update
Window
'swidth
&height
methods to returnf32
- Break out Visible component from Draw
- Users setting
Draw::is_visible
orDraw::is_transparent
should now setVisible::is_visible
andVisible::is_transparent
- Users setting
- ⬆️
winit
upgraded from version 0.23 to version 0.24 - 0️⃣ set is_transparent to true by default for UI bundles
🛠 Fixed
- ✏️ Fixed typos in KeyCode identifiers
- 🚚 Remove redundant texture copies in TextureCopyNode
- Fix a deadlock that can occur when using scope() on ComputeTaskPool from within a system
- Don't draw text that isn't visible
- Use
instant::Instant
for WASM compatibility - Fix pixel format conversion in bevy_gltf
- 🛠 Fixed duplicated children when spawning a Scene
- 💻 Corrected behaviour of the UI depth system
- Allow despawning of hierarchies in threadlocal systems
- Fix
RenderResources
index slicing - ⚡️ Run parent-update and transform-propagation during the "post-startup" stage
- Fix collision detection by comparing abs() penetration depth
- deal with rounding issue when creating the swap chain
- ⚡️ only update components for entities in map
- Don't panic when attempting to set shader defs from an asset that hasn't loaded yet