diff --git a/CHANGELOG.md b/CHANGELOG.md index adb190c..2435807 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,16 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Changed +Nothing yet. + +## [1.0.1] - 2026-07-29 + +### Fixed - `Singleton` returns to the ecosystem-standard storage shape: `protected static $instance`, stored by `get_instance()` once the constructor returns. The class-string-keyed private map introduced for 1.0.0 broke a real consumer contract — a heavy constructor assigning `static::$instance = $this;` - first so work done during construction can re-enter `get_instance()`. That - early-assignment guard is now the documented, tested pattern. Trade-off, also - documented on the trait: a class using the trait and its subclasses share one - storage slot, so do not call `get_instance()` on a subclass of a singleton. + first so work done during construction can re-enter `get_instance()`, which + fataled theme-elementary on 1.0.0 with "Access to undeclared static property". + That early-assignment guard is now the documented, tested pattern. Trade-off, + also documented on the trait: a class using the trait and its subclasses share + one storage slot, so do not call `get_instance()` on a subclass of a singleton. ## [1.0.0] - 2026-07-28 @@ -60,5 +65,6 @@ Initial release. Requires PHP 8.2+. - Reference documentation under `docs/`, a GPL-2.0-or-later `LICENSE.md`, and a WordPress integration test suite running against `@wordpress/env`. -[Unreleased]: https://github.com/rtCamp/wp-framework/compare/v1.0.0...HEAD +[Unreleased]: https://github.com/rtCamp/wp-framework/compare/v1.0.1...HEAD +[1.0.1]: https://github.com/rtCamp/wp-framework/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/rtCamp/wp-framework/releases/tag/v1.0.0