Back to changelog index

4.0.23

May 25, 2026 · 6 packages · 10 unique changes · 4 release entries

appsbundlesmodulesBreaking changes

This release affects the solutions family.

Run contractspec connect adoption resolve --family solutions to see how it impacts your project.

Release summaries

  • priority-template-inline-previews

    Expose deterministic package-native inline previews for priority template examples in web landing template previews.

    maintainer

    Deterministic package-native inline previews for priority template examples. Priority template previews are deterministic local UI only; no live providers, provider credentials, or production endpoints are introduced.

    customer

    Users can now see deterministic inline previews for priority template examples in web landing template previews.

    integrator

    Integrators can use priority template previews with deterministic local UI. CompanyOS Product Engineering Loop keeps its package no-UI guardrail; its preview is an approved module/examples replay adapter.

  • restore-web-landing-examples

    Restore the public web-landing templates and examples surfaces so non-internal examples render in the templates catalog, docs routes, sitemap, and sandbox fallback previews.

    maintainer

    Example discovery now has explicit non-internal registry helpers, and web-landing consumes those helpers for templates, docs route generation, sitemap entries, and sandbox fallback behavior.

    integrator

    Integrators can use the new `@lssm-tech/module.examples` helpers to list discoverable examples and template examples without reimplementing visibility and surface filtering.

    customer

    The public website now shows the full non-internal template catalog, generates example docs for experimental examples, and keeps sandbox template pages useful even when a bespoke interactive preview is unavailable.

  • unbundle-examples-runtime

    Split example discovery from rich runtime packages so lightweight consumers no longer install every ContractSpec example.

    integrator

    `@lssm-tech/module.examples` root imports now expose catalog metadata only; rich runtime helpers moved to `@lssm-tech/module.examples/runtime`.

    integrator

    CLI installs avoid the full example dependency set and can fetch a selected example source on demand with `contractspec examples download <key>`.

  • unify-example-previews

    Unify example preview metadata so templates, docs, sandbox, and mobile preview routes derive preview support from shared example registry data instead of hand-maintained lists.

    maintainer

    Preview wiring now comes from shared example preview surface helpers, and UI-backed example packages must expose `entrypoints.ui` in their exported `ExampleSpec`.

    integrator

    Integrators consuming public example metadata can now detect inline-preview capability and fallback preview links through `@lssm-tech/module.examples`, and every public example now has a first-party `/docs/examples/<key>` route in web-landing.

    customer

    The public site now provides richer template previews and full docs-example coverage, while the mobile demo exposes every discoverable example through in-app native previews with richer panels for exported sample-data examples.

Migration guide

  • Import rich example runtime helpers from the runtime subpath

    Required

    Replace runtime imports such as `TemplateRuntimeProvider`, `listTemplates`, and inline preview loaders from `@lssm-tech/module.examples` with `@lssm-tech/module.examples/runtime`.

  • Use catalog imports for metadata-only example discovery

    Required

    Import `listExamples`, `getExample`, `searchExamples`, route helpers, and source metadata from `@lssm-tech/module.examples/catalog` when runnable example code is not needed.

  • Declare `entrypoints.ui` for UI-backed example packages

    Any published example that exports `./ui` should also advertise that UI surface in its `ExampleSpec` entrypoints so preview tooling can discover it.

    When: When adding or updating a published example package with a reusable UI export.

    1. Add `ui: './ui'` to the example's `entrypoints` object in `src/example.ts`.
    2. Update `scripts/generate-example-registry.ts` if the package needs a non-default preview component export.
    3. Regenerate the example registries before publishing.

