Skip to content

Mosaic 0.3.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 09:40
· 79 commits to main since this release
0b3cc46

Mosaic 0.3.0 release notes

The 0.3.0 changelog entry is the source for the user-facing
change list and the future GitHub Release text. Its release date is
2026-09-23.

Mosaic 0.3.0 brings optional static Canvas contract analysis to the existing
runtime. Applications can verify configured roots; libraries can export
contracts for consumers. Users choose STANDARD or STRICT enforcement.
Analysis runs with normal Kotlin compilation and requires no second production
compiler invocation.

For installation, see the runtime quick start and
analysis plugin guide. The analysis
plugin supports Kotlin/JVM 2.2.10 only within its documented pure main
source boundary. The runtime works without the analysis plugin or a Mosaic KSP
processor.

[0.3.0] - 2026-09-23

Added

  • Optional static Canvas contract analysis for supported Kotlin/JVM applications
    through the org.buildmosaic.analysis Gradle plugin.
  • APPLICATION analysis roots and LIBRARY contract export. Published library
    contracts can be checked when an application consumes them.
  • STANDARD enforcement, which warns on unverifiable paths, and STRICT
    enforcement, which also fails on those paths. Both fail proven missing Canvas
    requirements.
  • Same-version analysis support and compiler artifacts for the Gradle plugin to
    resolve automatically.

Changed

  • Analysis extracts contracts incrementally during normal Kotlin compilation;
    production builds do not launch a second Mosaic compiler process.
  • Mosaic runtime use no longer requires the old Mosaic registration plugins or
    KSP processors. The runtime BOM continues to align mosaic-core and
    mosaic-test.
  • Low-level dependency-provider and analysis-extractor implementation types are
    no longer part of the Kotlin source API.

Fixed

  • Child Canvas construction can resolve bindings from its parent Canvas.
  • Concurrent tile composition shares cached and in-flight results safely.
  • Published runtime and test dependencies expose the coroutine libraries needed
    to compile against their public APIs.

Analysis limits

Analysis is optional and currently supports Kotlin/JVM 2.2.10 only within
the documented pure main project boundary.