From 7852c791736eebfe05d476f5df08312166c0c7e2 Mon Sep 17 00:00:00 2001 From: Aryan Jasala Date: Tue, 28 Jul 2026 01:11:33 +0530 Subject: [PATCH 1/2] docs: add the 1.0.0 changelog entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fills in the release section ahead of tagging v1.0.0. Contents are the public surface as it stands on main: the three loaders, the container/contracts and Singleton, the ten abstract base classes, and the six utilities. Written as a plain initial-release entry — a first release has nothing to have changed from, so behaviour that landed during the run-up is described as part of the feature rather than split into Changed/Fixed sections. The date is a placeholder; set it to the actual tag date. The compare/release links assume the tag is `v1.0.0`. --- CHANGELOG.md | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5bfa72..849cd42 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +Nothing yet. + +## [1.0.0] - 2026-07-28 + +Initial release. Requires PHP 8.2+. + ### Added -- Initial public changelog. Entries land here under `## [Unreleased]` and are - moved into a dated, versioned section when a release is tagged. -[Unreleased]: https://github.com/rtCamp/wp-framework/commits/main +- **Loaders** + - `AssetLoader` — registers scripts, styles and script modules from a build + directory, reading dependencies and versions from the generated + `*.asset.php` manifests, with a `handle()` helper for namespaced handles. + - `TemplateLoader` — locates and renders templates across the child theme, + parent theme and the package's own directory, honouring WordPress' + `locate_template()` precedence, with a per-request location cache. + - `ComponentLoader` — resolves and renders self-contained component packages + across the same hierarchy and registers their assets on demand. Render and + asset hooks are namespaced per loader context, so one package's listeners + never fire for another's. +- **Composition** + - `Container` and the `Loader` trait — instantiate a list of classes, register + hooks for anything `Registrable`, and cache anything `Shareable`. + - Contracts: `Registrable`, `ConditionallyRegistrable`, `Shareable`, + `CLICommand`. + - `Singleton` trait, storing one instance per concrete class so a parent and + subclass never share one. +- **Abstract base classes** — `AbstractModule`, `AbstractFeature`, + `AbstractBlock`, `AbstractPostType`, `AbstractTaxonomy`, `AbstractUserRole`, + `AbstractShortcode`, `AbstractAdminPage`, `AbstractSettingsPage` and + `AbstractRESTController`. +- **Utilities** + - `Cache` — object-cache wrapper with group namespacing and opt-in + stale-while-revalidate. + - `Encryptor` — authenticated encryption (AES-256-GCM by default), injectable + per key domain, with a `key()` seam for sourcing secrets from a KMS or + environment. Secrets of any length are derived to a full cipher-length key. + - `FeatureSelector` and `FeatureSelectorSettingsPage` — feature flags stored in + a single option, overridable by PHP constants for hard locks. + - `Transients` — prefix-namespaced transient access. + - `Timer` — named, multi-scope timing. + - `Logger` — levelled logging. +- Reference documentation under `docs/`, a GPL-2.0-or-later `LICENSE`, and a + WordPress integration test suite running against `@wordpress/env`. + +[Unreleased]: https://github.com/rtCamp/wp-framework/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/rtCamp/wp-framework/releases/tag/v1.0.0 From daa034430e5baf6f092dec7f9f749e42d8f47194 Mon Sep 17 00:00:00 2001 From: Aryan Jasala Date: Tue, 28 Jul 2026 01:14:23 +0530 Subject: [PATCH 2/2] docs: update the Changelog content Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 849cd42..0399370 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,7 +48,7 @@ Initial release. Requires PHP 8.2+. - `Transients` — prefix-namespaced transient access. - `Timer` — named, multi-scope timing. - `Logger` — levelled logging. -- Reference documentation under `docs/`, a GPL-2.0-or-later `LICENSE`, and a +- 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