·
2 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #115
757f609Thanks @jacekradko! - Deterministically downgrade suggestion-only union changes (issue #114). A union carrying an absorbing arm,string & {}orstring & Record<never, never>(or thenumberequivalents, theAutocomplete/LiteralUnionidiom), 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 withdowngradeAbsorbingArmUnions: false.
Patch Changes
- #116
68efe14Thanks @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.