Skip to content

Releases: Supervertaler/Supervertaler-Workbench

v1.9.417 — Apple Silicon Mac pip users get a bundled JRE

04 May 16:29

Choose a tag to compare

Apple Silicon Mac pip users now get the Okapi sidecar fully bundled – no separate Java install needed, no manual download steps, just pip install supervertaler and DOCX import works on first run. The behind-the-scenes change is small: an arm64 macOS JRE bundle (~50 MB, built via jlink on Apple Silicon) now lives on the v1.9.416 GitHub release page, and v1.9.417's lazy-download code picks it for arm64 Macs. Intel Macs and Linux still use the JAR-only flow (system Java required) for now – platform-specific bundles for those are tracked as a future improvement.

Windows users: this release is functionally identical to v1.9.414 for you – we publish a Windows standalone zip here too so the latest release page is internally consistent (Windows + macOS + pip all available in one place).

Install

  • Windows standalone: download Supervertaler-v1.9.417-Windows.zip below, extract, double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • macOS standalone (Apple Silicon only): download Supervertaler-v1.9.416-macOS.zip below. The macOS .app is unsigned, so the first launch needs a right-click → Open to bypass Gatekeeper. The version string inside the .app says 1.9.416 because v1.9.417 didn't change anything that affects the standalone Mac build (the change is pip-only).
  • pip: pip install --upgrade supervertaler

What changed (v1.9.417)

Added (Apple Silicon pip users now get a bundled JRE)

  • v1.9.416 added macOS lazy-download but only as a JAR-only flavour requiring system Java. v1.9.417 ships an arm64 JRE bundle (~50 MB, built via jlink on Apple Silicon) and download_install() now picks it on Apple Silicon Macs.
  • Intel Macs and Linux still use the JAR-only flow with system Java required (the "Java required" pre-flight still fires there). Architecture detection via platform.machine() == "arm64" so Intel Mac users automatically fall through to the JAR-only path rather than downloading an unrunnable arm64 JRE.
  • INSTALLER_URL_MACOS_ARM64 constant added; _ensure_okapi_sidecar() now shows the right size text per platform/arch and platform-specific Java install hints when needed.

What's still being shipped from v1.9.413 / v1.9.414 / v1.9.415 / v1.9.416

For everything else recently shipped (Okapi-only DOCX import/export, faithful hyperlink round-trip, multi-file Okapi conversion, sidecar lifecycle hardening, progress dialogues, cell-select instrumentation, lazy-download for Windows + macOS pip users, Trados-aware Sidekick chat, AI Assistant attachment improvements, GitBook help link), see the full release notes for v1.9.413.

Assets

  • Supervertaler-v1.9.417-Windows.zip — Windows standalone with bundled Okapi sidecar + JRE.
  • Supervertaler-v1.9.416-macOS.zip — Apple Silicon standalone with bundled Okapi sidecar + JRE. (Same file as on the v1.9.416 release; v1.9.417's changes don't affect the standalone Mac build, so we cross-attach rather than rebuild.)
  • pip wheel + sdist on PyPI: https://pypi.org/project/supervertaler/1.9.417/

The lazy-download URL endpoints are pinned to v1.9.416's assets:

  • okapi-sidecar-windows-v0.1.6.zip (lazy-downloaded by Windows pip users)
  • okapi-sidecar-macos-v0.1.6.zip (lazy-downloaded by Apple Silicon Mac pip users)
  • okapi-sidecar-v0.1.6.jar (lazy-downloaded by Intel Mac / Linux pip users; system Java required)

Don't download the sidecar assets directly – the application fetches the right one on demand based on your OS + architecture.

v1.9.416 — pip-only: macOS / Linux lazy-download for Okapi sidecar

04 May 14:41

Choose a tag to compare

Pip-only release. Adds lazy-download of the Okapi sidecar on macOS and Linux. v1.9.415 only supported lazy-download on Windows; pip users on Mac or Linux saw a "build from source" message that effectively blocked DOCX import. Reported by a Mac user shortly after v1.9.415 went out.

What changed

Fixed — macOS / Linux DOCX import via lazy-download

  • The Mac/Linux flow is JAR-only (~28 MB) and uses the user's system Java. Required because we don't yet ship platform-specific JRE bundles for those OSes — that's a future improvement.
  • Supervertaler now checks for Java up-front (via JAVA_HOME or java on PATH) before offering the download. If no Java is found, users see a clear platform-specific install hint:
    • macOS: brew install openjdk (or download from java.com)
    • Linux: sudo apt install default-jre, sudo dnf install java-latest-openjdk, etc.
  • Avoids the bad UX of downloading a 28 MB JAR and then failing to launch it.
  • New helper methods on OkapiSidecar: _download_install_zip_bundle() (Windows: JAR + JRE bundle), _download_install_jar_only() (macOS/Linux: JAR alone), shared _stream_to_file().

