From aa5a454b940fb020952ffd28358f4145a7614cb2 Mon Sep 17 00:00:00 2001 From: Jae Hoon Seo Date: Fri, 16 Oct 2026 18:03:09 +0900 Subject: [PATCH] Release VANE 0.1.1. --- CHANGELOG.md | 18 +++++++++++++++++- CITATION.cff | 2 +- README.md | 10 +++++----- RELEASE.md | 21 +++++++++++++++++++++ docs/conf.py | 2 +- docs/index.rst | 2 +- docs/user_guide/citing.rst | 2 +- docs/user_guide/installation.rst | 8 ++++---- pyproject.toml | 2 +- src/vane/__init__.py | 2 +- tests/test_version.py | 6 +++--- 11 files changed, 56 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 781439d..901d253 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,21 @@ All notable changes to VANE are recorded in this file. The format follows ## [Unreleased] +## [0.1.1] - 2026-10-16 + +### Fixed + +- `LICENSE` is now the unmodified text of the Apache License, Version 2.0. The file + of 0.1.0 differed from it in the wording of sections 6 and 9 and of the appendix. + The copyright statement is in `NOTICE`. +- `azimuth_tangent` sets the azimuth component of the tangent to exactly one, as + documented; on some platforms the normalisation rounded it to 0.9999999999999999. +- The type annotations pass strict mypy with NumPy 2.2, the version installed on + Python 3.10, as well as with later NumPy versions. +- A controller-library test no longer depends on the host platform. +- The README names the linked project documents by their purpose, and its + documentation badge is served from shields.io. + ## [0.1.0] - 2026-10-16 Initial public release. @@ -82,5 +97,6 @@ Initial public release. `examples/` (synthetic inputs, except the OpenFAST sweep), the theory, the API reference and contract, and the validation record. -[Unreleased]: https://github.com/SMI-Lab-Inha/VANE/compare/v0.1.0...HEAD +[Unreleased]: https://github.com/SMI-Lab-Inha/VANE/compare/v0.1.1...HEAD +[0.1.1]: https://github.com/SMI-Lab-Inha/VANE/compare/v0.1.0...v0.1.1 [0.1.0]: https://github.com/SMI-Lab-Inha/VANE/releases/tag/v0.1.0 diff --git a/CITATION.cff b/CITATION.cff index 1fbe5e3..d91ffc0 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -23,7 +23,7 @@ authors: repository-code: "https://github.com/SMI-Lab-Inha/VANE" url: "https://github.com/SMI-Lab-Inha/VANE" license: Apache-2.0 -version: 0.1.0 +version: 0.1.1 date-released: 2026-10-16 keywords: - wind turbine diff --git a/README.md b/README.md index 5bef0c3..439b036 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ modal results: 6. it exports state-space and linear parameter-varying (LPV) models for estimator and controller design. -VANE handles fixed-bottom and floating turbines. The current stable release is v0.1.0. +VANE handles fixed-bottom and floating turbines. The current stable release is v0.1.1. The public API is documented in the [API reference](https://vane.readthedocs.io/en/latest/reference/api_reference.html) and is stable. VANE follows semantic versioning: a breaking change to the documented public @@ -50,17 +50,17 @@ API is made only with a new major version and is recorded in the ## Installation VANE needs Python 3.10 to 3.13 and is installed from GitHub. Either download the -wheel attached to the [v0.1.0 release](https://github.com/SMI-Lab-Inha/VANE/releases/tag/v0.1.0) +wheel attached to the [v0.1.1 release](https://github.com/SMI-Lab-Inha/VANE/releases/tag/v0.1.1) and install it: ```console -python -m pip install vane-0.1.0-py3-none-any.whl +python -m pip install vane-0.1.1-py3-none-any.whl ``` or install the tagged release from the repository: ```console -python -m pip install "git+https://github.com/SMI-Lab-Inha/VANE.git@v0.1.0" +python -m pip install "git+https://github.com/SMI-Lab-Inha/VANE.git@v0.1.1" ``` For development, clone the repository and install it in editable mode with @@ -138,7 +138,7 @@ The package structure is described in the [architecture overview](ARCHITECTURE.m ## Citing If you use VANE in academic work, please cite the software release you used -(VANE 0.1.0). The [citation file](CITATION.cff) holds the citation metadata (GitHub +(VANE 0.1.1). The [citation file](CITATION.cff) holds the citation metadata (GitHub **Cite this repository**); BibTeX is on the manual's [How to cite](https://vane.readthedocs.io/en/latest/user_guide/citing.html) page. diff --git a/RELEASE.md b/RELEASE.md index 75a6aa2..ed6d4cc 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -118,6 +118,27 @@ Suggested topics: `wind-energy`, `wind-turbine`, `floating-offshore-wind`, `multi-blade-coordinate-transform`, `floquet`, `state-space`, `kalman-filter`, `digital-twin`, `python`. +## Release record: 0.1.1 + +0.1.1 replaces the licence file with the unmodified Apache License 2.0 text, sets the +azimuth component of `azimuth_tangent` to exactly one, makes the type annotations pass +strict mypy with NumPy 2.2 and makes one test independent of the host platform (see +the changelog). The checks of sections 2 and 3 were run on the release tree on +2026-10-16 on Windows 11 x64, in the environments listed for 0.1.0. Strict mypy was +also run on Python 3.10 with NumPy 2.2.6 and mypy 2.4.0, the versions that the hosted +type check installs. The hosted workflow (Ubuntu with Python 3.10 to 3.13, macOS and +Windows with Python 3.13) passed on the release commit. + +| Check | Result | +| --- | --- | +| `ruff check src tests examples docs` | passed, no findings | +| `ruff format --check src tests examples docs` | passed, 220 files formatted | +| `mypy --strict src` | passed, no issues in 92 source files (NumPy 2.2.6 and 2.4.6) | +| `pytest` on Python 3.10 to 3.13 | 3105 passed, 122 skipped on each; line coverage 95.14 to 95.15 % | +| `sphinx-build -W --keep-going`, HTML and EPUB | built with no warnings | +| `python -m build` | wheel `vane-0.1.1-py3-none-any.whl` and sdist `vane-0.1.1.tar.gz` built | +| Clean-environment install | `import vane` and `vane --version` report 0.1.1 | + ## Release record: 0.1.0 The checks of sections 2 and 3 were run on the release tree on 2026-10-16, before the diff --git a/docs/conf.py b/docs/conf.py index f2805fc..171533f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,7 @@ "Inha University" ) -release = "0.1.0" +release = "0.1.1" version = ".".join(release.split(".")[:2]) # -- General configuration --------------------------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 34306ff..f60a3bf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,7 +26,7 @@ turbine's operating curve to labelled Campbell diagrams and modal results: VANE handles fixed-bottom and floating turbines. It is developed at the Marine Structural Mechanics and Integrity Lab (SMI Lab), Inha University. -The current stable release is 0.1.0. The public API is documented in the +The current stable release is 0.1.1. The public API is documented in the :doc:`reference/api_reference` and is stable. VANE follows semantic versioning: a breaking change to the documented public API is made only with a new major version and is recorded in the :doc:`user_guide/changelog`. diff --git a/docs/user_guide/citing.rst b/docs/user_guide/citing.rst index c751cf3..5f7622c 100644 --- a/docs/user_guide/citing.rst +++ b/docs/user_guide/citing.rst @@ -12,7 +12,7 @@ repository's ``CITATION.cff`` file holds the citation metadata; GitHub shows it @software{seo_vane_2026, author = {Seo, Jae Hoon}, title = {{VANE}: Visualization and Automated Natural-frequency Extraction}, - version = {0.1.0}, + version = {0.1.1}, year = {2026}, url = {https://github.com/SMI-Lab-Inha/VANE}, license = {Apache-2.0} diff --git a/docs/user_guide/installation.rst b/docs/user_guide/installation.rst index a6ddbba..2a3e88f 100644 --- a/docs/user_guide/installation.rst +++ b/docs/user_guide/installation.rst @@ -21,13 +21,13 @@ VANE is distributed through its GitHub repository, Install the release wheel ------------------------- -Download ``vane-0.1.0-py3-none-any.whl`` from the -`v0.1.0 release `_, check it +Download ``vane-0.1.1-py3-none-any.whl`` from the +`v0.1.1 release `_, check it against ``SHA256SUMS.txt`` from the same page, and install it: .. code-block:: console - $ python -m pip install vane-0.1.0-py3-none-any.whl + $ python -m pip install vane-0.1.1-py3-none-any.whl Install from the repository --------------------------- @@ -36,7 +36,7 @@ Install the tagged release directly from GitHub: .. code-block:: console - $ python -m pip install "git+https://github.com/SMI-Lab-Inha/VANE.git@v0.1.0" + $ python -m pip install "git+https://github.com/SMI-Lab-Inha/VANE.git@v0.1.1" or clone the repository and install it, in editable mode with the development tools for work on VANE itself: diff --git a/pyproject.toml b/pyproject.toml index bbe5346..be731a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "vane" -version = "0.1.0" +version = "0.1.1" description = "OpenFAST linearization post-processing, physics-based mode identification, Campbell diagrams and state-space export for wind turbines" readme = "README.md" requires-python = ">=3.10" diff --git a/src/vane/__init__.py b/src/vane/__init__.py index 407fa3e..9d832bf 100644 --- a/src/vane/__init__.py +++ b/src/vane/__init__.py @@ -18,7 +18,7 @@ # The release version. ``pyproject.toml``, ``docs/conf.py``, ``CITATION.cff`` and # ``CHANGELOG.md`` carry the same number; ``tests/test_version.py`` checks this. -__version__ = "0.1.0" +__version__ = "0.1.1" __all__ = [ "Labeler", diff --git a/tests/test_version.py b/tests/test_version.py index ab5e5f9..af8be8b 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -57,9 +57,9 @@ def test_file_states_the_package_version(self, relative: str, pattern: str) -> N """Each file states the same version as ``vane.__version__``.""" assert _search(relative, pattern) == vane.__version__ - def test_release_is_0_1_0_and_stable(self) -> None: - """The release is 0.1.0 and is classified as production/stable.""" - assert vane.__version__ == "0.1.0" + def test_release_is_0_1_1_and_stable(self) -> None: + """The release is 0.1.1 and is classified as production/stable.""" + assert vane.__version__ == "0.1.1" status = _search( "pyproject.toml", r'"Development Status :: (?P[^"]+)"' )