This post covers Kit v2026.5.6. The detailed notes below come from the project changelog.
Kit 2026.5.6 is a compiler, incremental compilation, and build hardening release. It
adds partial per-module incremental recompilation for the interpreter, adds a manifest file for
per-module fragment caches, and preserves global origin paths for imported bindings without global
values.
The release also fixes cache-loaded IL fragment lifetime handling, partition global module record initialization, codegen partition mode for imported constant values, missing artifact invalidation in the codegen graph, and relinking when a stable artifact is missing. Native package builds now use C++20, and release-tag CI skips test jobs.
Release Snapshot
- Release: v2026.5.6
- Date: May 6, 2026
- Changelog entries: 13
- Primary areas: partial per-module interpreter recompilation, fragment cache manifests, codegen artifact invalidation, partitioned globals and constants, native package C++20 builds, release-tag CI
What Changed
The incremental compiler work centers on making per-module interpreter recompilation more practical. Fragment cache manifests now track implicit standard-library origins, imported bindings preserve their global origin paths even when they do not carry global values, and cache-loaded IL fragments no longer hit a use-after-free path.
The codegen fixes close correctness holes around partitioned globals, imported constant values, missing artifact invalidation, and stable artifact relinking. An end-to-end integration test now covers the partial lowering pipeline.
The build and CI updates use C++20 for native package builds, skip CI test jobs on release tags, and
fix a debug-allocator crash in collectLintDiagnostics when warnings are present.
Release Highlights
- Add partial per-module incremental recompilation for the interpreter.
- Add fragment cache manifests for implicit standard-library origins.
- Fix cache-loaded IL fragment lifetime handling.
- Fix codegen artifact invalidation, stable artifact relinking, and partition imported constants.
- Use C++20 for native package builds and skip CI test jobs on release tags.
Exact Changelog
The list below matches the 2026.5.6 changelog entry, with each short SHA linked to the
corresponding GitLab commit in kit-lang.
- Skip CI test jobs on release tags (46ebb3d)
- Use C++20 for native package builds (bcfacd7)
- Fix partition global module record initialization (b68e375)
- Partial per-module incremental recompilation for interpreter (8551d81)
- Fix codegen partition mode for imported constant values (ba01e52)
- Add end-to-end integration test for partial lowering pipeline (9900616)
- Fix debug-allocator crash in collectLintDiagnostics with warnings (424b5d8)
- feat: manifest file for per-module fragment cache to discover implicit stdlib origins (cb982d0)
- fix: preserve global origin paths for imported bindings without global values (fd3d8cc)
- Bumped Kit version to 2026.5.5 (22e4466)
- fix: prevent use-after-free in cache-loaded IL fragments (2d489f8)
- fix: ArtifactGraphBuilder test assertions and codegen relinking when stable artifact is missing (3547466)
- Fix missing artifact invalidation in codegen graph (26a9535)