Repository navigation
Mosaic 0.3.0
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 theorg.buildmosaic.analysisGradle plugin. APPLICATIONanalysis roots andLIBRARYcontract export. Published library
contracts can be checked when an application consumes them.STANDARDenforcement, which warns on unverifiable paths, andSTRICT
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 alignmosaic-coreand
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.