Caveats

  • Mac/Linux users still need a system Java install to use DOCX import via pip. Tracked as a future improvement: ship a Mac JRE bundle (and eventually a Linux JRE bundle) so those users don't need to install Java themselves either.

Install

  • pip: pip install --upgrade supervertaler
  • Windows standalone: stick with v1.9.414 – the bundled JRE means no lazy-download is needed.
  • macOS: Mac build will be uploaded by Michael when he's at his Mac.

What's still being shipped from v1.9.413 / v1.9.415

For everything else from yesterday's work (Okapi-only DOCX import/export, faithful hyperlink round-trip, multi-file Okapi conversion, sidecar lifecycle hardening, progress dialogues, cell-select instrumentation, lazy-download for Windows pip users, Trados-aware Sidekick chat, AI Assistant attachment improvements, GitBook help link), see v1.9.413's full notes.

Assets

  • okapi-sidecar-windows-v0.1.6.zip — JAR + Windows JRE bundle (lazy-downloaded by Windows pip users).
  • okapi-sidecar-v0.1.6.jar — JAR alone (lazy-downloaded by macOS/Linux pip users; system Java required).

Don't download these directly. The application fetches the right one on demand. They're listed for transparency and as the URL endpoints the lazy-download code points at.

v1.9.415 — pip-only: lazy-download Okapi sidecar on first DOCX use

03 May 18:41

Choose a tag to compare

Pip-only release. Adds lazy-download of the Okapi sidecar so that users running pip install supervertaler get full DOCX import functionality on first use. The desktop EXE release continues to ship the sidecar bundled – Windows EXE users on v1.9.414 don't need to upgrade.

What changed

Added — Lazy-download for the Okapi sidecar (pip users)

  • v1.9.413 made DOCX import Okapi-only across the workbench. Great for desktop users (the JAR + JRE ship in _internal/okapi-sidecar/), but pip users without the bundled JRE would have hit a hard-error dialog on every .docx import.
  • This release fixes that: on first DOCX import, if the sidecar isn't installed locally, Supervertaler shows a one-click prompt ("Download Okapi sidecar (~70 MB)?"). On accept it fetches a Windows JAR + bundled JRE from this very release into %LOCALAPPDATA%\Supervertaler\okapi-sidecar\, with a live progress dialog. Subsequent launches find it automatically.
  • New API: OkapiSidecar.is_installed() and OkapiSidecar.download_install(progress_callback=…). New helper _ensure_okapi_sidecar() in the main app shares the install-and-start flow between the single-file and multi-file DOCX import paths.

Caveats

  • Windows pip users only get the lazy-download. macOS / Linux pip users currently see a clear "build from source" message. Adding platform-specific bundles for those is a future improvement.

Install

  • pip: pip install --upgrade supervertaler
  • Windows standalone: stick with v1.9.414 – the bundled JRE means no lazy-download is needed.
  • macOS: Mac build will be uploaded by Michael directly.

What's still being shipped from v1.9.414

For everything else released today (Okapi-only DOCX import/export, faithful hyperlink round-trip, multi-file Okapi conversion, sidecar lifecycle hardening, progress dialogues, cell-select instrumentation, Trados-aware Sidekick chat, AI Assistant attachment improvements, GitBook help link), see the full release notes for v1.9.414.

Asset

  • okapi-sidecar-windows-v0.1.6.zip — JAR + Windows JRE bundle. Don't download this directly – the application fetches it on demand. It's listed here for transparency and as the URL endpoint the lazy-download code points at.

v1.9.414 — Fix Okapi sidecar packaging in v1.9.413

03 May 18:23

Choose a tag to compare

Patch release that fixes a packaging bug in v1.9.413. The previous release shipped the Okapi sidecar JAR + bundled JRE correctly, but the runtime lookup logic only checked next to the EXE itself, never inside PyInstaller's _internal/ data folder where the files actually land. End result: users on v1.9.413 saw ℹ️ Okapi sidecar not installed – using built-in filters at start-up and the new Okapi-only DOCX import path was unavailable. Fixed in this release – install and use as normal, no extra steps required.

If you already downloaded v1.9.413, delete that and grab v1.9.414 instead. All the substantive changes from v1.9.413 (faithful Okapi round-trip with hyperlinks, multi-file Okapi import/export, hardened sidecar lifecycle, progress dialogues everywhere, …) are unchanged in this release; only the discovery logic for the bundled sidecar was updated.

Install

  • Windows standalone: download Supervertaler-v1.9.414-Windows.zip below, extract, double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • macOS: Mac build will be uploaded by Michael directly.
  • pip: pip install --upgrade supervertaler

What's new vs v1.9.413

The full v1.9.413 changelog applies to this release. The only additional change since v1.9.413 was tagged is the packaging fix:

