511 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			511 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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][git_tag_comparison].
 | |
| 
 | |
| [git_tag_comparison]: https://github.com/bevyengine/bevy/compare/v0.4.0...master
 | |
| 
 | |
| 
 | |
| ## Version 0.4.0 (2020-12-19)
 | |
| 
 | |
| ### Added
 | |
| - [add bevymark benchmark example][273]
 | |
| - [gltf: support camera and fix hierarchy][772] 
 | |
| - [Add tracing spans to schedules, stages, systems][789]
 | |
| - [add example that represents contributors as bevy icons][801]
 | |
| - [Add received character][805]
 | |
| - [Add bevy_dylib to force dynamic linking of bevy][808] 
 | |
| - [Added RenderPass::set_scissor_rect][815]
 | |
| - [`bevy_log`][836]
 | |
|   - Adds logging functionality as a Plugin.
 | |
|   - Changes internal logging to work with the new implementation.
 | |
| - [cross-platform main function][847]
 | |
| - [Controllable ambient light color][852]
 | |
|   - Added a resource to change the current ambient light color for PBR.
 | |
| - [Added more basic color constants][859]
 | |
| - [Add box shape][883]
 | |
| - [Expose an EventId for events][894]
 | |
| - [System Inputs, Outputs, and Chaining][876]
 | |
| - [Expose an `EventId` for events][894]
 | |
| - [Added `set_cursor_position` to `Window`][917]
 | |
| - [Added new Bevy reflection system][926]
 | |
|   - Replaces the properties system
 | |
| - [Add support for Apple Silicon][928]
 | |
| - [Live reloading of shaders][937]
 | |
| - [ Store mouse cursor position in Window][940]
 | |
| - [Add removal_detection example][945]
 | |
| - [Additional vertex attribute value types][946]
 | |
| - [Added WindowFocused event][956]
 | |
| - [Tracing chrome span names][979]
 | |
| - [Allow windows to be maximized][1004]
 | |
| - [GLTF: load default material][1016]
 | |
| - [can spawn a scene from a ChildBuilder, or directly set its parent when spawning it][1026]
 | |
| - [add ability to load `.dds`, `.tga`, and `.jpeg` texture formats][1038]
 | |
| - [add ability to provide custom a `AssetIo` implementation][1037]
 | |
| 
 | |
| ### Changed
 | |
| 
 | |
| - [delegate layout reflection to RenderResourceContext][691] 
 | |
| - [Fall back to remove components one by one when failing to remove a bundle][719]
 | |
| - [Port hecs derive macro improvements][761] 
 | |
| - [Use glyph_brush_layout and add text alignment support][765]
 | |
| - [upgrade glam and hexasphere][791]
 | |
| - [Flexible ECS Params][798]
 | |
| - [Make Timer.tick return &Self][820]
 | |
| - [FileAssetIo includes full path on error][821]
 | |
| - [Removed ECS query APIs that could easily violate safety from the public interface][829]
 | |
| - [Changed Query filter API to be easier to understand][834]
 | |
| - [bevy_render: delegate buffer aligning to render_resource_context][842]
 | |
| - [wasm32: non-spirv shader specialization][843]
 | |
| - [Renamed XComponents to XBundle][863]
 | |
| - [Check for conflicting system resource parameters][864]
 | |
| - [Tweaks to TextureAtlasBuilder.finish()][887]
 | |
| - [do not spend time drawing text with is_visible = false][893]
 | |
| - [Extend the Texture asset type to support 3D data][903]
 | |
| - [Breaking changes to timer API][914]
 | |
|   - Created getters and setters rather than exposing struct members.
 | |
| - [Removed timer auto-ticking system][931]
 | |
|   - 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][932]
 | |
| - [Breaking changes to Time API][934]
 | |
|   - Created getters to get `Time` state and made members private.
 | |
|   - Modifying `Time`'s values directly is no longer possible outside of bevy.
 | |
| - [Use `mailbox` instead of `fifo` for vsync on supported systems][920]
 | |
| - [switch winit size to logical to be dpi independent][947]
 | |
| - [Change bevy_input::Touch API to match similar APIs][952]
 | |
| - [Run parent-update and transform-propagation during the "post-startup" stage (instead of "startup")][955]
 | |
| - [Renderer Optimization Round 1][958]
 | |
