Skip to content

v0.6.0

Latest

Choose a tag to compare

@clerk-cookie clerk-cookie released this 03 Jul 03:11
· 2 commits to main since this release
Immutable release. Only release title and notes can be modified.
92be9cc

Minor Changes

  • #115 757f609 Thanks @jacekradko! - Deterministically downgrade suggestion-only union changes (issue #114). A union carrying an absorbing arm, string & {} or string & Record<never, never> (or the number equivalents, the Autocomplete/LiteralUnion idiom), accepts every value of that primitive; its literal and template-literal arms only drive editor autocomplete. When a type-alias change keeps that arm identical on both sides and every changed arm is provably a subtype of the primitive, the assignable set is unchanged, so the change is reported non-breaking and tagged with the absorbing arm and the swapped arms. Alias definitions are resolved from each side's stored API report (the referenced aliases are usually unexported and absent from the doc model), and the check is fail-closed: anything it cannot prove keeps the change breaking, and the AI reviewer can record but not apply an escalation. A new system-prompt rule also teaches the reviewer the idiom for spellings the deterministic pass bails on. Opt out with downgradeAbsorbingArmUnions: false.

Patch Changes

  • #116 68efe14 Thanks @jacekradko! - Fix quote-blind whitespace normalization in the differ. The compare-time normalizer collapsed whitespace and stripped spacing around punctuation inside string and template literals too, so two types differing only in a literal's internal spacing ('a | b' vs 'a|b') compared equal and the change went unreported. Spacing is now normalized only outside quoted regions, in both the rule-based differ and the AI reviewer's surface lines. Compare-time only and symmetric across both reads, so committed baselines need no regeneration.