diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4929086b115fda2b0d55d4fbcc7027f13ec4c5fb..f38890017bed016b2096a5e5ac756fe76c698060 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,40 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 
 ## [Unreleased]
-[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.7.3...HEAD
+[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.8.0...HEAD
+
+
+## [v0.8.0] - 2024-06-28
+[v0.8.0]: https://github.com/althonos/lightmotif/compare/v0.7.3...v0.8.0
+
+### Added
+
+#### `lightmotif`
+- `lightmotif::pwm::DiscreteMatrix` to store a discretized `ScoringMatrix`.
+- `MatrixElement` marker trait for `Default + Copy` types that can be used as a `DenseMatrix` element.
+- `lightmotif::scores::Scores` wrapper of `Vec<T>` with shortcut `max`, `threshold` and `argmax` methods.
+- AVX2 and NEON implementations of `Score<u8, Dna>` pipeline operation.
+
+### Fixed
+
+#### `lightmotif`
+- Remove requirement for `T: Debug` in `Clone` implementation of `DenseMatrix<T>`.
+- SSE2 and AVX2 implementations of `Argmax` not returning the last index in case of ties.
+
+#### `lightmotif-tfmpvalue`
+- Cache internal buffer for Q-values to avoid reallocation between iterations.
+
+### Changed
+
+#### `lightmotif`
+- Cache the `Pipeline` used in `lightmotif::scan::Scanner`.
+- Make `lightmotif::scores::StripedScores` generic over the score type.
+- Make `Maximum` and `Threshold` generic over the score type.
+- Use a discrete matrix in `Scanner` to quickly eliminate blocks without candidate position above given threshold.
+- Compile crate without the `rand` and `rand-distr` features by default.
+
+#### `lightmotif-py`
+- Update `pyo3` dependency to `v0.22.0`.
 
 
 ## [v0.7.3] - 2024-06-17
diff --git a/lightmotif-bench/Cargo.toml b/lightmotif-bench/Cargo.toml
index 80316f1688c6e12cb61dbd885007be466ce62388..39506f27d12a95a618942434ca75e40f2e0ad40d 100644
--- a/lightmotif-bench/Cargo.toml
+++ b/lightmotif-bench/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-bench"
-version = "0.7.3"
+version = "0.8.0"
 edition = "2021"
 publish = false
 
diff --git a/lightmotif-io/Cargo.toml b/lightmotif-io/Cargo.toml
index 3c33ca47ba2deeddde2f4669323e9e168ca18b66..ea519223426eebb6897b1c24df804e1721b7465d 100644
--- a/lightmotif-io/Cargo.toml
+++ b/lightmotif-io/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-io"
-version = "0.7.3"
+version = "0.8.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "MIT"
@@ -20,4 +20,4 @@ generic-array = "1.0"
 
 [dependencies.lightmotif]
 path = "../lightmotif"
-version = "0.7.3"
+version = "0.8.0"
diff --git a/lightmotif-py/Cargo.toml b/lightmotif-py/Cargo.toml
index ee5dd4e60e1010258d877055b620f7eac484816b..9b1dbc9019d840e4f2ce7ec022cb38e98f2632a9 100644
--- a/lightmotif-py/Cargo.toml
+++ b/lightmotif-py/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-py"
-version = "0.7.3"
+version = "0.8.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "MIT OR GPL-3.0-or-later"
@@ -17,11 +17,11 @@ path = "lightmotif/lib.rs"
 
 [dependencies.lightmotif]
 path = "../lightmotif"
-version = "0.7.3"
+version = "0.8.0"
 [dependencies.lightmotif-tfmpvalue]
 optional = true
 path = "../lightmotif-tfmpvalue"
-version = "0.7.3"
+version = "0.8.0"
 [dependencies]
 pyo3 = "0.22.0"
 generic-array = "1.0.0"
diff --git a/lightmotif-py/lightmotif/__init__.py b/lightmotif-py/lightmotif/__init__.py
index 59cb1ab8cc9b98279cd5fd7c2d00f2096e0ebb0d..5dba0c41bced9052fa4b52fad94485b0bb5b220b 100644
--- a/lightmotif-py/lightmotif/__init__.py
+++ b/lightmotif-py/lightmotif/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "0.7.3"
+__version__ = "0.8.0"
 
 from . import lib
 from .lib import (
diff --git a/lightmotif-tfmpvalue/Cargo.toml b/lightmotif-tfmpvalue/Cargo.toml
index 952f4f0d9120320ddd9faf3597bf9053f77eb39d..5971ff321291969e6992f2a12d6d30539db79f8c 100644
--- a/lightmotif-tfmpvalue/Cargo.toml
+++ b/lightmotif-tfmpvalue/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-tfmpvalue"
-version = "0.7.3"
+version = "0.8.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "GPL-3.0-or-later"
@@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"]
 
 [dependencies.lightmotif]
 path = "../lightmotif"
-version = "0.7.3"
+version = "0.8.0"
 
diff --git a/lightmotif/Cargo.toml b/lightmotif/Cargo.toml
index c0a664597fe710598769ca18eb660b36f9f05600..622783bb9ca9ce4473bef2e80801d4e3c11cf509 100644
--- a/lightmotif/Cargo.toml
+++ b/lightmotif/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif"
-version = "0.7.3"
+version = "0.8.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "MIT"