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 focuses on compiler correctness, incremental interpreter work, and release and build reliability. The headline compiler change is partial per-module incremental recompilation for the interpreter, backed by fragment-cache manifests that can discover implicit standard-library origins. Imported bindings now keep their global origin paths even when no global value is present.

The release also fixes several edge cases: cache-loaded IL fragment lifetime handling, partition global module record initialization, imported constants in codegen partition mode, artifact invalidation in the codegen graph, relinking when a stable artifact is missing, and a debug allocator crash in collectLintDiagnostics with warnings. On the build side, native package builds now use C++20, CI skips test jobs on release tags, Zig installer and toolchain setup are more resilient, managed Zig downloads for packages are more robust, Zig downloads now show progress, Git validation avoids captured output, and installed stdlib sync works correctly.

Release Snapshot

  • Release: v2026.5.6
  • Date: May 6, 2026
  • Changelog entries: 25
  • Primary areas: incremental interpreter recompilation, fragment cache manifests, codegen artifact invalidation and relinking, partitioned globals and constants, debug allocator diagnostics, native package C++20 builds, CI and managed Zig downloads, Git validation, installed stdlib sync

What Changed

The incremental compiler work makes partial interpreter rebuilds easier to reuse safely. Fragment cache manifests record implicit standard-library origins, imported bindings retain their origin paths even without global values, and cache-loaded IL fragments no longer hit a use-after-free bug.

The codegen fixes close correctness gaps around partitioned globals, imported constant values, artifact invalidation, and stable artifact relinking. The release also adds an end-to-end integration test for the partial lowering pipeline and fixes a debug-allocator crash in lint diagnostics.

The build and CI changes make release automation less brittle: native package builds use C++20, CI test jobs are skipped on release tags, CI jobs share the Zig toolchain, Zig installer downloads use verified mirrors and skip bad mirrors faster, managed Zig downloads for packages are improved, and release Zig toolchain setup is hardened. The release also shows Zig download progress, avoids captured output during Git validation, and fixes installed stdlib sync.

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.