docs: add the 1.0.1 changelog entry - #83
Merged
Merged
Conversation
Moves the Singleton storage restoration from [Unreleased] into a dated 1.0.1 section, under Fixed rather than Changed — the release exists because 1.0.0 broke a consumer contract, and the entry now names the concrete symptom (theme-elementary fataling on an undeclared static property).
pratik-londhe4
approved these changes
Jul 29, 2026
There was a problem hiding this comment.
Pull request overview
Note
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Updates the changelog in preparation for the v1.0.1 tag by moving the Singleton entry out of [Unreleased] into a dated 1.0.1 section and adjusting compare links accordingly.
Changes:
- Adds a new
## [1.0.1] - 2026-07-29release section and leaves[Unreleased]empty. - Reclassifies the entry under
### Fixedand adds a concrete reported symptom/error. - Updates link references for
[Unreleased]and adds[1.0.1]compare link.
Comment on lines
+20
to
+21
| 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". |
Comment on lines
16
to
+20
| - `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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Docs only — moves the
[Unreleased]Singleton entry into a dated## [1.0.1] - 2026-07-29section so I can tag the release with a finished changelog.Changes
[1.0.1]section, dated today.### Fixedinstead of### Changed— this release exists because 1.0.0 broke a consumer contract (theme-elementary fatals on boot with Access to undeclared static property), so Fixed is the honest heading. Matches thefix(singleton)!commit from fix(singleton)!: restore protected static $instance storage #82.[Unreleased]compares fromv1.0.1, new[1.0.1]ref comparesv1.0.0...v1.0.1.Next
Once this is in, I'll tag
v1.0.1on the merge commit and cut the release, then bump the lock files on theme-elementary#747 and features-plugin-skeleton#734 to pick it up.