diff --git a/CHANGELOG.md b/CHANGELOG.md index 534e8be..2d97007 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,73 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## Unreleased + + + + + + + + + + + + +**This release removes all integration with bevy.** +`benimator` is no longer a bevy plugin. It is now an engine-agnostic rust library. +See the [announcement](https://github.com/jcornaz/benimator/discussions/91) for more details. + +### Removed (BREAKING) + + - `State::animation_frame_index` + - `PlayBackSpeed` struct + Without bevy integration, it is now possible (and easier) + to alter the time duration, without the need for this struct. + - Deprecated members + +### Changed (BREAKING) + + - Rename `from_range` and `from_iter` to `from_indices` + - Rename structs + `SpriteSheetAnimation` -> `Animation` + `SpriteSheetAnimationState` -> `State` + - Change syntax of repeat-from to: `!RepeatFrom n` + - The state is no longer automatically reset after the last frame of a `run_once` animation. + So one must explicitly reset the state if they desire to restart the animation later. + - **[unstable-load-from-file]** Remove `from_(yaml|ron)_(str|bytes)` functions + +### New Features (BREAKING) + + - Allow to define animation FPS or total duration (on top of the existing frame-duration) + Now `Animation::from_iter` and `Animation::from_range` take a `FrameRate` instead of a duration. + The `FrameRate` can be created from a *frame duration*, *total duration* or a from a *fps* (frame-per-second). + +### Minimum supported rust version (BREAKING) + + - Require the latest stable version of rust at all time + +### New Features + + - Deserialize `fps` and 'total_duration' property + - Implement `Serialize` for `Animaition` + - Implement `Extend` for `Animation` + - Implement `Eq` for `Animation` + - `State::new` constructor + - Implementation of `Default` for `Animation` an `Frame` + - `State::frame_index` method + - Public `update` function for the state. + +### Stabilization + + - Stabilize load-from-file. + The feature flag is removed. The feature flag `serde` should be used instead. + +### Documentation + + - Improve crate-level example + - Describe better the project with goals and examples + ## 4.0.0-rc.1 (2022-08-09) diff --git a/Cargo.toml b/Cargo.toml index f2c9b96..ccbcb36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "benimator" -version = "4.0.0-rc.1" +version = "4.0.0" edition = "2021" rust-version = "1.62" authors = ["Jonathan Cornaz"]