Fixed (packaging)

  • Okapi sidecar is now found in PyInstaller bundles. v1.9.413's Windows release shipped the sidecar JAR + JRE inside _internal/okapi-sidecar/ (PyInstaller's standard data-file location for --onedir builds), but the lookup logic in modules/okapi_sidecar.py only looked next to the EXE itself, never inside _internal/. _find_sidecar_dir now also checks sys._MEIPASS / okapi-sidecar and <exe-dir>/_internal/okapi-sidecar when frozen.

For everything else shipped today (the 13-version stretch since v1.9.400 — Okapi-only DOCX import/export, faithful hyperlink round-trip, sidecar lifecycle hardening, progress dialogues, cell-select instrumentation, Trados-aware Sidekick chat, AI Assistant attachment improvements, GitBook help link), see the full release notes for v1.9.413.

v1.9.413 — Faithful Okapi DOCX round-trip with hyperlinks (superseded by v1.9.414)

03 May 17:44

Choose a tag to compare

⚠️ Use v1.9.414 instead. This release shipped the Okapi sidecar JAR + JRE inside _internal/okapi-sidecar/, but the lookup logic only searched next to the EXE — so on first launch users see "Okapi sidecar not installed – using built-in filters" and the new Okapi-only DOCX import path is unavailable. Fixed in v1.9.414.


Thirteen versions' worth of changes since v1.9.400 (the last GitHub release), with v1.9.413 as today's headline: DOCX import and export now go through the Okapi sidecar end-to-end, with faithful round-trip including hyperlinks. Single-file and multi-file batch both use Okapi; the python-docx import path is gone. Verified on a 2,588-segment / 1,960-TU project (455 of those split across multiple segments by SRX). Plus: a hardened sidecar lifecycle (no more manual java.exe kills after JAR rebuilds), progress dialogues that actually show progress, cell-select timing instrumentation for diagnosing the long-standing UI freezes, and a long tail of polish from v1.9.401 through v1.9.411.

Install

  • Windows standalone: download Supervertaler-v1.9.413-Windows.zip below (uploaded once the build completes), extract, double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • macOS: Mac build will be uploaded shortly.
  • pip: pip install --upgrade supervertaler

