Skip to content

v0.3.4

Choose a tag to compare

@chad-hill chad-hill released this 18 Jun 22:22
· 28 commits to main since this release

A small but breaking release: @pro-laico/core's pluginComposer is removed in favor of composing plugins explicitly, the cache revalidation hooks move to post-commit afterChange, and the docs get a broad accuracy and clarity pass.

Breaking: pluginComposer removed from @pro-laico/core

pluginComposer is gone — along with DEFAULT_ATOMIC_HOOK_SLUGS and the PluginComposerOptions / AtomicWiringOptions / PluginComposerRevalidateOptions types. Its trailing finalizer sprayed revalidation hooks onto every collection and global, which was redundant (each @pro-laico/* collection and global already bakes its own) and wired to the deprecated pre-commit beforeChange variants — double-revalidating and risking a stale-read race.

Migrate by composing plugins as a plain Plugin[] and wiring the two cross-cutting concerns explicitly: bake the shared atomicHook through each owning plugin's option (stylesPlugin({ atomicHook }) for the design/shortcut sets, iconSetOptions.hooks for the icon set; sitePlugin already bakes it on pages/header/footer), and use revalidationPlugin({ collectionSlugs: [...] }) for any third-party collections (e.g. the form builder's forms / form-submissions). See the atomic-payload template's src/plugins/index.ts.

Changed

  • revalidationPlugin now attaches the post-commit afterChange revalidation hooks instead of beforeChange, so a concurrent read can no longer re-cache a document before its write commits.
  • Documentation facelift across the site: accuracy fixes, leaner plugin reference pages, rewritten/expanded feature guides, and new getting-started/project-structure and features/seeding pages.

Full changelog: v0.3.3...v0.3.4