Skip to content

Releases: LucasInstra/bubo

bubo v0.11.0 build 1

Choose a tag to compare

@github-actions github-actions released this 28 Oct 14:10

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

Choose a tag to compare

@github-actions github-actions released this 27 Oct 13:58

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

Choose a tag to compare

@github-actions github-actions released this 26 Oct 18:46

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 raw EN: 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

Choose a tag to compare

@github-actions github-actions released this 24 Oct 04:35

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

Choose a tag to compare

@github-actions github-actions released this 24 Oct 03:30

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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 20:16

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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 19:32

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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:57

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
    example past 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

Choose a tag to compare

@github-actions github-actions released this 23 Oct 18:22

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 from useRef.
  • 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-eslint still 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

Choose a tag to compare

@LucasInstra LucasInstra released this 23 Oct 16:26

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 build number 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.