Repository navigation
Releases: LucasInstra/bubo
Release list
bubo v0.11.0 build 1
bubo 0.11.0
This release adds voice: bubo can read corrections, practice answers and lesson
answers aloud with the voices already installed on Windows.
What's new
- Listen to a correction: every correction card has a speaker button that
reads the corrected sentence. - Listen to the practice: after answering a card, hear the target answer
before moving on. - Listen to the lesson: the answer shown after an exercise can be played
aloud, including one-word blanks. - Built for learning: an installed English voice is preferred, markdown is
stripped so the voice never reads symbols, a new sentence replaces the previous
one instead of overlapping, and the button hides itself when the system has no
voices. - Practice fix: answering a card and pressing next no longer brings the same
card back. The session ends with "Tudo em dia" and extra practice is an
explicit choice. - Everything from 0.10.0: one concrete question per reply, safer data and
settings, safe deletion and backup, and the composer draft kept across modes.
bubo v0.10.0 build 4
Build 4 of v0.10.0.
bubo 0.10.0 build 4
This build fixes the practice loop: the same card no longer comes back when you
answer it and press next.
What's new
- Next means next: after answering a card, "Próximo card" never shows that
same card again. When nothing else is due, the session ends with "Tudo em dia"
instead of cycling the queue from the start. - Explicit extra practice: "Praticar mesmo assim" is now the only way to see
a card again, so the automatic fallback cannot loop on a single saved card.
bubo v0.9.1 build 7
Build 7 of v0.9.1.
bubo 0.9.1 build 7
This build closes the P1 issues from the audit: reading old replies, keeping
deletions honest, the first run, updates outside the chat, and accessibility.
What's new
- Saved bilingual replies: a conversation stored in bilingual mode now
reads correctly after you change the reply language. The body follows the
setting, the other language stays behind the reveal, and no rawEN:or
PT:line is left in the text. - Translation challenge everywhere: compact and popup now hide the
Portuguese half of older replies behind the same reveal as the full chat. - Deleting: removing a message or a whole conversation now removes the
corrections it produced, including their copy on other messages, so a
deleted card no longer comes back on the next start. - First run: the setup wizard can be dismissed, so history, practice,
settings and backup stay reachable before a key is connected. - Updates: the setup wizard, compact and popup now announce an available
build, and a failed install is visible there instead of only in Settings. - Accessibility: new messages are announced, the composer and the practice
input have stable labels, the practice verdict is read out, and selection
chips expose their pressed state. Escape while renaming a conversation no
longer closes the list, and two fast history clicks open the conversation
you clicked last.
bubo v0.9.0 build 4
Build 4 of v0.9.0.
bubo 0.9.0
This release is about the first five minutes: bubo now walks you through the
API key instead of dropping you into a settings form, and a few lesson and
chat details got out of the way.
What's new
- First-run onboarding: before the chat, a setup screen explains what an
API key is in plain language, with a short tutorial for a free Groq key, a
field that recognizes an existing Groq, OpenAI or OpenRouter key, and an
Ollama path that needs no key at all. - Lessons accept the whole sentence: fill-in exercises now accept the
completed sentence as well as the missing word, so a correct answer is not
marked wrong just because it includes the rest of the sentence. - Practice starts with bubo: finishing a lesson and choosing "Praticar na
conversa" opens the chat with a bubo message about that lesson and an
invitation to practice. - English can be hidden again: after revealing the English in a bilingual
reply, a "esconder inglês" button puts it back behind the reveal. - Portuguese release highlights: the Updates tab and the update-available
card now show Portuguese highlights. The English notes remain the GitHub
release body, and the updater manifest carries both. - Chat stays conversational: bubo no longer asks you to produce an English
sentence in the chat, at any level, so the answer cannot appear inside the
question. Production lives in the lessons and practice cards. - Fix builds are visible: the updater now compares the build number as well
as the version, so a new build of the same version appears in the update
button and installs from inside the app.
Upgrade
Nothing to do. Settings → Atualizações offers 0.9.0 like any other version.
Build
- Version 0.9.0, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 107 Vitest tests, 80 Rust tests, 40 Playwright tests, clippy, fmt, and build
clean, locally and in CI.
bubo v0.8.7
bubo 0.8.7
This release makes lessons teach instead of giving answers away, flips
bilingual replies so Portuguese comes first, and lets the mascot announce
updates in its own voice.
What's new
- bubo announces updates: when a newer version is available and bubo is
idle, it opens a speech bubble with the version and the install and later
actions, instead of leaving the news only in the bottom banner. - Beginner replies stay on topic: bubo answers what the learner actually
sent before offering to teach related words or keep talking, instead of
switching to an unrelated drill. - Lessons with a second chance: the first miss shows a hint without the
answer; the second miss (or a reveal) shows the answer with a longer
explanation and a sad bubo. A correct answer shows a proud bubo. - No more answers in the examples: lesson bodies and examples were
rewritten so they illustrate the rule without containing the full exercise
answer. - Lessons through B2: present perfect, conditionals and passive voice join
the catalog, and the lessons entry point is available at every level. - Portuguese-first bilingual replies: in English + Portuguese mode bubo
writes Portuguese first and keeps the English behind a "ver em inglês"
button in the full, compact and popup views.
Upgrade
Nothing to do. Settings → Atualizações offers 0.8.7 like any other version.
Build
- Version 0.8.7, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 102 Vitest tests, 79 Rust tests, 36 Playwright tests, clippy, fmt, and build
clean, locally and in CI.
bubo v0.8.6
bubo 0.8.6
This release closes the loop on the updates screen and fixes the mascot's face
when the eyes are large.
What's new
- Version highlights: the Updates tab now has a card with what changed in
the version that is actually running, not only in an update that is waiting.
The notes ship with the build, so the card works offline and always matches
the installed version. - Mouth below the eyes: tall eye shapes now grow upward and the mouth sits a
little lower, so a large eye size never puts the mouth on top of the eyes.
Upgrade
Nothing to do. Settings → Atualizações offers 0.8.6 like any other version.
Build
- Version 0.8.6, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 93 Vitest tests, 78 Rust tests, 35 Playwright tests, clippy, fmt, and build
clean, locally and in CI. The release card has its own e2e test and the e2e
harness now reports the real package version.
bubo v0.8.5
bubo 0.8.5
This release is about a calmer screen: fewer things competing for attention, a
settings tab that actually explains an update, and a compact mode that reads
like a conversation.
What's new
- Updates tab: updates moved out of System into their own settings tab. When
a new version is available, the card now shows the actual changes from the
release notes instead of the raw Markdown body. - Floating learning actions: new chat, history, progress and practice float
in a small pill under the bubo title, so the header stays a single row. - Appearance in System: message text size and theme now live in the System
tab, next to the behavior settings. The settings tabs wrap instead of hiding
tabs behind a horizontal scroll. - Slimmer scrollbars: a global scrollbar style with a small thumb and a
wider invisible hit area, plus contained overscroll so the chat does not
bounce. - Compact mode: your messages sit on the right and bubo on the left, like
the full chat, and the mascot is larger. - Beginner challenge fixed: bubo no longer asks you to repeat an English
phrase it just showed you. When you ask how to say something, it still gives
a hint first and keeps the answer hidden.
Upgrade
Nothing to do. Settings → Atualizações offers 0.8.5 like any other version.
Build
- Version 0.8.5, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 88 Vitest tests, 78 Rust tests, 34 Playwright tests, clippy, fmt, and build
clean, locally and in CI.
bubo v0.8.4
bubo 0.8.4
This release is about moving around the app faster and knowing what a practice
card wants from you before you type.
What's new
- Settings tabs: the settings screen used to be one long scroll. It now has
five tabs — Learning, Connection, Practice, Appearance and System — with arrow,
Home and End navigation, and each tab opens at the top. - Two-row header: new chat, history, progress and practice moved to their own
row under the bubo title. Pin, compact, popup, settings and hide stay on the
first row. - Mascot preview stays put: in the customization screen the preview is now
sticky, so the eye and mouth controls can be changed with the mascot still on
screen instead of scrolling back and forth. - Hint before the answer: a practice card now shows the correction note (for
examplepast simple) while you type, instead of only after the review. A note
that already spells out the correction is held back, so the answer stays
hidden until you commit to one. - Message search: the search button matches the send button again, Escape
closes the search, and the mascot steps out of the way while it is open.
Upgrade
Nothing to do. Settings → Updates offers 0.8.4 like any other version.
Build
- Version 0.8.4, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 82 Vitest tests, 78 Rust tests, 34 Playwright tests, clippy, fmt, and build
clean, locally and in CI.
bubo v0.8.3
bubo 0.8.3
A maintenance release that moves the whole toolchain forward. There are no
functional changes: the app should look and behave exactly like 0.8.2 build 2.
What changed under the hood
- React 19: React and React DOM from 18 to 19, with the matching type
packages. The only code change was the shared modal focus hook, which now
accepts the nullable ref type React 19 returns fromuseRef. - Vite 8: the build pipeline moved to Rolldown and Oxc. The explicit
esbuild minifier is gone, so the build now asks for Oxc, the default in this
version. - TypeScript 6.0: the newest version the lint toolchain accepts.
typescript-eslintstill caps TypeScript below 6.1, so 7 is not installable
yet. - rusqlite 0.40: the database crate, with no API change on our side.
- GitHub Actions: checkout, configure-pages, deploy-pages,
upload-pages-artifact and tauri-action all on their current majors.
Upgrade
Nothing to do. Settings → Updates offers 0.8.3 like any other version.
Build
- Version 0.8.3, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may
warn on first run. - Update packages are verified with the Tauri updater signing key.
Verification
- 79 Vitest tests, 78 Rust tests, 34 Playwright tests, clippy, fmt, and build
clean, locally and in CI.
Note
The React 19 upgrade grows the frontend bundle from roughly 406 kB to 480 kB
raw (126 to 146 kB gzipped). No startup regression was measured, but the binary
is slightly larger than 0.8.2.
bubo v0.8.2
bubo 0.8.2
This release makes fix builds reachable from inside the app. Until now a fix
that reused an existing version shipped only as the stable bubo-setup.exe
download, and installations already on that version never heard about it.
What's new
- Build-aware updates: the update manifest now carries a
buildnumber next to the version. A newer version always wins, and the same version is offered only when its build is higher. Fix builds published with the Fix build workflow update existing installations like a normal version. - Clearer update card: when the offer is a build of the version you already have, Settings → Updates names both, for example
0.8.2 · build 3.
How it works
allowDowngrades is enabled in the updater configuration, because the plugin only offers versions that are strictly newer. bubo compares the announced version and build against the running binary and ignores anything that is not newer, so the flag cannot downgrade you.
Upgrade
Nothing to do. From 0.8.2 on, fix builds of the same version appear in Settings → Updates. The first updater-enabled release still has to be installed by hand once.
Build
- Version 0.8.2, build 1.
- x64 installer signed with the updater key (not Authenticode); SmartScreen may warn on first run.
- Update packages are verified with the Tauri updater signing key.
Verification
- 79 Vitest tests, 78 Rust tests, 34 Playwright tests, clippy, fmt, and build clean.
Fix build (build 2)
This build exists to prove the new path end to end: it was published with the
Fix build workflow on the existing 0.8.2 release, without a new version, and
regenerated latest.json with build: 2. Installations on 0.8.2 build 1 should
see it in Settings → Updates. There are no functional changes beyond build 1.