Highlights (v1.9.413)

  • Faithful hyperlink round-trip on DOCX export. <hyperlink1>…</hyperlink1> and other structural OOXML codes the AI preserves in the translation now reach the exported document as proper hyperlinks – anchor text translated, link target intact. Achieved via per-segment merge in the Okapi sidecar (was previously concatenating all segment translations and breaking the OpenXML writer's run-properties stack on SRX-segmented TUs).

  • DOCX import is now Okapi-only. The "Choose Import Engine" dialogue is gone. Single-file and multi-file batch both go through the Okapi sidecar with SRX segmentation, proper paragraph/table/header/footer detection, and the new faithful round-trip on export. The python-docx engine is no longer offered for new imports.

  • Multi-file batch DOCX projects now get the Okapi treatment per file. Previously this path was unconditionally on python-docx with no Okapi option at all – translators with multiple complex DOCX files in one project couldn't get the faithful round-trip the single-file path offered. That gap is closed.

  • Sidecar lifecycle hardening. New POST /shutdown endpoint plus a version handshake at start-up means rebuilding the sidecar JAR no longer requires manually killing java.exe from Task Manager. Cross-platform port-holder kill (netstat -ano on Windows, lsof on POSIX) as fallback when the polite shutdown isn't reachable.

  • Jetty form-content limit raised 200 KB → 100 MB. Was silently failing POST /merge on projects with more than a few hundred segments – exports for large Okapi-imported projects fell back to a degraded path that produced the entire output in the source language. Fixed.

  • Progress dialogues everywhere they were missing: project open from the recent menu, single-file DOCX import (extraction on a background thread), multi-file batch import, and post-batch-pre-translation grid rebuild. The 2,588-segment test project used to lock the UI for 30 s (project load) and ~3 minutes (batch pre-translation grid rebuild) with no feedback at all – both now show a live row counter and yield to the Qt event loop every 25 rows.

  • Cell-select timing instrumentation logs ⏱️ [cell-select] … lines whenever a click takes longer than 250 ms total (or any individual block exceeds 50 ms). Diagnostic step toward fixing the long-standing "click freezes for minutes" issue some users have reported – the next time it bites, the log will show exactly which lookup ate the time.

  • Sidecar JAR shipping at v0.1.6 (was 0.1.0). Six discrete improvements bundled into the bumps; see CHANGELOG.md for the per-version detail.

Highlights from v1.9.401 – v1.9.411

The intervening versions also shipped real work. The most notable user-visible items:

  • Trados-aware Sidekick chat (v1.9.411). The floating Sidekick chat now picks up the active Trados project context automatically when the Supervertaler for Trados plugin is running – active segment, surrounding segments, TM matches, termbase hits, and project metadata. Same 🔗 Trados chip behaviour as the Trados-side chat.
  • AI Assistant attachment improvements (v1.9.401–409): file attachment context, image input, prompt-library cleanup, several fixes for edge cases in long-running AI conversations.
  • Help link finally points to the GitBook docs site (v1.9.410). Help → Supervertaler Workbench Help now opens https://supervertaler.gitbook.io/help/get-started-1/workbench instead of the deprecated VitePress site.

See the full changelog below for everything.

Full changelog (v1.9.401 – v1.9.413)

v1.9.413 - May 3, 2026

Added (Batch pre-translation)

  • Progress dialog now stays open through the post-batch grid rebuild. Previously the TM batch pre-translation closed its progress dialog at 100 % and then called load_segments_to_grid() synchronously – on the 2,588-segment test project this locked the UI for ~3 minutes with the title bar saying "Not Responding" and no visible feedback. The dialog now switches to indeterminate mode for the rebuild phase, shows a live row counter (Reloading grid… (1,250 / 2,588)), and yields to the Qt event loop every 25 rows.

Added (Cell-select timing instrumentation)

  • The cell-selection handler now logs timings for any block that exceeds 50 ms, and the total click cost when it exceeds 250 ms (look for ⏱️ [cell-select] … in supervertaler.log). Some users have reported multi-minute UI freezes when clicking a segment after a fresh import or batch pre-translation; the freeze is intermittent and hard to reproduce, so the next time it bites the log will show exactly which lookup (find_termbase_matches_in_source, find_nt_matches_in_source, _update_both_termlens, highlight_source_with_termbase, _search_mt_and_llm_matches, …) ate the time. Cheap when nothing is slow; only logs on actual slowness.

Note

  • The async-lookup rewrite that would actually fix the cell-select freeze (move TM/MT/LLM/termbase lookups onto a worker thread, cancel stale lookups on rapid navigation, post per-result UI updates) is parked as a separate task. The instrumentation in this release is only the diagnostic step; it doesn't change behaviour beyond extra log lines when something is genuinely slow.

v1.9.412 - May 3, 2026

Changed (DOCX import is now Okapi-only)

  • The "Choose Import Engine" dialog is gone. DOCX import always goes through the Okapi sidecar. The dialog and the python-docx import path created a class of bugs where users could end up unable to round-trip exports cleanly, plus the python-docx fallback couldn't produce the okapi_tu_id / okapi_segment_index metadata the merge endpoint needs at export time.
  • Sidecar pre-flight check. If the sidecar isn't running when DOCX import is attempted (Java missing, port conflict, sidecar startup failure, …) the user now sees a clear "Okapi sidecar required" dialog with troubleshooting steps, instead of a silent fallback.
  • Multi-file batch DOCX import at _import_multifile_project now also uses the Okapi sidecar per file. Previously this path was unconditionally on the python-docx engine with no Okapi option – meaning translators working with multiple complex DOCX files in one project couldn't get the faithful round-trip the single-file path offered. Same pre-flight check applies before any file is touched.
  • Multi-file batch DOCX export routes by project's import_engine. New (Okapi-imported) projects use the sidecar's /merge endpoint per file; legacy standard-imported projects keep the python-docx export path so existing on-disk projects still export correctly.

Fixed (Okapi import/export)

  • Okapi merge no longer silently fails on large projects. Jetty's default form-content limit (200 KB) caused POST /merge to reject the translations JSON for any project with more than a few hundred segments – the export then fell back to the standard python-docx path and, for Okapi-imported projects, produced output entirely in the source language because the fallback couldn't match Okapi's tagged source segments against the original DOCX paragraphs. The sidecar now raises the form limit to 100 MB.
  • Hardened the python-docx fallback so that even if the Okapi merge ever fails for an Okapi-imported project, placeholder tags (<hyperlink1>, <tags2/>, <run1>, </run1>, etc.) are stripped from both the source-matching keys and the target text before substitution. Previously these tags broke matching and ended up as literal text in the output.
  • Faithful round-trip for structural codes. The merge code now indexes every source code by its raw getData() string and looks up translation tags by full literal form before falling back to the formatting-tag (<b>, <i>, <cf>) logic. Hyperlinks, runs and placeholder codes that the AI preserved in the translation now reach the exported document as proper Okapi codes – the output document is structurally identical to the source.
  • Tag regex broadened. The merge regex previously only matched lowercase letters, so <hyperlink1>, <run2>, <tags2/> etc. silently passed through as literal text. Now matches digit-suffixed names and self-closing tags. Self-closing placeholders without a matching source code are dropped silently instead of corrupting the open/close stack.

Fixed (Okapi sidecar lifecycle)

  • No more manual java.exe kills after a sidecar update. When Supervertaler exited it left the sidecar JVM running on ...
Read more

v1.9.400 — Sidekick clipboard manager (text + images, persistent)

29 Apr 22:32

Choose a tag to compare

Sixteen versions' worth of changes since v1.9.384 (the last GitHub release): a brand-new persistent clipboard manager in the Sidekick (text + raster images, survives restarts, ArsClip-style grey-after-paste), a unified non-translatables model that brings Workbench in line with the Trados plugin, Image Context moved from Resources onto the AI tab, system-tray integration with start-with-computer, Sidekick now a Tool-style window with Alt+K as the new global hotkey, Find-on-Page in every embedded web view, TM Maintenance running on a worker thread, and a dotted-focus-rectangle suppression that finally lands at the QStyle level. Plus a long tail of polish, bug fixes, and tool simplifications.

Install

  • Windows standalone: download Supervertaler-v1.9.400-Windows.zip below, extract it, and double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • pip: pip install --upgrade supervertaler
  • macOS: no standalone build in this release.

Highlights

  • Clipboard manager in the Sidekick (v1.9.400). Cross-platform via Qt's QClipboard.dataChanged. Persistent history in the existing SQLite database with separate per-kind caps (200 text + 50 images), trimmed independently. Pasted items go grey across restarts – the standout affordance from ArsClip, generalised to text + raster images. Ctrl+Shift+C global hotkey opens the Sidekick straight to the Clipboard tab; right-click any Sidekick tab to set it as the default landing tab.

  • Non-translatables unified with the termbase model (v1.9.393). The standalone .svntl system is removed; non-translatables now live as termbase rows with is_nontranslatable=1, matching how the Trados plugin already treats them. A single termbase entry can now flag itself as non-translatable and both products see it. NT pills in TermLens get full Edit/Delete affordances (v1.9.394).

  • Image Context moved from Resources onto the AI tab (v1.9.395). AI-only inputs belong with the AI flow, not next to TMs/termbases (which are translation-aid inputs).

  • Sidekick gets an icon, a Tool-style window, and Alt+K as default global hotkey (v1.9.388, v1.9.391). No taskbar slot, no Alt+Tab entry – pure summon-on-demand. The previous default (Ctrl+Shift+A) is auto-migrated.

  • System tray icon with close-to-tray, start-minimised, and start-with-computer (v1.9.391). Plus a diagnostic log that now captures everything the dev terminal would (worker-thread crashes, qWarning/qCritical, stdlib logging, Okapi sidecar stdout).

  • Find-on-Page in every embedded web view (v1.9.389). Live search, ▲/▼ to cycle, "Match case", Ctrl+F to focus. Right-click → "Open in default browser" for when the embedded Chromium isn't enough.

Changelog

v1.9.400 - April 29, 2026

Added

  • Clipboard manager added as a third tab in the Sidekick. Cross-platform via PyQt6's QClipboard.dataChanged (Windows / macOS / Linux out of the box, no platform-specific code). Persistent history stored in the existing SQLite database alongside termbases and TMs, with separate per-kind caps (200 text + 50 images) trimmed independently so a flood of one kind cannot push the other out. Each clip's "pasted" state is persisted, so an item that has already been used once stays grey across restarts – inspired by ArsClip's grey-after-paste affordance, which is the standout feature of that Windows-only tool. Click an item to paste it back to the previously-focused application; the dataChanged signal is suppressed for the round-trip so re-capturing the paste itself is impossible.

  • Image clipboard support. When a raster image is on the clipboard (e.g. a screenshot or a copied figure), it is captured as PNG bytes and stored in a new image_data BLOB column on the clipboard_history table, with a kind discriminator ('text' / 'image'). List items render a 48×48 thumbnail icon and a label such as "🖼 Image 1920×1080 (245 KB)". SHA-1 dedup so re-copying the same image does not insert a second row. Pasting branches on kind: text uses clipboard.setText + Ctrl+V, images use clipboard.setPixmap + Ctrl+V – most apps that accept clipboard images respond to Ctrl+V identically to text.

  • Ctrl+Shift+C global hotkey opens the Sidekick directly to the Clipboard tab. Registered through the same pynput GlobalHotkeyManager that handles Alt+K and Ctrl+Alt+L, so it fires from any application. Customisable in Settings → Keyboard Shortcuts as global_clipboard. Captures the foreground window before opening so paste-and-return correctly returns focus to the source app after a clip is selected.

  • Default-tab preference for the Sidekick. Right-click any tab on the Sidekick (Chat / SuperLookup / Clipboard) and choose "Open to '…' by default". Persists in assistant_geometry.json and applies whenever the Sidekick opens via Alt+K or any other path. Right-clicking the currently-default tab shows a greyed-out checkmark instead. When Clipboard is the default, the list owns focus on activation and arrow keys / Enter work immediately, including in the "already visible" path where Alt+K previously stole focus to the action tree.

  • 'E' opens the term editor from the Sidekick's Term Insert Popup (Ctrl+K). The popup closes itself first, then emits the edit signal, so the editor dialog opens onto a clean screen. Mirrors the keyboard-only edit flow added to the Trados plugin's TermLens popup. Right-click is intentionally not supported – the popup stays 100% keyboard-driven; right-click edit is reserved for the regular TermLens panel on the right.

Fixed

  • Termbase import silently did nothing after selecting a file. A redundant import os inside _import_termbase (at the progress-dialog construction block) shadowed the module-level os import. Python treats any name that is assigned or imported anywhere in a function as local throughout that function's scope, so the earlier os.path.basename(filepath) call – used to build the Import Options dialog – hit an UnboundLocalError before the local import was ever reached. Qt's signal system swallowed the exception, leaving the UI with no feedback. Removed the redundant local import; the module-level os is now used throughout. (Originally tagged for v1.9.399 but never released; rolled into this release.)

Changed

  • Author website references updated from michaelbeijer.co.uk to beijer.uk across the Supervertaler.com site and bundled help docs. Touches docs/index.html, docs/privacy/index.html, docs/workbench/index.html, docs/trados/index.html (footer "Author's Website" + "Contact" links and the two pricing-section "get in touch" links), docs/guides/FAQ.md, docs/help/supervertaler/reference/faq.md, and the SuperLookup web-resource lists in docs/help/supervertaler/superlookup/{overview,web-resources}.md. michaelbeijer.co.uk redirects to beijer.uk anyway, but having the canonical URL throughout avoids stale Google index entries and unnecessary redirect hops.

v1.9.398 - April 27, 2026

Changed

  • Keyboard Shortcuts settings page laid out in two columns for laptop screens. The previous single-column stack (header → search → table → action buttons → Import/Export → tip → Global Hotkeys) crammed the shortcuts table into a tiny vertical slice on smaller screens — only ~4 rows visible at a time on a 1080p laptop because everything below was reserving room. Reworked into a horizontal QSplitter (default 70/30 split, draggable): the left column holds search → table → edit/reset buttons with the table set to absorb all spare vertical height; the right column stacks the Import/Export group (now vertical, with Export Cheatsheet promoted to the top since it's the action people actually use) and the Global Hotkeys group. Header and description sit above both columns. The cheatsheet tip moved into the Import/Export group so it doesn't claim its own row.

v1.9.397 - April 27, 2026

Changed

  • Main "📝 Grid" tab renamed to "📝 Editor". The tab hosts the segment-by-segment translation editor; "Editor" describes what the user does there more directly than "Grid" (which described the underlying widget). Internal identifiers (grid_widget, _get_grid_visibility_state, etc.) and a couple of fallback error messages mentioning "Grid view" are left as-is — they're either implementation detail or rarely-surfaced fallbacks, and renaming them would just churn the codebase without changing what users see.

v1.9.396 - April 27, 2026

Fixed

  • AI tab no longer shows two stacked "Prompt Manager" labels. v1.9.395 wrapped the existing AI tab content (which was a UnifiedPromptManagerQt widget exposing its own internal QTabWidget with Prompt Manager / Variables / Assistant) inside an outer QTabWidget that added Image Context as a peer to "Prompt Manager". The result: the user saw one "✨ Prompt Manager" tab on the outer strip, and clicking it revealed an inner strip whose first tab was also labelled "📋 Prompt Manager" — same label twice in a vertical stack. Reworked to skip the outer wrapper entirely: Image Context is now added as a fourth tab on the existing inner strip (UnifiedPromptManagerQt.sub_tabs), so the AI tab strip reads as a single flat row: 📋 Prompt Manager / 📝 Variables / 💬 Assistant / 🎯 Image Context. Navigation helper still works because self.ai_subtabs now points at the inner strip directly.

v1.9.395 - April 27, 2026

Changed

  • Image Context moved from Resources to the AI tab. The 🎯 Image Context pane (per-project figures the AI sees with each segment) was sitting under Resources alongside TMs and Termbases, but unlike those it is not a translation aid – nothing else in Workbench reads those images, only the AI translation pipeline. Resources should be the home for things both classical CAT lookups and AI use; AI-only inputs belong with the AI flow. The "✨ AI" main tab now wraps a QTabWidget ...
Read more

v1.9.384 — Supervertaler Sidekick rename

24 Apr 12:57

Choose a tag to compare

The Workbench's floating panel has been renamed from "Supervertaler Assistant" to "Supervertaler Sidekick". The new name disambiguates the floating panel from the dockable AI chat panel of the same name inside Supervertaler for Trados — the two products are commonly installed together by the same user and were sharing a title.

Install

  • Windows standalone: download Supervertaler-v1.9.384-Windows.zip below, extract it, and double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • pip: pip install --upgrade supervertaler
  • macOS: no standalone build in this release.

Changelog

Changed

  • Floating panel renamed from "Supervertaler Assistant" to "Supervertaler Sidekick". The new name disambiguates the Workbench's floating panel (Chat + SuperLookup tabs + Workbench Tools / Prompts / Special Characters / Personal Snippets / Text Conversions menu) from the "Supervertaler Assistant" panel inside Supervertaler for Trados, which keeps that name. The two products are commonly installed together by the same user and were sharing a title, which was getting confusing. Renamed across user-facing strings in the Workbench codebase (Supervertaler.py, modules/floating_assistant.py, modules/chat_message_delegate.py, modules/unified_prompt_manager_qt.py, modules/shortcut_manager.py), help docs under docs/help/supervertaler/, and README.md. Internal Python identifiers (file names like floating_assistant.py, any Assistant-named classes) are kept as-is — they are not user-facing. Historical CHANGELOG entries from before this rename keep the old name for accuracy.

Checksums

  • Supervertaler-v1.9.384-Windows.zip — SHA-256: 138e62ed0837c3463fed52b04ff7636fac0aeb0214c0a22f1c6dc1f83e9236d9

Upgrade notes

  • Drop-in upgrade from v1.9.383. No settings, project, or data migration needed.
  • Existing users will see the new "Supervertaler Sidekick" title on the floating panel from first launch after the upgrade.
  • If you've referenced "Supervertaler Assistant" in any of your own scripts, prompts, or documentation, those references continue to work but now describe the panel by its old name.

v1.9.383

21 Apr 22:00

Choose a tag to compare

What's new

Fixed

  • Bulk-translate (Ctrl+Shift+T) with a Custom Endpoint no longer asks for a Custom API key. The single-segment path (Ctrl+T) correctly treated the key as optional for custom_openai providers, but the batch path only special-cased Ollama and fell through to the generic "API key missing" error. Now matches the single-segment path. Thanks @jaychen-xilinx for the report. (#182)

Changed

  • Trados package (SDLPPX) import now shows progress throughout and is cancellable. Large packages with hundreds of SDLXLIFFs used to look frozen for the entire import. Now there is per-stage feedback with a Cancel button:
    • Extraction: "Extracting package.sdlppx..." while the zip is unpacked.
    • SDLXLIFF parsing: "Parsing SDLXLIFF: file.sdlxliff (N / total)" – the biggest time sink, previously completely silent.
    • Segment build: "Building segments: file.sdlxliff (N / total)" – the post-dialog mapping loop.
    • Cancel at any stage cleans up the temp extract directory and returns to whatever project you had open. (#185)

Also includes v1.9.382 (previously unreleased)

  • Claude Opus 4.7 support. Anthropic's new flagship (released 2026-04-16) is now selectable in Settings → LLM Models and in the OpenRouter model list (anthropic/claude-opus-4.7). 1M-token context, 128k max output. Pricing $5 / $25 per MTok.
  • Corrected stale pricing for Claude Opus 4.6 and Haiku 4.5. Internal pricing table had Opus 4.6 at the pre-4.6 rate of $15 / $75 per MTok – now correct at $5 / $25. Haiku 4.5 was listed at $0.80 / $4.00, corrected to $1.00 / $5.00. Cost estimates in the LLM Leaderboard and Reports panels are now accurate.

Install

pip:

pip install --upgrade supervertaler

Windows standalone: Download Supervertaler-v1.9.383-Windows.zip below (will be attached shortly), extract, and run Supervertaler.exe.

Full changelog: https://github.com/Supervertaler/Supervertaler-Workbench/blob/main/CHANGELOG.md

v1.9.381 — silent launch, diagnostic log, QuickTrans into SuperLookup

17 Apr 09:33

Choose a tag to compare

Silent launch, rolling diagnostic log, QuickTrans folded into SuperLookup, Linguee and secondary-monitor fixes, plus the first pass of the Superlookup → SuperLookup rename.

Install

  • Windows standalone: download Supervertaler-v1.9.381-Windows.zip below, extract it, and double-click Supervertaler.exe. For Start Menu integration, right-click create_start_menu_shortcut.ps1 → Run with PowerShell.
  • pip: pip install --upgrade supervertaler — now a GUI-scripts entry point (no terminal window). For debugging use supervertaler-debug.
  • macOS: no standalone build in this release.

Changelog

Added

  • Silent launch — no more terminal window next to the app.
    • Pip users: running supervertaler no longer opens a black console window alongside the Qt UI. The command is now registered under [project.gui-scripts] (Windows GUI subsystem). A new supervertaler-debug command runs the same app but keeps a terminal attached for live stdout/stderr.
    • Source users: new run-silent.cmd sits next to run.cmd. Double-click the silent one for a clean launch; run.cmd stays for live debugging.
    • The production Supervertaler.exe and Start Menu shortcut were already console-less — unchanged.
  • Diagnostic log file — every launch (silent or not) now tees stdout and stderr into a rolling log at <user_data>/workbench/logs/supervertaler.log. Rotates once past ~2 MB to supervertaler-previous.log. The log captures all [LOG] lines, diagnostic prints, and full tracebacks on unhandled exceptions. Works even under pythonw where there's no console at all — crashes now leave a paper trail instead of disappearing silently.
  • Help menu entries: 📄 Open Diagnostic Log and 📁 Open Log Folder — one-click access to the log file (opens in the OS default editor) or the folder (opens in Explorer/Finder) for users reporting issues.
  • Help → 📋 Copy Version Info now also includes the diagnostic-log path, so a copy-paste into an email or GitHub issue always tells support exactly which file to ask for.
  • QuickTrans is now the first sub-tab of SuperLookup. Clicking 🔍 SuperLookup with selected text auto-fires QuickTrans (same behaviour as Ctrl+Alt+Q) and lands on the populated QuickTrans results — no Translate-button click needed. TMs and Termbases populate in parallel on the other sub-tabs.

Changed

  • Removed the separate "⚡ QuickTrans" action from the right-hand Workbench Tools menu. Clicking "🔍 SuperLookup" with selected text now does everything QuickTrans used to do, so the dedicated entry was redundant.
  • QuickTrans moved from a top-level outer tab into a SuperLookup sub-tab (at position 0, before TMs). Outer tabs are now just Chat and SuperLookup — one click less to reach the translation tools, and the three result types (TMs, Termbases, QuickTrans) sit next to each other.
  • First-pass rename: Superlookup → SuperLookup in user-visible strings. Tab labels, menu actions, dialog titles, header labels, and tooltips now consistently use the camel-cased spelling. Internal class names, module filenames, and debug prints are scheduled for later passes.

Fixed

  • Web resource searches (IATE, Linguee, ProZ.com, BabelNet) fired with the wrong language pair when the From/To filters were "Any". The URL builder hard-coded a fallback of English → Dutch. Now falls back to the current project's language pair (and the saved default pair when no project is loaded), matching what QuickTrans already uses.
  • Linguee URLs use a canonical slug order (English is always first in any English↔X pair; source=auto handles the query direction). Previously dutch-english/search?… rendered as a blank page inside QWebEngine. Now English comes first when present, or alphabetical for non-English pairs.
  • Maximise button on a secondary monitor no longer sends the window flying to the primary monitor. Now uses the window's current screen via self.screen(), falling back to screenAt(frameCenter).

Checksums

  • Supervertaler-v1.9.381-Windows.zip — SHA-256: 8e160d9e53298bd427d78fa696864d40e3ed677deb46a6614d5a0b6b7ccc3774

Upgrade notes

  • Pip users who previously relied on the terminal window for debugging: use supervertaler-debug to keep the attached console.
  • Windows standalone users: Supervertaler.exe from this zip can sit alongside any older install — it keeps its user data in C:\Users\<you>\Supervertaler\ so nothing is lost.
  • The diagnostic log at workbench/logs/supervertaler.log is created on first launch — please attach it to any bug report.

Full changelog: CHANGELOG.md

v1.9.374 — Supervertaler Assistant

11 Apr 23:26

Choose a tag to compare

Supervertaler Assistant

New floating AI assistant window that works from anywhere on your computer.

What's New

  • System-wide assistant — press Ctrl+Alt+A from any application to open the floating assistant. Select text first to use it with AI tools, text conversions, or snippets
  • Expandable action menu — Workbench Tools (QuickTrans, Superlookup), Prompts, Special Characters, Personal Snippets, and Text Conversions
  • Direct actions — snippets and text conversions instantly paste the result back over your selection and close the assistant
  • AI chat in three locations — grid-side panel, AI tab, and floating assistant all share the same conversation
  • Model selector — click the model indicator next to Send to switch provider/model on the fly
  • Token usage and cost tracking — responses show model, tokens, estimated cost, and response time
  • Context chips — toggle Document, TMs, Termbases, and Files inclusion via compact chips above the input
  • Image paste — Ctrl+V pastes clipboard images for vision-capable models (GPT-4o, Claude, Gemini)
  • Text Conversions — uppercase, lowercase, title case, sentence case, curly quotes, brackets, soft hyphen removal, and more
  • Keyboard navigation — arrow keys to navigate the menu, Enter to activate, Tab to switch panels, Escape to close

Visual Refresh

Chat bubbles restyled with lighter colours, avatar labels, timestamps, and model/cost info — ported from Supervertaler for Trados plugin.

Full Changelog

See CHANGELOG.md for the complete list of changes.