Releases: FuJacob/cotabby
Release list
Cotabby 0.6.2-beta
What's Changed
Small Improvement
- Improved popup positioning so suggestions appear tighter against the caret edge.
Project Structure and Maintainability
- Refactored and reorganized codebase
Full Changelog
Cotabby 0.6.1-beta
What’s Changed
✨ New Features
- Added support for OpenAI/Ollama local endpoints, making it possible to connect Cotabby to local servers.
- Added fade-in animation for suggestions, configurable in Settings. Default On.
- Added temporary pause controls for quickly disabling Cotabby.
- Added a Reset All Settings option to restore every preference to its default.
🎨 Interface Improvements
- Redesigned the emoji and suggestion popups with a shared, minimal dark HUD.
⚡ Performance and Reliability
- Cotabby now checks for updates once per day.
- Fixed a crash that could occur when extracting text from very small OCR screenshots.
- Fixed suggestion fade defaults and model initialization issues.
New Contributors
- [@akramj13](https://github.com/akramj13) made their first contribution in [#707](#707).
- [@mvanhorn](https://github.com/mvanhorn) made their first contribution in [#698](#698).
- [@t-h-tech](https://github.com/t-h-tech) made their first contribution in [#763](#763).
Full Changelog: [v0.6.0-beta...v0.6.1-beta](v0.6.0-beta...v0.6.1-beta)
Cotabby 0.6.0-beta
Cotabby 0.6.0-beta
Faster, smoother, cleaner. This release makes Cotabby feel lighter while typing, easier to set up, and better across more languages.
⚡ Faster suggestions
- Suggestions appear faster while you type.
- Cotabby uses less memory and does less work in the background.
- Ghost text can show up before the full suggestion finishes generating.
✍️ Smoother typing
- Ghost text should feel more stable.
- Suggestions should jump or reset less often.
- Added an option to insert a space after accepting a suggestion.
- Improved placement in apps with weird cursor behavior.
🛠️ Better typo fixing
- Added automatic typo corrections.
- Added selectable spelling dictionaries for different languages.
🌏 Better Japanese/CJK support
- Fixed suggestion resets while typing in Japanese.
- Improved accepting suggestions with Japanese/CJK input methods.
- Suggestions now advance more naturally phrase by phrase.
🧭 Cleaner setup and Settings
- Redesigned onboarding.
- Revamped Settings with better search, organization, icons, and descriptions.
- Screen Recording is now shown as optional.
🎨 More appearance control
- Added ghost text size control.
- Added a live preview field.
- Added editable custom suggestion length ranges.
📋 Full changelog
Cotabby 0.5.2-beta
What's changed 🚀
- New Cotabby logo!
- Adds power-based model switching, power-source profiles
- Optional Screen Recording permission now
- Mid-line caret suggestions show up as a popup
New Contributors
- @100NikhilBro made their first contribution in #630
Full Changelog: v0.5.1-beta...v0.5.2-beta
Cotabby 0.5.1-beta
Highlight: mid-word completions no longer insert a stray space
The biggest user-reported bug in Cotabby is fixed. Previously, accepting an inline suggestion in the middle of a word inserted an extra space (typing after and tabbing afternoon produced after noon). Tab now inserts exactly the ghost text you see, so partial-word completions land cleanly.
This single fix closes 17 reported issues of the same defect: #621, #620, #617, #615, #614, #559, #557, #553, #548, #547, #525, #491, #479, #395, #549, #543, #507. Tracked in #623, fixed by #622.
Huge thanks to everyone who reported, reacted, and stuck with us on this one: @BNoiZe, @Cr0wTom, @creativetags, @EzraCerpac, @fxPPC, @idiked, @join3r, @justinjakull, @lukas-runge, @Marcelony, @neominik, @salmanuc, @tiekuhn.
What's Changed
- Fix mid-word completion inserting a stray space on accept by @FuJacob in #622
- Onboarding: wrap long Custom template description to satisfy line_length lint by @FuJacob in #608
Full Changelog: v0.5.0-beta...v0.5.1-beta
Cotabby 0.5.0-beta
- One of Cotabby’s biggest updates yet.
- Adds the most requested feature so far: native inline autocorrect.
- Also adds inline macros, better completions, cleaner ghost text, improved Settings, and smoother updates.
Highlights ✨
-
Autocorrect is here ✍️
- Fix typos inline as you type.
- Accept corrections directly in the text field.
- Typo fixes show in green so they’re easy to spot.
-
Inline macros ⚡
- Type
/to run quick actions anywhere you type. - Supports dates, times, math, units, currency, random values, and more.
- For more details, go to settings -> home -> open panel to view all macros
- Type
-
Smarter completions 🧠
- Cleaner suggestions.
- Fewer weird cutoffs.
- Less model junk.
- Better sentence-boundary stopping.
- More predictable output.
-
Better ghost text 👻
- Ghost text now matches the app you’re typing in.
- Font
- Color
- Size
- Word-by-word acceptance is more stable.
- Less shifting and flicker.
- Ghost text now matches the app you’re typing in.
-
Cleaner Settings + onboarding 🛠️
- New Home pane.
- Better Settings search.
- Cleaner organization.
- Live inline-completion sandbox in Advanced.
- Onboarding now resumes where you left off.
- New autocorrect and macro showcases.
-
Performance + updates 📈
- Live CPU, RAM, and latency graphs.
- Hands-off Sparkle auto-install for smoother future updates.
- Fixed high CPU usage while Settings was open.
Fixes and polish 🧹
- Fixed LM Studio model folder being ignored.
- Fixed translucent menu bar popup background on macOS 26.
- Fixed Open at Login reliability.
- Fixed onboarding layout overflow.
- Improved README, download CTAs, support copy, and acknowledgments.
- Added license notices and in-app credit for SymSpell/dictionary usage.
- Updated emoji support to Unicode 15.1 and 16.0.
New contributor 🙌
- Thanks to @judekim0507 for their first contribution.
- Added Unicode 15.1 and 16.0 emoji support.
Full changelog 🔗
Cotabby 0.4.2-beta
🚀 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
Tabsometimes 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
Cotabby 0.4.1-beta
0.4.1-beta Hotfix
- Fixed high CPU usage and typing lag in very large text fields by coalescing stale Accessibility polling chains and reading only the caret-adjacent text window.
Hotfix Changelog: v0.4.0-beta...v0.4.1-beta
Welcome to Cotabby 0.4.0-beta! This release delivers major quality-of-life upgrades: a new inline emoji picker, granular acceptance controls, massive latency cuts, and a revamped onboarding flow.
🚀 Headline Features
- Inline Emoji Picker: Native
:emoji:picker with skin tone/gender customization, smart hover states, and reliableTabcommit. - Granular Acceptance Controls: Accept suggestions exactly how you want—by Word, Phrase, or Full completion.
- Extended Context Playground: New Advanced settings pane to test and visualize how context feeds into the AI engine.
- Chromium & Electron Support: Expanded macOS accessibility to fully support autocomplete in Chromium-based web editors.
⚡ Performance & AI Engine
- Slashed Latency: Drastically reduced typing delay with aggressive optimizations (50ms polling, 20ms debounce).
- Cleaner AI Output: The engine now automatically strips hallucinated prompt-scaffolding labels from suggestions.
- Stable Ghost Text: Fixed ghost font rendering glitches by locking it to field identity instead of focus sequence.
✨ UX & Settings Polish
- Revamped Onboarding: Redesigned out-of-the-box flow with starting templates, grid layouts, and a live autocomplete showcase.
- Settings Overhaul: Flattened the sidebar, unified the Engine & Model panes, and added helpful subtext for complex options.
- Global Hotkeys: Added a global toggle hotkey to enable/disable Cotabby, plus built-in safeguards to prevent shortcut conflicts.
- UI Cleanup: Fixed popup borders, removed redundant toggles, and added an option to hide the word-count badge for a cleaner menu bar.
New Contributors
- @rpickmans made their first contribution in #388
- @jkrauska made their first contribution in #425
0.4.0 Changelog: v0.3.3-beta...v0.4.0-beta
Cotabby 0.4.0-beta
Welcome to Cotabby 0.4.0-beta! This release delivers major quality-of-life upgrades: a new inline emoji picker, granular acceptance controls, massive latency cuts, and a revamped onboarding flow.
🚀 Headline Features
- Inline Emoji Picker: Native
:emoji:picker with skin tone/gender customization, smart hover states, and reliableTabcommit. - Granular Acceptance Controls: Accept suggestions exactly how you want—by Word, Phrase, or Full completion.
- Extended Context Playground: New Advanced settings pane to test and visualize how context feeds into the AI engine.
- Chromium & Electron Support: Expanded macOS accessibility to fully support autocomplete in Chromium-based web editors.
⚡ Performance & AI Engine
- Slashed Latency: Drastically reduced typing delay with aggressive optimizations (50ms polling, 20ms debounce).
- Cleaner AI Output: The engine now automatically strips hallucinated prompt-scaffolding labels from suggestions.
- Stable Ghost Text: Fixed ghost font rendering glitches by locking it to field identity instead of focus sequence.
✨ UX & Settings Polish
- Revamped Onboarding: Redesigned out-of-the-box flow with starting templates, grid layouts, and a live autocomplete showcase.
- Settings Overhaul: Flattened the sidebar, unified the Engine & Model panes, and added helpful subtext for complex options.
- Global Hotkeys: Added a global toggle hotkey to enable/disable Cotabby, plus built-in safeguards to prevent shortcut conflicts.
- UI Cleanup: Fixed popup borders, removed redundant toggles, and added an option to hide the word-count badge for a cleaner menu bar.
New Contributors
- @rpickmans made their first contribution in #388
- @jkrauska made their first contribution in #425
Full Changelog: v0.3.3-beta...v0.4.0-beta