From b11557fa6af444bb5530036fb66e5577f4d9dec2 Mon Sep 17 00:00:00 2001
From: Martin Larralde <martin.larralde@embl.de>
Date: Fri, 28 Jun 2024 16:50:50 +0200
Subject: [PATCH] Release v0.8.0

---
 CHANGELOG.md                         | 35 +++++++++++++++++++++++++++-
 lightmotif-bench/Cargo.toml          |  2 +-
 lightmotif-io/Cargo.toml             |  4 ++--
 lightmotif-py/Cargo.toml             |  6 ++---
 lightmotif-py/lightmotif/__init__.py |  2 +-
 lightmotif-tfmpvalue/Cargo.toml      |  4 ++--
 lightmotif/Cargo.toml                |  2 +-
 7 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4929086..f388900 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 80316f1..39506f2 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 3c33ca4..ea51922 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 ee5dd4e..9b1dbc9 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 59cb1ab..5dba0c4 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 952f4f0..5971ff3 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 c0a6645..622783b 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"
-- 
GitLab