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"]