Upgrade steps

  • Explore priority template inline previews

    auto

    Priority template previews are deterministic local UI only; no live providers, provider credentials, or production endpoints are introduced.

    Packages: @lssm-tech/module.examples, @lssm-tech/app.web-landing, @lssm-tech/bundle.marketing, @lssm-tech/example.special-ops-cockpit, @lssm-tech/example.communication-os, @lssm-tech/example.billingos-france-sme, @lssm-tech/example.content-generation, @lssm-tech/example.project-management-sync, @lssm-tech/example.service-business-os

    1. Visit the web landing template previews to see deterministic inline previews.
    2. CompanyOS Product Engineering Loop preview is available as an approved module/examples replay adapter.
  • Prefer explicit example discovery helpers

    assisted

    Consumers that need public web-facing example lists should use the new helpers instead of filtering `listExamples()` manually.

    Packages: @lssm-tech/module.examples, @lssm-tech/bundle.marketing, @lssm-tech/bundle.library, @lssm-tech/app.web-landing

    1. Use `listDiscoverableExamples()` for docs and sitemap surfaces that should include non-internal examples with usable public surfaces.
    2. Use `listTemplateExamples()` for template catalogs.
    3. Keep `listPublicExamples()` only when the narrower `visibility: public` subset is required.
  • Regenerate preview metadata after adding UI-backed examples

    assisted

    Keep the generated preview registry aligned with the workspace examples.

    Packages: @lssm-tech/module.examples, @lssm-tech/bundle.marketing, @lssm-tech/bundle.library, @lssm-tech/app.web-landing, @lssm-tech/app.expo-demo, @lssm-tech/example.agent-console, @lssm-tech/example.ai-chat-assistant, @lssm-tech/example.analytics-dashboard, @lssm-tech/example.crm-pipeline, @lssm-tech/example.integration-hub, @lssm-tech/example.learning-journey-registry, @lssm-tech/example.marketplace, @lssm-tech/example.policy-safe-knowledge-assistant, @lssm-tech/example.saas-boilerplate, @lssm-tech/example.workflow-system

    1. Run `bun scripts/generate-example-registry.ts --write`.
    2. Re-run preview tests in `packages/modules/examples`, `packages/bundles/marketing`, and `packages/bundles/library`.
    3. Verify `/templates`, `/docs/examples/<key>`, `/sandbox?template=<key>`, mobile `/examples`, compatibility `/examples-preview`, and mobile `example-preview?exampleKey=<key>` render the expected inline, fallback, or native preview action.

Unique release changes

  • - Any published example that exports `./ui` should also advertise that UI surface in its `ExampleSpec` entrypoints so preview tooling can discover it.

    5 packages · 5 occurrences

  • - Keep the generated preview registry aligned with the workspace examples.

    5 packages · 5 occurrences

  • - Unify example preview metadata so templates, docs, sandbox, and mobile preview routes derive preview support from shared example registry data instead of hand-maintained lists.

    5 packages · 5 occurrences

  • - Consumers that need public web-facing example lists should use the new helpers instead of filtering `listExamples()` manually.

    4 packages · 4 occurrences

  • - Import `listExamples`, `getExample`, `searchExamples`, route helpers, and source metadata from `@lssm-tech/module.examples/catalog` when runnable example code is not needed.

    4 packages · 4 occurrences

  • - Replace runtime imports such as `TemplateRuntimeProvider`, `listTemplates`, and inline preview loaders from `@lssm-tech/module.examples` with `@lssm-tech/module.examples/runtime`.

    4 packages · 4 occurrences

  • - Restore the public web-landing templates and examples surfaces so non-internal examples render in the templates catalog, docs routes, sitemap, and sandbox fallback previews.

    4 packages · 4 occurrences

  • - Split example discovery from rich runtime packages so lightweight consumers no longer install every ContractSpec example.

    4 packages · 4 occurrences

  • - Expose deterministic package-native inline previews for priority template examples in web landing template previews.

    3 packages · 3 occurrences

  • - Priority template previews are deterministic local UI only; no live providers, provider credentials, or production endpoints are introduced.

    3 packages · 3 occurrences

Impacted packages

  • @lssm-tech/app.cli-contractspec

    Layer: apps · 3 changes

  • @lssm-tech/app.expo-demo

    Layer: apps · 3 changes

  • @lssm-tech/app.web-landing

    Layer: apps · 3 changes

  • @lssm-tech/bundle.library

    Layer: bundles · 3 changes

  • @lssm-tech/bundle.marketing

    Layer: bundles · 3 changes

  • @lssm-tech/module.examples

    Layer: modules · 3 changes