Changelog
All notable changes to propeller-v2-cms-react are documented here.
The format is based on Keep a Changelog,
and the project aims to follow Semantic Versioning
once it reaches 1.0. Until then (the 0.x line) the public API may change
between minor versions; breaking changes are called out in this file.
[0.1.3] - 2026-07-08
Changed
- Bumped the
@propeller-commerce/propeller-sdk-v2dev dependency to^0.12.0to build and test against the SDK's 0.12.0 release. No API change.
[0.1.2] - 2026-06-24
Documentation
- Corrected the README's adapter story. It told users to
import { createStrapiAdapter } from 'propeller-v2-cms-adapter-strapi', but nopropeller-v2-cms-adapter-*package is published. This package is adapter-agnostic: the minimal usage now shows supplying your ownCmsAdapter(getPage / getMenu / getGlobals), and points at the Propeller Next boilerplate's built-inlib/cmsproviders (Strapi + Prepr, selected byCMS_PROVIDER) as the ready-made option. Removed the deadcms-adapter-strapilink and updated the package description. - Added a link to the canonical docs site (https://propeller-commerce.github.io/propeller-v2-cms-react/).
[0.1.1] - 2026-06-02
Added
- Docusaurus documentation site under
docs/, deployed to https://propeller-commerce.github.io/propeller-v2-cms-react/ via a new.github/workflows/docs.ymlGitHub Action (build + GitHub Pages deploy). Covers getting-started, the<CmsAdapterProvider>/<CmsPageRenderer>/<CmsBlock>/useCms()APIs, and patterns for homepage fallback, catch-all routing, preview mode, multi-locale, and per-block data fetching. release_to_githubstage in.gitlab-ci.yml— automatic GitHub Release on everyRelease X.Y.Zpush, mirroring the SDK pattern.
Notes
No runtime / public-API changes — this is a tooling release that backfills documentation + release automation for the existing 0.1.0 surface. Consumers do not need to update.
[0.1.0] - 2026-06-01
Initial release. A small React layer over the framework-agnostic
CmsAdapter contract from propeller-v2-core-ui.
Added
<CmsAdapterProvider adapter={...}>— wires aCmsAdapterinstance into the React tree. Wire once at the app root, alongside<PropellerDepsProvider>. Passnullfor shops without a CMS — the catch-all CMS route returns 404 and the homepage renders its static fallback. Nothing breaks downstream.useCms()— read the installed adapter from context. Returnsnullwhen the shop wasn't configured with a CMS. Intended for client islands that need optional adapter access (preview banners, edit-this-page links). Server data fetchers should construct the adapter directly and pass results into pages, not call this hook.<CmsPageRenderer page={...} renderers={...}>— renders aCmsPage's block list. Iteratespage.blocks, dispatches each block through<CmsBlock>.<CmsBlock block={...} renderers={...} debug={...}>— single-block dispatcher. Takes arenderersmap keyed byblock.type. Unknown block types rendernullin prod, or a visible debug box whendebugis true. Block components are the shop's responsibility — this package ships none, because brand styling, layout, and content shape vary too much to share.
Requires
propeller-v2-core-ui≥ 0.2.0 (for theCmsAdapter,CmsPage,CmsBlockcontract).react≥ 18.