Skip to content

0.18.2 - #80

Merged
rmichaelthomas merged 1 commit into
mainfrom
release/0-18-2
Sep 12, 2026
Merged

rmichaelthomas merged 1 commit into
mainfrom
release/0-18-2

Conversation

@rmichaelthomas

Copy link
Copy Markdown
Owner

Cuts the release for four behaviour changes that have been sitting on main since 0.18.1 shipped on 2 August.

Commit Change
a365214 includes refuses a field the schema says is a scalar. Before this, filter the orders where title includes "roof" validated clean, emptied a two-record list, and reported success.
f9f0909 a fired prohibition reaches the process exit status; includes after where survives the reorderer
8963d13 a quoted value shadowing a declared predicate keeps its quotes through canonical rendering — require total is "large" was rendering as require total is large, which re-parses as a predicate application

Plus the conformance corpus (e6195c4) and the node-kind gate over it (6526b0a), which is what found the last of those.

The fixture rename

tests/fixtures/conformance-0.18.1.json → conformance-0.18.2.json. It is named for the version it describes, and test_the_generated_fixture_matches_the_version_it_was_generated_from requires one matching pyproject.toml. Renamed rather than duplicated; contents unchanged apart from language_version, since the bump itself changes no behaviour.

Verification

1902 tests pass. The corpus gate is green at the new version (57 cases, node coverage 39 of 43).

Follow-up

@liminate/ts-validator carries its own copy of the fixture, still named conformance-0.18.1.json. A PR renaming it follows — no content change there either, but leaving the name stale is exactly the class of drift the corpus exists to stop.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E6qcDj1e1dEYvc8jLnpGZy

Four behaviour changes have been sitting on main since 0.18.1 shipped on
2 August, and one of them prevents a silent wrong answer:

- `includes` refuses a field the schema says is a scalar (a365214). Before
  this, `filter the orders where title includes "roof"` validated clean,
  emptied a two-record list, and reported success.
- A fired prohibition reaches the process exit status, and `includes` after
  `where` survives the reorderer (f9f0909).
- A quoted value that shadows a declared predicate keeps its quotes through
  canonical rendering (8963d13). `require total is "large"` was rendering as
  `require total is large`, which re-parses as a predicate application — the
  same text, a different program.

Plus the conformance corpus itself (e6195c4) and the node-kind gate over it
(6526b0a), which is what found the last of those.

The fixture is renamed rather than duplicated: it is named for the version it
describes, and the fixture-exists test requires one for the current version.
Contents are unchanged apart from `language_version` — the bump itself changes
no behaviour.

1902 tests pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E6qcDj1e1dEYvc8jLnpGZy
@rmichaelthomas
rmichaelthomas merged commit 6c09606 into main Sep 12, 2026
3 checks passed
@rmichaelthomas
rmichaelthomas deleted the release/0-18-2 branch September 12, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant