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.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.