Changelog
All notable changes to propeller-v2-cms-vue 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.6] - 2026-10-30
Changed
- Docs use the published package names (PWP-1087). README and docs-site
install and import lines now name
@propeller-commerce/propeller-v2-cms-vue,@propeller-commerce/propeller-v2-core-uiand@propeller-commerce/propeller-sdk-v2, installed from npm. The README gains an Install section. - No unpublished adapters, no sign-in links (PWP-1088). The README and docs
site no longer tell you to install or import a Strapi adapter package that is
not on npm; they point at the
CmsAdaptercontract and the CMS providers in the public Vue boilerplate. The README link to the adapter repository is gone, the other links go to the public GitHub repositories, the package description no longer mentions adapter packages, andpackage.jsongains arepositoryfield. provideCmsAdapter()docs match its signature. It takes only the adapter and is called from a component'ssetup(); app-level wiring usesapp.provide(CmsAdapterKey, adapter).
[0.1.5] - 2026-08-05
Changed
-
Widened the
propeller-v2-core-uipeer range to>=0.2.4(was>=0.2.4 <0.4). The upper bound forced npm to install a second, older core-ui at the tree root whenever another package required a newer one, and an app importing core-ui directly then resolved that older copy — reaching for an export that only exists in the newer version and failing the build.The bound was never protecting anything: this package imports only types from core-ui (
CmsAdapter,CmsBlock,CmsPage,CmsRichPage,CmsMenuItem,CmsGlobals,CmsFetchOptions), all of which are unchanged across every 0.x release in the range. Dropping the ceiling lets one core-ui satisfy the whole tree. Removing it entirely, rather than raising it to the next minor, stops this recurring each time core-ui ships a feature.Matches
propeller-v2-cms-react0.1.5.
[0.1.4] - 2026-07-24
Added
<CmsBlock>/<CmsPageRenderer>now render typed blocks (CmsTypedBlock, discriminated by_typewith spread fields) in addition to the flat{ type, data }adapter blocks. The renderer resolves the discriminator as_type ?? typeand passes the whole block through as:block, so aCmsProvider.getPage→CmsRichPageresult renders directly.<CmsPageRenderer>pageprop now acceptsCmsPage | CmsRichPage. Backward-compatible: flat blocks keyed bytypestill work unchanged.
[0.1.3] - 2026-07-24
Changed
- Widened the
@propeller-commerce/propeller-v2-core-uipeer range to>=0.2.4 <0.4so the package installs cleanly alongside core-ui 0.3.x (as pulled in bypropeller-v2-vue-ui0.4.x). All core-ui imports are type-only and the CMS contract types are unchanged across 0.2→0.3, so this is a peer-range fix only — no runtime or API change. Dev deps bumped to core-ui^0.3.1/ SDK^0.13.0to build against the current line.
[0.1.2] - 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.1] - 2026-06-02
Added
- Docusaurus documentation site under
docs/, deployed to https://propeller-commerce.github.io/propeller-v2-cms-vue/ via a new.github/workflows/docs.ymlGitHub Action (build + GitHub Pages deploy). Covers getting-started, the<CmsAdapterProvider>/provideCmsAdapter()/<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 Vue layer over the framework-agnostic
CmsAdapter contract from propeller-v2-core-ui. Mirrors the React
counterpart (propeller-v2-cms-react).
Added
<CmsAdapterProvider :adapter="...">— wires aCmsAdapterinstance into the Vue tree. Wire at the app root, alongside thepropellerVueplugin. Passnullfor shops without a CMS — the catch-all CMS route returns 404 and the homepage renders its static fallback. Nothing breaks downstream.provideCmsAdapter(adapter)— composable-style alternative to the provider component, for shops that prefer wiring throughsetup()orapp.runWithContext.useCms()— read the installed adapter via inject. 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 views, not call this composable.<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 render nothing in 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).vue≥ 3.4.