Skip to content

Commit 516c550

Browse files
authored
release: prepare 0.12.0 (#270)
1 parent 6bb8278 commit 516c550

13 files changed

Lines changed: 153 additions & 21 deletions

File tree

CHANGELOG.md

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.12.0] - 2026-07-13
11+
1012
### Added
1113

1214
- Added typed literal modifiers to `{% block %}` and `{% fragment %}`
@@ -43,6 +45,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4345
stable `K-A11Y-*`, `K-TYP-*`, and `K-PATH-001` mappings. Accessibility,
4446
template-declaration type, and fragile-path findings expose computed `code`
4547
properties without changing their constructor fields or CLI behavior.
48+
- Added K-WARN-002 detection for a Jinja `{% set %}` binding read after an
49+
`if` block, including nested branches, named blocks, and later reads in the
50+
same loop iteration. The advisory remains default-on and has no safe edit.
51+
52+
### Changed
53+
54+
- GitHub pull-request release-note collection now uses typed, fixture-tested
55+
Python with pagination, report-contract validation, and explicit failures for
56+
malformed responses or invalid ref ranges. (`#139`)
57+
- The README and thread-safety contract now link the required Python 3.14t
58+
no-GIL pull-request lane and scheduled seeded debug-runtime stress evidence.
59+
(`#158`)
60+
- Split the CLI monolith into private command-owned modules behind the unchanged
61+
`kida.cli:main` entry point. Argument parsing, lazy dispatch, execution, and
62+
structured presentation now have direct test seams; all eight commands keep
63+
their flags, help, streams, serialized shapes, and exit statuses. Focused CLI
64+
line/branch coverage rose from 53.7% to 94.7%, cold-start medians did not
65+
regress, and no dependency was added.
66+
- Split compiler lowering, analysis, callable plans, block variants, and
67+
partial-evaluation tests into phase-owned modules without changing generated
68+
output, render surfaces, or the zero-dependency runtime.
69+
70+
### Fixed
71+
72+
- Shared `DependencyWalker`, `PurityAnalyzer`, and `BlockAnalyzer` instances
73+
now isolate traversal state across concurrent calls. Thread-safety docs define
74+
the stable-source boundary for loaders and read-only metadata mappings. (`#158`)
75+
- K-WARN-002 now matches Jinja's block-sensitive assignment behavior: it warns
76+
for outer-name shadows in non-scoping `if` branches and avoids false positives
77+
for loop-local `for` assignments. (`#253`, `#255`)
78+
- Live renderer updates are serialized under free-threading, and seeded no-GIL
79+
stress coverage now exercises shared templates, caches, registries, coverage
80+
instrumentation, runtime debugging, and analysis.
81+
- Streaming error boundaries inside named blocks now preserve fallback behavior
82+
across the synchronous and asynchronous render surfaces.
4683

4784
## [0.11.0] - 2026-07-07
4885

@@ -53,12 +90,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5390

5491
### Changed
5592

56-
- Split the CLI monolith into private command-owned modules behind the unchanged
57-
`kida.cli:main` entry point. Argument parsing, lazy dispatch, execution, and
58-
structured presentation now have direct test seams; all eight commands keep
59-
their flags, help, streams, serialized shapes, and exit statuses. Focused CLI
60-
line/branch coverage rose from 53.7% to 94.7%, cold-start medians did not
61-
regress, and no dependency was added.
6293
- Hardened GitHub release automation so releases fail before publishing when the
6394
worktree, main commit, tag, or curated release notes do not match. (`#134`)
6495
- Consolidated duplicate ty checks into the report-producing `Type Check (ty)`

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,9 @@ for structured diagnostics and source-attribution hardening.
395395
Moving from 0.10.x? See the [0.11 release notes](https://lbliii.github.io/kida/releases/0.11.0/)
396396
for framework quickstarts, release hardening, and internal compiler modularization.
397397

398+
Moving from 0.11.x? See the [0.12 release notes](https://lbliii.github.io/kida/releases/0.12.0/)
399+
for programmatic diagnostics, literal block metadata, and expanded free-threading proof.
400+
398401
## Python Components Ecosystem
399402

400403
Kida is the component layer in a broader pure-Python stack built for 3.14t

changelog.d/139.changed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

changelog.d/158.changed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

changelog.d/158.fixed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

changelog.d/253.fixed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

changelog.d/254.added.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

changelog.d/255.added.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

changelog.d/268.added.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "kida-templates"
7-
version = "0.11.0"
7+
version = "0.12.0"
88
description = "Server-side components for Python with typed props, named slots, and static validation — no npm or build step"
99
readme = "README.md"
1010
requires-python = ">=3.14"

0 commit comments

Comments
 (0)