diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 7443e53..2d76ef4 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -5,10 +5,22 @@
### Added
- Add left_multiplication and right_multiplication to ThreadingInstructions (#99)
+- OpenMP parallelism for Li-Stephens Viterbi and hets phases across targets (#127)
+- NumPy batch API for zero-copy genotype transfer from Python to C++ (#127)
### Changed
- Build wheels on macOS 14 for arm64 and macOS 15 for x86_64 (#108)
+- Replace hash map traceback storage with deque arena in Viterbi (#127)
+- Replace hash map state lookup with flat vectors in ThreadsLowMem (#127)
+- Boolean array neighbor search in Matcher replaces red-black tree (#127)
+
+### Fixed
+
+- Memory leak: raw HMM pointer replaced with unique_ptr (#127)
+- Sign-extension in pair_key/coord_id_key hash functions (#127)
+- Bounds check after array access in ThreadsFastLS (#127)
+- exit(1) calls replaced with exceptions for proper Python error propagation (#127)
## [0.2.1] - 2025-06-03
diff --git a/pyproject.toml b/pyproject.toml
index 00935f6..7883b28 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,16 +16,9 @@ authors = [
requires-python = ">=3.9"
dependencies = [
- "click",
- "xarray",
- "h5py",
- "pandas",
- "numba",
"numpy",
- "tszip",
"arg-needle-lib==1.2.1",
"cyvcf2",
- "ray",
"pgenlib",
"tqdm"
]
@@ -43,7 +36,24 @@ classifiers = [
[project.optional-dependencies]
dev = [
- "pytest"
+ "pytest",
+ "h5py"
+]
+convert = [
+ "tszip"
+]
+impute = [
+ "pandas",
+ "scipy"
+]
+normalize = [
+ "msprime"
+]
+all = [
+ "tszip",
+ "msprime",
+ "pandas",
+ "scipy"
]
[project.scripts]
diff --git a/src/AlleleAges.cpp b/src/AlleleAges.cpp
index ed7ca29..1af27fc 100644
--- a/src/AlleleAges.cpp
+++ b/src/AlleleAges.cpp
@@ -15,14 +15,11 @@
// along with this program. If not, see .
#include "AlleleAges.hpp"
+#include "GenotypeIterator.hpp"
-#include
-#include
+#include
+#include
#include
-#include
-#include