diff --git a/AGENTS.md b/AGENTS.md index cd2df8a..3e45a27 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -114,7 +114,7 @@ image-builder checks that apply to a detector package, for every PSF model: `check_point_source_centring` (also on the vignetting map), `check_point_source_flux`, and `check_edge_flux_loss` (light off a detector edge is lost, not renormalized). They need `aocore>=0.1.3`, pinned in the `dev` -extra only; the runtime pin stays `>=0.1.2`. The OPD-driven checks (tilt, +extra only (both pins allow aocore 0.2, which is additive); the runtime pin stays `>=0.1.2`. The OPD-driven checks (tilt, slopes, wind, Zernikes, RMS) do not apply because getframes PSFs are analytic, not images of an OPD map. It also pins the section 8 software vocabulary: every `device=` takes `"cpu"`/`"gpu"`/`"gpu:N"`/`"auto"` @@ -166,7 +166,11 @@ CUDA-independent. - `.github/workflows/docs.yml` — deploys MkDocs to GitHub Pages. To cut a release: bump `src/getframes/__about__.py` and the `CHANGELOG.md`, tag -`X.Y.Z`, and push the tag. +`X.Y.Z`, and push the tag. Tags +are bare `X.Y.Z` (2.6.0 was tagged `v2.6.0` by mistake; the workflow accepts both). +When aocore cuts a new minor release, widen the `<0.N` cap here once the suite passes +against it: a stale cap makes getframes uninstallable next to packages that need the +new aocore. ## Keeping the repo healthy @@ -246,7 +250,7 @@ verified, say so plainly; when a step was skipped or a test fails, say *that*. ## Things to avoid - Don't add heavy core runtime dependencies. Core runtime deps are `numpy`, `scipy`, - `astropy`, and the lightweight shared core `aocore` (pinned `>=0.1.2,<0.2`; imported + `astropy`, and the lightweight shared core `aocore` (pinned `>=0.1.2,<0.3`; imported at module top level, ~10 ms beyond NumPy), plus the `tomli` backport on <3.11. `astropy` became core at the 2.0 cut (FITS I/O, WCS pixel↔world projection, catalogs); still import it *lazily* inside the functions that use it (it is slow to import) — never at module top level, so diff --git a/CHANGELOG.md b/CHANGELOG.md index 599592c..beef7a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [2.6.1] - 2026-10-11 + +### Fixed + +- Allow aocore 0.2 (`aocore>=0.1.2,<0.3`). aocore 0.2.0 is additive and the + test suite passes against it; the old `<0.2` cap made getframes impossible to + install next to packages that need aocore 0.2 (e.g. shmpipeline-ao 0.2). + ## [2.6.0] - 2026-10-10 ### Added @@ -752,7 +760,9 @@ together in 1.0. - Documentation, runnable examples, and CI (lint, type-check, test matrix, PyPI release via Trusted Publishing). -[Unreleased]: https://github.com/jacotay7/getframes/compare/2.5.0...HEAD +[Unreleased]: https://github.com/jacotay7/getframes/compare/2.6.1...HEAD +[2.6.1]: https://github.com/jacotay7/getframes/compare/v2.6.0...2.6.1 +[2.6.0]: https://github.com/jacotay7/getframes/compare/2.5.0...v2.6.0 [2.5.0]: https://github.com/jacotay7/getframes/compare/2.4.0...2.5.0 [2.4.0]: https://github.com/jacotay7/getframes/compare/2.3.0...2.4.0 [2.3.0]: https://github.com/jacotay7/getframes/compare/2.2.0...2.3.0 diff --git a/pyproject.toml b/pyproject.toml index 4eb6eec..c5219bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ classifiers = [ ] dynamic = ["version"] dependencies = [ - "aocore>=0.1.2,<0.2", + "aocore>=0.1.2,<0.3", "numpy>=1.23", "scipy>=1.10", "astropy>=5.0", @@ -46,7 +46,7 @@ dependencies = [ [project.optional-dependencies] dev = [ # The test suite runs aocore's image-builder conformance checks (0.1.3+). - "aocore>=0.1.3,<0.2", + "aocore>=0.1.3,<0.3", "pytest>=7.0", "pytest-cov>=4.0", "ruff>=0.6", diff --git a/src/getframes/__about__.py b/src/getframes/__about__.py index 61b2727..d829337 100644 --- a/src/getframes/__about__.py +++ b/src/getframes/__about__.py @@ -1,4 +1,4 @@ # SPDX-License-Identifier: MIT """Single source of truth for the package version.""" -__version__ = "2.6.0" +__version__ = "2.6.1"