diff --git a/CHANGELOG.md b/CHANGELOG.md index 09163c618b..07a4b51b33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,31 +1,124 @@ # Changelog +While we try to keep the `Unreleased` changes updated, it is often behind master and does not include +all merged pull requests. To see a list of all changes since the latest release, you may compare +master using the [git tags for releases](https://github.com/bevyengine/bevy/tags). + +For example, +[https://github.com/bevyengine/bevy/compare/v0.2.1...master](https://github.com/bevyengine/bevy/compare/v0.2.1...master) +to view all changes since the `0.2.1` release. + ## Unreleased ### Added -- [Touch Input][696] -- [Do not depend on spirv on wasm32 target][689] -- [Another fast compile flag for macOS][552] +- [Introduce Mouse capture API][679] +- [`bevy_input::touch`: implement touch input][696] +- [D-pad support on MacOS][653] +- [Support to get gamepad button/trigger values using `Axis`][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 remove bundle to `bevy_ecs::Commands`][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 dependences + - [Add `systemd-devel` for Fedora Linux dependencies][528] + - [Add `libudev-dev` to Ubuntu dependencies][538] + - [Add Void Linux to linux dependencies file][645] +- [Suggest `-Zrun-dsymutil-no` for faster compilation on MacOS][552] ### Changed -- Breaking Change: [sRGB awareness for `Color`][616] - - Color is now assumed to be provided in the non-linear sRGB colorspace, and constructors such as `Color::rgb` and `Color::rgba` will be converted to linear sRGB under-the-hood. +- [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, and constructors such as + `Color::rgb` and `Color::rgba` will be converted to linear sRGB under-the-hood. - This allows drop-in use of colors from most applications. - 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: `.r`, `.g`, `.b`, `.a`, `.set_r`, `.set_g`, `.set_b`, `.set_a`, and the corresponding methods with the `*_linear` suffix. -- Despawning an entity multiple times causes a debug-level log message to be emitted instead of a panic [649] [651] -- Breaking Change: Migrated to rodio 0.12, this means: + - Individual color-components must now be accessed through setters and getters: + `.r`, `.g`, `.b`, `.a`, `.set_r`, `.set_g`, `.set_b`, `.set_a`, and the corresponding methods with the `*_linear` suffix. +- 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] - Playing an mp3 no longer sometimes panics in debug mode - New method of playing audio can be found in the audio example (an intermediary `Audio` struct is used instead of `AudioOutput` directly) + +### Fixed -[696]: https://github.com/bevyengine/bevy/pull/696 -[689]: https://github.com/bevyengine/bevy/pull/689 +- [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] + +[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 +[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 +[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 ## Version 0.2.1 (2020-9-20) @@ -34,8 +127,8 @@ - [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] +[521]: https://github.com/bevyengine/bevy/pull/521 +[526]: https://github.com/bevyengine/bevy/pull/526 ## Version 0.2.0 (2020-9-19)