diff --git a/CHANGELOG.md b/CHANGELOG.md index 11c5f83..3ca2a72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,16 @@ All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [0.4.0] - 2026-07-30 + +`numpy` is now the only runtime dependency, and a trained map can be saved without `pickle`. + +**Results change in two places.** Linear initialization is corrected for data far from the origin, +where 0.3.0 was wrong by up to 5.8%; and anyone who imported pandas or scikit-learn transitively +through this package must now depend on them directly. Everything else is additive: no public name or +signature is removed, and `mode="batch"` and the other plain strings keep working. + +To reproduce a figure made with an earlier version, pin that version. ### Added diff --git a/pyproject.toml b/pyproject.toml index d9a2229..90ef970 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "python-som" -version = "0.3.0" +version = "0.4.0" authors = [{ name = "André Moreira Souza", email = "msouza.andre@hotmail.com" }] description = "Python implementation of the Self-Organizing Map" readme = "README.md" diff --git a/src/python_som/_version.py b/src/python_som/_version.py index 5e07a34..88d3b0c 100644 --- a/src/python_som/_version.py +++ b/src/python_som/_version.py @@ -9,4 +9,4 @@ __all__ = ["__version__"] -__version__ = "0.3.0" +__version__ = "0.4.0" diff --git a/uv.lock b/uv.lock index 61d7020..574fdbe 100644 --- a/uv.lock +++ b/uv.lock @@ -2559,7 +2559,7 @@ wheels = [ [[package]] name = "python-som" -version = "0.3.0" +version = "0.4.0" source = { editable = "." } dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },