Kit Updated: 2026.5.6

Back to Blog

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

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.