v2.4.0
2.4.0
Rambler and Modern vibrations!
- fix: both long-flag rewrites used a fingerprint that cannot match
- test: catch the flag-layout mistakes in the gate
- fix: enable_agentic_dictation shares its constant forward
- feat: modern keypress haptics
- fix: Rambler forced three flags Gboard already ships on
- feat: enable Rambler
- docs: the Rambler refusal was wrong
- test: diagnostic round two, direction test only
- fix: name the real cause when both swipe-up patches are enabled
- test: a diagnostic build for the swipe-up gesture
- docs: why Rambler cannot be enabled
- fix: the scratch veto refused a correct patch
- fix: importing a blob left stale icon overrides behind
- fix: Export and Import were paired to nothing
- fix: four preflight checks that were weaker than their names
- fix: assertions that were stated in prose and never made
- test: a suite for the code the gate trusts
- fix: the gate step had no GitHub Packages credentials
- fix: four ways CI could be green while guarding nothing
- fix: guard the extension paths that can take the keyboard down
- fix: the resource lane was rehearsing a different row and a shorter array
- fix: assert invoke kinds and one unguarded scratch register
- fix: two emission lint rules were checking nothing
- fix: live_free was blind to range invokes, wide pairs and switches
- fix: Hidden Features was turning on four flags and saying two
- fix: checkFieldExists rejected every static field
- docs: README section for the undo-autocorrect patch, and two namings
- fix: UndoEmitter checked its scratch registers by hand
- refactor: one sole() for the twenty-six single-match searches
- test: pin the invoke kinds and the one anchor R8 cannot move
- fix: live_free over-reported dead registers
- feat: swipe up to undo an autocorrect
- docs: settle the scrub contention and write the plan down
- docs: research for swipe-up-to-undo-autocorrect, and the gesture layer
- docs: record that the rebuilt default-on ship was verified