github FuJacob/cotabby v0.4.2-beta
Cotabby 0.4.2-beta

5 hours ago

🚀 Cotabby 0.4.2-beta

This is one of Cotabby’s biggest quality releases yet.

Cotabby 0.4.2-beta focuses on making completions feel faster, cleaner, safer, and more useful in real writing. This release upgrades emoji autocomplete, adds tighter suggestion-length controls, improves OCR visual context, hardens model downloads, and lays the groundwork for a stronger open-source base-model pipeline.

✨ Headline Features

😄 Smarter emoji autocomplete

Emoji completion is now much more natural. Cotabby now supports recents, synonyms, fuzzy matching, and popularity ranking, so partial inputs like :smil, :party, :thanks, or :+1 are more likely to return what you actually meant.

⚡ New 2–4 word suggestion preset

A new short suggestion preset gives you tighter, lower-distraction completions when you want Cotabby to stay fast and lightweight.

🛡️ Better completion safety

Cotabby now applies stronger last-mile output safety gates before showing ghost text. These help suppress duplicated text, unsafe insertions, awkward sentence-boundary issues, and completions that do not fit the current field.

🧠 Stronger local model foundation

This release includes major internal work toward Cotabby’s open-source base-model path, including:

  • Prompt budgeting
  • Token-aware context handling
  • Constrained decoding experiments
  • Beam search
  • Vocabulary profile caching
  • Fill-in-middle prompting
  • Better empty-completion diagnostics

Some of this remains behind feature flags, but the foundation is much stronger.

👁️ Cleaner visual context

Visual-context OCR is now simpler and more reliable. Cotabby removed the old LLM-based OCR summarizer path and replaced it with direct OCR hygiene filtering, including per-line confidence handling.

Result: a faster, cleaner, less fragile context pipeline.

⚙️ Better app controls

Cotabby now includes:

  • Open at Login toggle
  • Performance settings pane with opt-in latency tracking
  • Better menu bar and Settings behavior
  • Reduced AX capability flicker
  • Safer handling around secure fields
  • Fixes for Calendar popovers and overlay crashes

🔒 Hardened model downloads

Model download integrity checks are now stronger, helping protect users from incomplete or corrupted model downloads.

🐛 Notable Fixes

  • Fixed rapid Tab sometimes leaking into the host app after accepting the final word.
  • Fixed focus polling dismissing Calendar’s event popover.
  • Fixed an overlay crash found during pre-release audit.
  • Fixed dead settings and dead visual-context state.
  • Fixed broken test scaffolding after visual-context cleanup.
  • Fixed constrained-decoder latency regressions by bounding top-K work and skipping unused computation.
  • Reverted constrained decoder as the only llama decode path after testing showed it was not ready to fully replace the existing path.

📦 Full Changes

  • Update README by @FuJacob in #474
  • Add Performance settings pane with opt-in LLM latency tracking by @jkrauska in #471
  • Add 2-4 word length preset by @FuJacob in #480
  • Add Open at Login toggle to General settings by @FuJacob in #450
  • Dismiss menu bar popover when opening Settings by @jkrauska in #481
  • Fix rapid Tab leaking into the host after a final-word accept by @FuJacob in #484
  • Output safety gates: dedup, insertion safety, sentence boundary by @FuJacob in #485
  • Stop focus polling from dismissing Calendar's event popover by @FuJacob in #483
  • Improve visual context OCR quality by @FuJacob in #482
  • Bump suggestion token budgets down to track word presets by @FuJacob in #493
  • Add base-model completion pipeline behind a default-off flag by @FuJacob in #495
  • Suppress AX capability flicker on the same focused element by @FuJacob in #494
  • Smarter emoji completion: recents, synonyms, fuzzy matching, popularity by @FuJacob in #496
  • Cotabby 2: cut the Open Source path to base models by @FuJacob in #497
  • Budget the base prompt by section by @FuJacob in #498
  • Replace the LLM OCR summarizer with direct OCR-hygiene filtering by @FuJacob in #499
  • Fix CotabbyTests build broken by #499 by @FuJacob in #500
  • Remove the dead visual-context summarize path by @FuJacob in #501
  • Add deterministic constrained decoder behind a default-off flag by @FuJacob in #503
  • Add no-repeat-ngram repetition guard to the constrained decoder by @FuJacob in #504
  • Re-tune onboarding model recommendations for the base-model tiers by @FuJacob in #505
  • Surface per-line OCR confidence so the low-confidence filter runs by @FuJacob in #506
  • Remove the dead summarizing-text visual-context state by @FuJacob in #509
  • Remove dead code surfaced by a whole-app audit by @FuJacob in #511
  • Refresh docs for the base-model migration by @FuJacob in #512
  • Keep the KV cache on cancelled llama generations by @FuJacob in #513
  • Collapse the Open Source catalog to four named tiers by @FuJacob in #514
  • Accept one word at a time in space-less scripts by @FuJacob in #515
  • Catch more secure fields: role description and non-password secrets by @FuJacob in #516
  • Stop the constrained decoder at sentence boundaries by @FuJacob in #517
  • Add multi-branch beam search to the constrained decoder by @FuJacob in #518
  • Cache the constrained-decode vocabulary profile on disk by @FuJacob in #519
  • Make the constrained beam finish the current word mid-word by @FuJacob in #520
  • Add fill-in-middle prompting for mid-line completions by @FuJacob in #521
  • Log why a completion normalized to empty by @FuJacob in #522
  • Gate fill-in-middle on a precise end-of-line signal by @FuJacob in #523
  • Document how to evaluate the experimental decoder on device by @FuJacob in #524
  • Add required-prefix admissibility to the constrained beam decoder by @FuJacob in #526
  • Add per-site disable rules to the availability gate by @FuJacob in #527
  • Add an execution-ready plan for the remaining parity work by @FuJacob in #528
  • Make per-site disable live: capture the focused page URL by @FuJacob in #529
  • Add opt-in clipboard paste insertion for long completions by @FuJacob in #530
  • Add token-aware prompt budgeting as an opt-in path by @FuJacob in #531
  • Make the constrained decoder the only llama decode path by @FuJacob in #532
  • Hide custom rules from users behind a feature gate by @FuJacob in #533
  • Fix three bugs found in a pre-release audit by @FuJacob in #534
  • Fix an overlay crash and two dead settings by @FuJacob in #535
  • Harden model download integrity by @FuJacob in #536
  • Match Extended Context cap to what the engine actually uses by @FuJacob in #537
  • Fix constrained-decode latency by @FuJacob in #538
  • Revert constrained decoder as the only llama decode path by @FuJacob in #539

🔗 Changelog

Full Changelog: v0.4.1-beta...v0.4.2-beta

Don't miss a new cotabby release

NewReleases is sending notifications on new releases.