From d8e791db99f1d6c45c0d57c527815472c2ba8e90 Mon Sep 17 00:00:00 2001
From: Martin Larralde <martin.larralde@embl.de>
Date: Fri, 14 Jun 2024 15:47:04 +0200
Subject: [PATCH] Release v0.7.0

---
 CHANGELOG.md                         | 57 +++++++++++++++++++++++++++-
 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                |  4 +-
 7 files changed, 67 insertions(+), 12 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index bbe5dd6..4ce49ba 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,7 +6,62 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 
 
 ## [Unreleased]
-[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.6.0...HEAD
+[Unreleased]: https://github.com/althonos/lightmotif/compare/v0.7.0...HEAD
+
+
+## [v0.7.0] - 2024-06-14
+[v0.7.0]: https://github.com/althonos/lightmotif/compare/v0.6.0...v0.7.0
+
+### Added
+
+#### `lightmotif`
+- Implement indexing of `StripedSequence` by sequence index.
+- `matrix` accessor to all matrix types in `lightmotif::pwm` and `lightmotif::seq`.
+- `entropy` and `information_content` methods to `CountMatrix`.
+- `SymbolCount` trait for counting the number of occurrences of a symbol in an iterable.
+- Several `Background` constructors for counting occurences in one or more sequences.
+- `FromIterator<A::Symbol>` constructor for `EncodedSequence<A>`.
+- `MultipleOf<N>` trait to simplify typenums in platform code signatures.
+- Sampling of random sequences using the `rand` dependency under a feature flag.
+- `ScoringMatrix.score_into` method to re-use a `StripedScores` buffer.
+- `ScoringMatrix.score_position` method to score a single sequence position.
+- Indexing by `MatrixCoordinates` in `DenseMatrix`.
+- Support for chanding logarithm base when building a `ScoringMatrix` from a `WeightMatrix`.
+- Scanning algorithm for finding hits in a sequence with an iterator without allocating `StripedScores` for each sequence position.
+
+### `lightmotif-py`
+- Support for optional TFMPvalue interface in Python bindings under GPLv3+ code.
+- Constructor for `ScoringMatrix` class.
+- `ScoringMatrix.reverse_complement` to compute the reverse-complement of a scoring matrix.
+
+### Changed
+
+#### `lightmotif`
+- Make `EncodedSequence.stripe` use a dispatching `Pipeline` internally.
+- Require power-of-two alignment in `DenseMatrix` implementations.
+- Update `generic-array` dependency to `v1.0`.
+- Change order of parameters in `ScoringMatrix.score`.
+- Reorganize scoring trait and implement row-slice scoring for AVX2 and SSE2.
+- Rewrite `Pipeline::threshold` to return matrix coordinates instead of a sequence index.
+- Rewrite `Pipeline::argmax` to return matrix coordinates instead of a sequence index.
+
+#### `lightmotif-py`
+- Streamline the use of pipelined functions in Python bindings.
+
+### Fixed
+
+#### `lightmotif`
+- Handling of unknown residues in `permute` implementation of `Score` on AVX2.
+- `PartialEq` for `DenseMatrix` to ignore alignment padding in each row. 
+
+### Removed
+
+#### `lightmotif`
+- Platform-specific code for thresholding a `StripedScores` matrix.
+- Direct attribute access in `StripedSequence`.
+
+#### `lightmotif-transfac`
+- Remove crate from repository, superseded by the `lightmotif-io` crate.
 
 
 ## [v0.6.0] - 2023-12-13
diff --git a/lightmotif-bench/Cargo.toml b/lightmotif-bench/Cargo.toml
index 488588f..4046f07 100644
--- a/lightmotif-bench/Cargo.toml
+++ b/lightmotif-bench/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-bench"
-version = "0.6.0"
+version = "0.7.0"
 edition = "2021"
 publish = false
 
diff --git a/lightmotif-io/Cargo.toml b/lightmotif-io/Cargo.toml
index cf15e8c..8133d69 100644
--- a/lightmotif-io/Cargo.toml
+++ b/lightmotif-io/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-io"
-version = "0.6.0"
+version = "0.7.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "MIT"
@@ -19,4 +19,4 @@ memchr = "2"
 
 [dependencies.lightmotif]
 path = "../lightmotif"
-version = "0.6.0"
+version = "0.7.0"
diff --git a/lightmotif-py/Cargo.toml b/lightmotif-py/Cargo.toml
index cc55f7c..d217b99 100644
--- a/lightmotif-py/Cargo.toml
+++ b/lightmotif-py/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-py"
-version = "0.6.0"
+version = "0.7.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.6.0"
+version = "0.7.0"
 [dependencies.lightmotif-tfmpvalue]
 optional = true
 path = "../lightmotif-tfmpvalue"
-version = "0.6.0"
+version = "0.7.0"
 [dependencies]
 pyo3 = "0.18.3"
 generic-array = "1.0.0"
diff --git a/lightmotif-py/lightmotif/__init__.py b/lightmotif-py/lightmotif/__init__.py
index 91d7f56..dd035e3 100644
--- a/lightmotif-py/lightmotif/__init__.py
+++ b/lightmotif-py/lightmotif/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "0.7.0-a1"
+__version__ = "0.7.0"
 
 from . import lib
 from .lib import (
diff --git a/lightmotif-tfmpvalue/Cargo.toml b/lightmotif-tfmpvalue/Cargo.toml
index 1ea670e..b939274 100644
--- a/lightmotif-tfmpvalue/Cargo.toml
+++ b/lightmotif-tfmpvalue/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif-tfmpvalue"
-version = "0.6.0"
+version = "0.7.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "GPL-3.0"
@@ -13,5 +13,5 @@ keywords = ["bioinformatics", "motif", "pssm", "pvalue"]
 
 [dependencies.lightmotif]
 path = "../lightmotif"
-version = "0.6.0"
+version = "0.7.0"
 
diff --git a/lightmotif/Cargo.toml b/lightmotif/Cargo.toml
index 9113f9d..dc4ae05 100644
--- a/lightmotif/Cargo.toml
+++ b/lightmotif/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "lightmotif"
-version = "0.6.0"
+version = "0.7.0"
 authors = ["Martin Larralde <martin.larralde@embl.de>"]
 edition = "2021"
 license = "MIT"
@@ -24,4 +24,4 @@ version = "0.4.3"
 
 [features]
 default = ["sample"]
-sample = ["rand", "rand_distr"]
\ No newline at end of file
+sample = ["rand", "rand_distr"]
-- 
GitLab