| - [Change`TextureAtlasBuilder` into expected Builder conventions][969]
 | |
| - [Optimize Text rendering / SharedBuffers][972]
 | |
| - [hidpi swap chains][973]
 | |
| - [optimize asset gpu data transfer][987]
 | |
| - [naming coherence for cameras][995]
 | |
| - [Schedule v2][1021]
 | |
| - [Use shaderc for aarch64-apple-darwin][1027]
 | |
| - [update `Window`'s `width` & `height` methods to return `f32`][1033]
 | |
| - [Break out Visible component from Draw][1034]
 | |
|   - Users setting `Draw::is_visible` or `Draw::is_transparent` should now set `Visible::is_visible` and `Visible::is_transparent`
 | |
| - [`winit` upgraded from version 0.23 to version 0.24][1043]
 | |
| - [set is_transparent to true by default for UI bundles][1071]
 | |
| 
 | |
| ### Fixed
 | |
| 
 | |
| - [Fixed typos in KeyCode identifiers][857]
 | |
| - [Remove redundant texture copies in TextureCopyNode][871]
 | |
| - [Fix a deadlock that can occur when using scope() on ComputeTaskPool from within a system][892]
 | |
| - [Don't draw text that isn't visible][893]
 | |
| - [Use `instant::Instant` for WASM compatibility][895]
 | |
| - [Fix pixel format conversion in bevy_gltf][897]
 | |
| - [Fixed duplicated children when spawning a Scene][904]
 | |
| - [Corrected behaviour of the UI depth system][905]
 | |
| - [Allow despawning of hierarchies in threadlocal systems][908]
 | |
| - [Fix `RenderResources` index slicing][948]
 | |
| - [Run parent-update and transform-propagation during the "post-startup" stage][955]
 | |
| - [Fix collision detection by comparing abs() penetration depth][966]
 | |
| - [deal with rounding issue when creating the swap chain][997]
 | |
| - [only update components for entities in map][1023]
 | |
| - [Don't panic when attempting to set shader defs from an asset that hasn't loaded yet][1035]
 | |
| 
 | |
| [273]: https://github.com/bevyengine/bevy/pull/273
 | |
| [691]: https://github.com/bevyengine/bevy/pull/691
 | |
| [719]: https://github.com/bevyengine/bevy/pull/719
 | |
| [761]: https://github.com/bevyengine/bevy/pull/761
 | |
| [761]: https://github.com/bevyengine/bevy/pull/761
 | |
| [765]: https://github.com/bevyengine/bevy/pull/765
 | |
| [772]: https://github.com/bevyengine/bevy/pull/772
 | |
| [772]: https://github.com/bevyengine/bevy/pull/772
 | |
| [789]: https://github.com/bevyengine/bevy/pull/789
 | |
| [791]: https://github.com/bevyengine/bevy/pull/791
 | |
| [798]: https://github.com/bevyengine/bevy/pull/798
 | |
| [801]: https://github.com/bevyengine/bevy/pull/801
 | |
| [801]: https://github.com/bevyengine/bevy/pull/801
 | |
| [805]: https://github.com/bevyengine/bevy/pull/805
 | |
| [808]: https://github.com/bevyengine/bevy/pull/808
 | |
| [815]: https://github.com/bevyengine/bevy/pull/815
 | |
| [820]: https://github.com/bevyengine/bevy/pull/820
 | |
| [821]: https://github.com/bevyengine/bevy/pull/821
 | |
| [821]: https://github.com/bevyengine/bevy/pull/821
 | |
| [829]: https://github.com/bevyengine/bevy/pull/829
 | |
| [829]: https://github.com/bevyengine/bevy/pull/829
 | |
| [834]: https://github.com/bevyengine/bevy/pull/834
 | |
| [834]: https://github.com/bevyengine/bevy/pull/834
 | |
| [836]: https://github.com/bevyengine/bevy/pull/836
 | |
| [836]: https://github.com/bevyengine/bevy/pull/836
 | |
| [842]: https://github.com/bevyengine/bevy/pull/842
 | |
| [843]: https://github.com/bevyengine/bevy/pull/843
 | |
| [847]: https://github.com/bevyengine/bevy/pull/847
 | |
| [852]: https://github.com/bevyengine/bevy/pull/852
 | |
| [852]: https://github.com/bevyengine/bevy/pull/852
 | |
| [857]: https://github.com/bevyengine/bevy/pull/857
 | |
| [857]: https://github.com/bevyengine/bevy/pull/857
 | |
| [859]: https://github.com/bevyengine/bevy/pull/859
 | |
| [859]: https://github.com/bevyengine/bevy/pull/859
 | |
| [863]: https://github.com/bevyengine/bevy/pull/863
 | |
| [864]: https://github.com/bevyengine/bevy/pull/864
 | |
| [871]: https://github.com/bevyengine/bevy/pull/871
 | |
| [876]: https://github.com/bevyengine/bevy/pull/876
 | |
| [876]: https://github.com/bevyengine/bevy/pull/876
 | |
| [883]: https://github.com/bevyengine/bevy/pull/883
 | |
| [887]: https://github.com/bevyengine/bevy/pull/887
 | |
| [892]: https://github.com/bevyengine/bevy/pull/892
 | |
| [893]: https://github.com/bevyengine/bevy/pull/893
 | |
| [893]: https://github.com/bevyengine/bevy/pull/893
 | |
| [893]: https://github.com/bevyengine/bevy/pull/893
 | |
| [894]: https://github.com/bevyengine/bevy/pull/894
 | |
| [894]: https://github.com/bevyengine/bevy/pull/894
 | |
| [894]: https://github.com/bevyengine/bevy/pull/894
 | |
| [895]: https://github.com/bevyengine/bevy/pull/895
 | |
| [895]: https://github.com/bevyengine/bevy/pull/895
 | |
| [897]: https://github.com/bevyengine/bevy/pull/897
 | |
| [903]: https://github.com/bevyengine/bevy/pull/903
 | |
| [904]: https://github.com/bevyengine/bevy/pull/904
 | |
| [904]: https://github.com/bevyengine/bevy/pull/904
 | |
| [905]: https://github.com/bevyengine/bevy/pull/905
 | |
| [905]: https://github.com/bevyengine/bevy/pull/905
 | |
| [908]: https://github.com/bevyengine/bevy/pull/908
 | |
| [914]: https://github.com/bevyengine/bevy/pull/914
 | |
| [914]: https://github.com/bevyengine/bevy/pull/914
 | |
| [917]: https://github.com/bevyengine/bevy/pull/917
 | |
| [917]: https://github.com/bevyengine/bevy/pull/917
 | |
| [920]: https://github.com/bevyengine/bevy/pull/920
 | |
| [920]: https://github.com/bevyengine/bevy/pull/920
 | |
| [926]: https://github.com/bevyengine/bevy/pull/926
 | |
| [926]: https://github.com/bevyengine/bevy/pull/926
 | |
| [928]: https://github.com/bevyengine/bevy/pull/928
 | |
| [928]: https://github.com/bevyengine/bevy/pull/928
 | |
| [931]: https://github.com/bevyengine/bevy/pull/931
 | |
| [931]: https://github.com/bevyengine/bevy/pull/931
 | |
| [932]: https://github.com/bevyengine/bevy/pull/932
 | |
| [934]: https://github.com/bevyengine/bevy/pull/934
 | |
| [934]: https://github.com/bevyengine/bevy/pull/934
 | |
| [937]: https://github.com/bevyengine/bevy/pull/937
 | |
| [940]: https://github.com/bevyengine/bevy/pull/940
 | |
| [945]: https://github.com/bevyengine/bevy/pull/945
 | |
| [945]: https://github.com/bevyengine/bevy/pull/945
 | |
| [946]: https://github.com/bevyengine/bevy/pull/946
 | |
| [947]: https://github.com/bevyengine/bevy/pull/947
 | |
| [948]: https://github.com/bevyengine/bevy/pull/948
 | |
| [952]: https://github.com/bevyengine/bevy/pull/952
 | |
| [955]: https://github.com/bevyengine/bevy/pull/955
 | |
| [955]: https://github.com/bevyengine/bevy/pull/955
 | |
| [955]: https://github.com/bevyengine/bevy/pull/955
 | |
| [956]: https://github.com/bevyengine/bevy/pull/956
 | |
| [958]: https://github.com/bevyengine/bevy/pull/958
 | |
| [966]: https://github.com/bevyengine/bevy/pull/966
 | |
| [969]: https://github.com/bevyengine/bevy/pull/969
 | |
| [972]: https://github.com/bevyengine/bevy/pull/972
 | |
| [973]: https://github.com/bevyengine/bevy/pull/973
 | |
| [979]: https://github.com/bevyengine/bevy/pull/979
 | |
| [987]: https://github.com/bevyengine/bevy/pull/987
 | |
| [995]: https://github.com/bevyengine/bevy/pull/995
 | |
| [997]: https://github.com/bevyengine/bevy/pull/997
 | |
| [1004]: https://github.com/bevyengine/bevy/pull/1004
 | |
| [1016]: https://github.com/bevyengine/bevy/pull/1016
 | |
| [1021]: https://github.com/bevyengine/bevy/pull/1021
 | |
| [1023]: https://github.com/bevyengine/bevy/pull/1023
 | |
| [1026]: https://github.com/bevyengine/bevy/pull/1026
 | |
| [1027]: https://github.com/bevyengine/bevy/pull/1027
 | |
| [1033]: https://github.com/bevyengine/bevy/pull/1033
 | |
| [1034]: https://github.com/bevyengine/bevy/pull/1034
 | |
| [1034]: https://github.com/bevyengine/bevy/pull/1034
 | |
| [1035]: https://github.com/bevyengine/bevy/pull/1035
 | |
| [1037]: https://github.com/bevyengine/bevy/pull/1037
 | |
| [1038]: https://github.com/bevyengine/bevy/pull/1038
 | |
| [1043]: https://github.com/bevyengine/bevy/pull/1043
 | |
| [1043]: https://github.com/bevyengine/bevy/pull/1043
 | |
| [1071]: https://github.com/bevyengine/bevy/pull/1071
 | |
| 
 | |
| ## Version 0.3.0 (2020-11-03)
 | |
| 
 | |
| ### Added
 | |
| 
 | |
| - [Touch Input][696]
 | |
| - [iOS XCode Project][539]
 | |
| - [Android Example and use bevy-glsl-to-spirv 0.2.0][740]
 | |
| - [Introduce Mouse capture API][679]
 | |
| - [`bevy_input::touch`: implement touch input][696]
 | |
| - [D-pad support on MacOS][653]
 | |
| - [Support for Android file system][723]
 | |
| - [app: PluginGroups and DefaultPlugins][744]
 | |
|   - `PluginGroup` is a collection of plugins where each plugin can be enabled or disabled.
 | |
| - [Support to get gamepad button/trigger values using `Axis<GamepadButton>`][683]
 | |
| - [Expose Winit decorations][627]
 | |
| - [Enable changing window settings at runtime][644]
 | |
| - [Expose a pointer of EventLoopProxy to process custom messages][674]
 | |
| - [Add a way to specify padding/ margins between sprites in a TextureAtlas][460]
 | |
| - [Add `bevy_ecs::Commands::remove` for bundles][579]
 | |
| - [impl `Default` for `TextureFormat`][675]
 | |
| - [Expose current_entity in ChildBuilder][595]
 | |
| - [`AppBuilder::add_thread_local_resource`][671]
 | |
| - [`Commands::write_world_boxed` takes a pre-boxed world writer to the ECS's command queue][661]
 | |
| - [`FrameTimeDiagnosticsPlugin` now shows "frame count" in addition to "frame time" and "fps"][678]
 | |
| - [Add hierarchy example][565]
 | |
| - [`WgpuPowerOptions` for choosing between low power, high performance, and adaptive power][397]
 | |
| - Derive `Debug` for more types: [#597][597], [#632][632] 
 | |
| - Index buffer specialization
 | |
|   - [Allows the use of U32 indices in Mesh index buffers in addition to the usual U16 indices][568]
 | |
|   - [Switch to u32 indices by default][572]
 | |
| - More instructions for system dependencies
 | |
|   - [Add `systemd-devel` for Fedora Linux dependencies][528]
 | |
|   - [Add `libudev-dev` to Ubuntu dependencies][538]
 | |
|   - [Add Void Linux to linux dependencies file][645]
 | |
|   - [WSL2 instructions][727]
 | |
| - [Suggest `-Zrun-dsymutil-no` for faster compilation on MacOS][552]
 | |
| 
 | |
| ### Changed
 | |
| 
 | |
| - [ecs: ergonomic query.iter(), remove locks, add QuerySets][741]
 | |
|   - `query.iter()` is now a real iterator!
 | |
|   - `QuerySet` allows working with conflicting queries and is checked at compile-time.
 | |
| - [Rename `query.entity()` and `query.get()`][752]
 | |
|   - `query.get::<Component>(entity)` is now `query.get_component::<Component>(entity)`
 | |
|   - `query.entity(entity)` is now `query.get(entity)`
 | |
| - [Asset system rework and GLTF scene loading][693]
 | |
| - [Introduces WASM implementation of `AssetIo`][703]
 | |
| - [Move transform data out of Mat4][596]
 | |
| - [Separate gamepad state code from gamepad event code and other customizations][700]
 | |
| - [gamepad: expose raw and filtered gamepad events][711]
 | |
| - [Do not depend on `spirv-reflect` on `wasm32` target][689]
 | |
| - [Move dynamic plugin loading to its own optional crate][544]
 | |
| - [Add field to `WindowDescriptor` on wasm32 targets to optionally provide an existing canvas element as winit window][515]
 | |
| - [Adjust how `ArchetypeAccess` tracks mutable & immutable deps][660]
 | |
| - [Use `FnOnce` in `Commands` and `ChildBuilder` where possible][535]
 | |
| - [Runners explicitly call `App.initialize()`][690]
 | |
| - [sRGB awareness for `Color`][616]
 | |
|   - Color is now assumed to be provided in the non-linear sRGB colorspace.
 | |
|     Constructors such as `Color::rgb` and `Color::rgba` will be converted to linear sRGB.
 | |
|   - New methods `Color::rgb_linear` and `Color::rgba_linear` will accept colors already in linear sRGB (the old behavior)
 | |
|   - Individual color-components must now be accessed through setters and getters.
 | |
| - [`Mesh` overhaul with custom vertex attributes][599]
 | |
|   - 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.
 | |
| - Despawning an entity multiple times causes a debug-level log message to be emitted instead of a panic: [#649][649], [#651][651]
 | |
| - [Migrated to Rodio 0.12][692]
 | |
|   - New method of playing audio can be found in the examples.
 | |
| - Added support for inserting custom initial values for `Local<T>` system resources [#745][745]
 | |
|   
 | |
| ### Fixed
 | |
| 
 | |
| - [Properly update bind group ids when setting dynamic bindings][560]
 | |
| - [Properly exit the app on AppExit event][610]
 | |
| - [Fix FloatOrd hash being different for different NaN values][618]
 | |
| - [Fix Added behavior for QueryOne get][543]
 | |
| - [Update camera_system to fix issue with late camera addition][488]
 | |
| - [Register `IndexFormat` as a property][664]
 | |
| - [Fix breakout example bug][685]
 | |
| - [Fix PreviousParent lag by merging parent update systems][713]
 | |
| - [Fix bug of connection event of gamepad at startup][730]
 | |
| - [Fix wavy text][725]
 | |
| 
 | |
| [397]: https://github.com/bevyengine/bevy/pull/397
 | |
| [460]: https://github.com/bevyengine/bevy/pull/460
 | |
| [488]: https://github.com/bevyengine/bevy/pull/488
 | |
| [515]: https://github.com/bevyengine/bevy/pull/515
 | |
| [528]: https://github.com/bevyengine/bevy/pull/528
 | |
| [535]: https://github.com/bevyengine/bevy/pull/535
 | |
| [538]: https://github.com/bevyengine/bevy/pull/538
 | |
| [539]: https://github.com/bevyengine/bevy/pull/539
 | |
| [543]: https://github.com/bevyengine/bevy/pull/543
 | |
| [544]: https://github.com/bevyengine/bevy/pull/544
 | |
| [552]: https://github.com/bevyengine/bevy/pull/552
 | |
| [560]: https://github.com/bevyengine/bevy/pull/560
 | |
| [565]: https://github.com/bevyengine/bevy/pull/565
 | |
| [568]: https://github.com/bevyengine/bevy/pull/568
 | |
| [572]: https://github.com/bevyengine/bevy/pull/572
 | |
| [579]: https://github.com/bevyengine/bevy/pull/579
 | |
| [595]: https://github.com/bevyengine/bevy/pull/595
 | |
| [596]: https://github.com/bevyengine/bevy/pull/596
 | |
| [597]: https://github.com/bevyengine/bevy/pull/597
 | |
| [599]: https://github.com/bevyengine/bevy/pull/599
 | |
| [610]: https://github.com/bevyengine/bevy/pull/610
 | |
| [616]: https://github.com/bevyengine/bevy/pull/616
 | |
| [618]: https://github.com/bevyengine/bevy/pull/618
 | |
| [627]: https://github.com/bevyengine/bevy/pull/627
 | |
| [632]: https://github.com/bevyengine/bevy/pull/632
 | |
| [644]: https://github.com/bevyengine/bevy/pull/644
 | |
| [645]: https://github.com/bevyengine/bevy/pull/645
 | |
| [649]: https://github.com/bevyengine/bevy/pull/649
 | |
| [651]: https://github.com/bevyengine/bevy/pull/651
 | |
| [653]: https://github.com/bevyengine/bevy/pull/653
 | |
| [660]: https://github.com/bevyengine/bevy/pull/660
 | |
| [661]: https://github.com/bevyengine/bevy/pull/661
 | |
| [664]: https://github.com/bevyengine/bevy/pull/664
 | |
| [671]: https://github.com/bevyengine/bevy/pull/671
 | |
| [674]: https://github.com/bevyengine/bevy/pull/674
 | |
| [675]: https://github.com/bevyengine/bevy/pull/675
 | |
| [678]: https://github.com/bevyengine/bevy/pull/678
 | |
| [679]: https://github.com/bevyengine/bevy/pull/679
 | |
| [683]: https://github.com/bevyengine/bevy/pull/683
 | |
| [685]: https://github.com/bevyengine/bevy/pull/685
 | |
| [689]: https://github.com/bevyengine/bevy/pull/689
 | |
| [690]: https://github.com/bevyengine/bevy/pull/690
 | |
| [692]: https://github.com/bevyengine/bevy/pull/692
 | |
| [693]: https://github.com/bevyengine/bevy/pull/693
 | |
| [696]: https://github.com/bevyengine/bevy/pull/696
 | |
| [700]: https://github.com/bevyengine/bevy/pull/700
 | |
| [703]: https://github.com/bevyengine/bevy/pull/703
 | |
| [711]: https://github.com/bevyengine/bevy/pull/711
 | |
| [713]: https://github.com/bevyengine/bevy/pull/713
 | |
| [723]: https://github.com/bevyengine/bevy/pull/723
 | |
| [725]: https://github.com/bevyengine/bevy/pull/725
 | |
| [727]: https://github.com/bevyengine/bevy/pull/727
 | |
| [730]: https://github.com/bevyengine/bevy/pull/730
 | |
| [740]: https://github.com/bevyengine/bevy/pull/740
 | |
| [741]: https://github.com/bevyengine/bevy/pull/741
 | |
| [744]: https://github.com/bevyengine/bevy/pull/744
 | |
| [745]: https://github.com/bevyengine/bevy/pull/745
 | |
| [752]: https://github.com/bevyengine/bevy/pull/752
 | |
| 
 | |
| 
 | |
| ## Version 0.2.1 (2020-9-20)
 | |
| 
 | |
| ### Fixed
 | |
| 
 | |
| - [Remove UI queue print][521]
 | |
| - [Use async executor 1.3.0][526]
 | |
| 
 | |
| [521]: https://github.com/bevyengine/bevy/pull/521
 | |
| [526]: https://github.com/bevyengine/bevy/pull/526
 | |
| 
 | |
| ## Version 0.2.0 (2020-9-19)
 | |
| 
 | |
| ### Added
 | |
| 
 | |
| - [Task System for Bevy][384]
 | |
|   - Replaces rayon with a custom designed task system that consists of several "TaskPools".
 | |
|   - Exports `IOTaskPool`, `ComputePool`, and `AsyncComputePool` in `bevy_tasks` crate.
 | |
| - [Parallel queries for distributing work over with the `ParallelIterator` trait.][292]
 | |
|   - e.g. `query.iter().par_iter(batch_size).for_each(/* ... */)`
 | |
| - [Added gamepad support using Gilrs][280]
 | |
| - [Implement WASM support for bevy_winit][503]
 | |
| - [Create winit canvas under WebAssembly][506]
 | |
| - [Implement single threaded task scheduler for WebAssembly][496]
 | |
| - [Support for binary glTF (.glb).][271]
 | |
| - [Support for `Or` in ECS queries.][358]
 | |
| - [Added methods `unload()` and `unload_sync()` on `SceneSpawner` for unloading scenes.][339].
 | |
| - [Custom rodio source for audio.][145]
 | |
|   - `AudioOuput` is now able to play anything `Decodable`.
 | |
| - [`Color::hex`][362] for creating `Color` from string hex values.
 | |
|   - Accepts the forms RGB, RGBA, RRGGBB, and RRGGBBAA.
 | |
| - [`Color::rgb_u8` and `Color::rgba_u8`.][381]
 | |
| - [Added `bevy_render::pass::ClearColor` to prelude.][396]
 | |
| - [`SpriteResizeMode` may choose how `Sprite` resizing should be handled. `Automatic` by default.][430]
 | |
| - [Added methods on `Input<T>`][428] for iterator access to keys.
 | |
|   - `get_pressed()`, `get_just_pressed()`, `get_just_released()`
 | |
| - [Derived `Copy` for `MouseScrollUnit`.][270]
 | |
| - [Derived `Clone` for UI component bundles.][390]
 | |
| - [Some examples of documentation][338]
 | |
| - [Update docs for Updated, Changed and Mutated][451]
 | |
| - Tips for faster builds on macOS: [#312][312], [#314][314], [#433][433]
 | |
| - Added and documented cargo features
 | |
|   - [Created document `docs/cargo_features.md`.][249]
 | |
|   - [Added features for x11 and wayland display servers.][249]
 | |
|   - [and added a feature to disable libloading.][363] (helpful for WASM support)
 | |
| - Added more instructions for Linux dependencies
 | |
|   - [Arch / Manjaro][275], [NixOS][290], [Ubuntu][463] and [Solus][331]
 | |
| - [Provide shell.nix for easier compiling with nix-shell][491]
 | |
| - [Add `AppBuilder::add_startup_stage_|before/after`][505]
 | |
| 
 | |
| ### Changed
 | |
| 
 | |
| - [Transform rewrite][374]
 | |
| - [Use generational entity ids and other optimizations][504]
 | |
| - [Optimize transform systems to only run on changes.][417]
 | |
| - [Send an AssetEvent when modifying using `get_id_mut`][323]
 | |
| - [Rename `Assets::get_id_mut` -> `Assets::get_with_id_mut`][332]
 | |
| - [Support multiline text in `DrawableText`][183]
 | |
| - [iOS: use shaderc-rs for glsl to spirv compilation][324]
 | |
| - [Changed the default node size to Auto instead of Undefined to match the Stretch implementation.][304]
 | |
| - [Load assets from root path when loading directly][478]
 | |
| - [Add `render` feature][485], which makes the entire render pipeline optional.
 | |
| 
 | |
| ### Fixed
 | |
| 
 | |
| - [Properly track added and removed RenderResources in RenderResourcesNode.][361]
 | |
|   - Fixes issues where entities vanished or changed color when new entities were spawned/despawned.
 | |
| - [Fixed sprite clipping at same depth][385]
 | |
|   - Transparent sprites should no longer clip.
 | |
| - [Check asset path existence][345]
 | |
| - [Fixed deadlock in hot asset reloading][376]
 | |
| - [Fixed hot asset reloading on Windows][394]
 | |
| - [Allow glTFs to be loaded that don't have uvs and normals][406]
 | |
| - [Fixed archetypes_generation being incorrectly updated for systems][383]
 | |
| - [Remove child from parent when it is despawned][386]
 | |
| - [Initialize App.schedule systems when running the app][444]
 | |
| - [Fix missing asset info path for synchronous loading][486]
 | |
| - [fix font atlas overflow][495]
 | |
| - [do not assume font handle is present in assets][490]
 | |
| 
 | |
| ### Internal Improvements
 | |
| 
 | |
| - Many improvements to Bevy's CI [#325][325], [#349][349], [#357][357], [#373][373], [#423][423]
 | |
| 
 | |
| [145]: https://github.com/bevyengine/bevy/pull/145
 | |
| [183]: https://github.com/bevyengine/bevy/pull/183
 | |
| [249]: https://github.com/bevyengine/bevy/pull/249
 | |
| [270]: https://github.com/bevyengine/bevy/pull/270
 | |
| [271]: https://github.com/bevyengine/bevy/pull/271
 | |
| [275]: https://github.com/bevyengine/bevy/pull/275
 | |
| [280]: https://github.com/bevyengine/bevy/pull/280
 | |
| [290]: https://github.com/bevyengine/bevy/pull/290
 | |
| [292]: https://github.com/bevyengine/bevy/pull/292
 | |
| [304]: https://github.com/bevyengine/bevy/pull/304
 | |
| [312]: https://github.com/bevyengine/bevy/pull/312
 | |
| [314]: https://github.com/bevyengine/bevy/pull/314
 | |
| [323]: https://github.com/bevyengine/bevy/pull/323
 | |
| [324]: https://github.com/bevyengine/bevy/pull/324
 | |
| [325]: https://github.com/bevyengine/bevy/pull/325
 | |
| [331]: https://github.com/bevyengine/bevy/pull/331
 | |
| [332]: https://github.com/bevyengine/bevy/pull/332
 | |
| [338]: https://github.com/bevyengine/bevy/pull/332
 | |
| [345]: https://github.com/bevyengine/bevy/pull/345
 | |
| [349]: https://github.com/bevyengine/bevy/pull/349
 | |
| [357]: https://github.com/bevyengine/bevy/pull/357
 | |
| [358]: https://github.com/bevyengine/bevy/pull/358
 | |
| [361]: https://github.com/bevyengine/bevy/pull/361
 | |
| [362]: https://github.com/bevyengine/bevy/pull/362
 | |
| [363]: https://github.com/bevyengine/bevy/pull/363
 | |
| [373]: https://github.com/bevyengine/bevy/pull/373
 | |
| [374]: https://github.com/bevyengine/bevy/pull/374
 | |
| [376]: https://github.com/bevyengine/bevy/pull/376
 | |
| [381]: https://github.com/bevyengine/bevy/pull/381
 | |
| [383]: https://github.com/bevyengine/bevy/pull/383
 | |
| [384]: https://github.com/bevyengine/bevy/pull/384
 | |
| [385]: https://github.com/bevyengine/bevy/pull/385
 | |
| [386]: https://github.com/bevyengine/bevy/pull/386
 | |
| [390]: https://github.com/bevyengine/bevy/pull/390
 | |
| [394]: https://github.com/bevyengine/bevy/pull/394
 | |
| [396]: https://github.com/bevyengine/bevy/pull/396
 | |
| [339]: https://github.com/bevyengine/bevy/pull/339
 | |
| [406]: https://github.com/bevyengine/bevy/pull/406
 | |
| [417]: https://github.com/bevyengine/bevy/pull/417
 | |
| [423]: https://github.com/bevyengine/bevy/pull/423
 | |
| [428]: https://github.com/bevyengine/bevy/pull/428
 | |
| [430]: https://github.com/bevyengine/bevy/pull/430
 | |
| [433]: https://github.com/bevyengine/bevy/pull/433
 | |
| [444]: https://github.com/bevyengine/bevy/pull/444
 | |
| [451]: https://github.com/bevyengine/bevy/pull/451
 | |
| [463]: https://github.com/bevyengine/bevy/pull/463
 | |
| [478]: https://github.com/bevyengine/bevy/pull/478
 | |
| [485]: https://github.com/bevyengine/bevy/pull/485
 | |
| [486]: https://github.com/bevyengine/bevy/pull/486
 | |
| [490]: https://github.com/bevyengine/bevy/pull/490
 | |
| [491]: https://github.com/bevyengine/bevy/pull/491
 | |
| [495]: https://github.com/bevyengine/bevy/pull/495
 | |
| [496]: https://github.com/bevyengine/bevy/pull/496
 | |
| [503]: https://github.com/bevyengine/bevy/pull/503
 | |
| [504]: https://github.com/bevyengine/bevy/pull/504
 | |
| [505]: https://github.com/bevyengine/bevy/pull/505
 | |
| [506]: https://github.com/bevyengine/bevy/pull/506
 | |
| 
 | |
| ## Version 0.1.3 (2020-8-22)
 | |
| 
 | |
| ## Version 0.1.2 (2020-8-10)
 | |
| 
 | |
| ## Version 0.1.1 (2020-8-10)
 | |
| 
 | |
| ## Version 0.1.0 (2020-8-10)
 | 
