Releases: SabakiHQ/Sabaki
Releases · SabakiHQ/Sabaki
Release list
Sabaki v0.60.2
A bugfix and stability release on top of v0.60.0, plus an experimental Linux Flatpak build. (v0.60.1 was withdrawn before promotion: a packaging bug crashed the app on launch. v0.60.2 is the same set of fixes with that resolved.)
Fixed
- Nihon Ki-in and other legacy-encoded SGF files (Shift-JIS, EUC-KR, GB18030, Big5, windows-1251) now open even without a
CA[]charset property, instead of failing as unreadable (#1029). - Engines wrapped in a
.bat/.cmdscript launch again on Windows (#1037). - Launching on Linux no longer shows a false "This file is unreadable" when the launcher injects flags (e.g.
--no-sandbox) or renames the binary (#954). - Resign now records the game result instead of just adding a pass (#915).
- An attached engine responds to a human pass instead of waiting for a manual "generate move" (#857).
- Turning on move numbers no longer hides SGF markup: triangles, squares, and labels stay on the board (#965).
- Editing a node with compressed
AB/AW/AEpoint lists no longer corrupts them into comma-joined junk (#856). - Ctrl+click adds the coordinate to the comment box in edit mode and keeps it on the next edit (#844).
- "Clean markup > Label" removes old-style
L[]labels, not justLB[](#881). - The last-move indicator renders correctly again under custom themes that colour it via
background(#904). - Heatmap win-rate labels display on Linux without requiring a non-free Windows font package (#804).
- Stopping an engine mid-match no longer logs an uncaught "GTP engine output has stopped" error (#720).
- Dead-stone detection handles single-eye groups correctly (
@sabaki/deadstones2.2.0).
Added
- Experimental Linux Flatpak (beta). Published alongside the AppImage as a
-betaartifact and looking for testers, since it hasn't been verified end-to-end yet. Engine spawning is routed throughflatpak-spawn --hostand file access is scoped to the home directory (#803).
Dependencies
@sabaki/gtp3.1.0,@sabaki/sgf3.5.0,@sabaki/deadstones2.2.0.- webpack 5.108.4, tsx 4.23.0, remark-breaks 4.0.0, concurrently 10.0.3.
Sabaki v0.60.0
The first release in a while, and a big one. Alongside a handful of new features it modernizes the entire runtime â Sabaki now rides the current Electron and Node, so it's faster, more secure, and native on Apple Silicon â and picks up a proper automated test suite along the way. Huge thanks to everyone who contributed while things were quiet.
Platform & runtime
- Upgraded Electron from 13 all the way to 43, in steady one-major steps, so Sabaki now ships on a current Chromium and Node runtime with the accompanying performance, stability, and security improvements.
- Removed the deprecated
@electron/remotedependency and moved main/renderer communication onto a proper IPC bridge (context menus, dialogs, theme management, and settings all go through IPC now). - Modernized the Node toolchain (Node 24, mocha 11) and pinned the dev/CI Node version via
.nvmrcto match the shipped Electron runtime.
Added
- Score-lead analysis graph â the analysis graph can now plot score lead in addition to win rate (thanks to @kevinsung, #828).
- Absolute vs. relative analysis display â the analysis heat map can show each candidate move's win rate / score lead as its cost relative to the best move (which then reads as 0), instead of the absolute value, from View â Analysis Metric or with Ctrl+Shift+V (thanks to @kevinsung, #1022, #843).
- Move-numbering options â number moves from the start of the game, the current variation, or the most recent hotspot (thanks to @kevinsung, #826).
- Editable territory in scoring/estimate mode â click empty points to manually override the estimated territory; overrides reset when you toggle a stone's life/death (thanks to @RobertChrist, #941).
- Node-specific "Add/View Comment" in the game-tree node menu, replacing the out-of-place global toggle that used to live there (thanks to @RobertChrist, #942, #940).
- More keyboard shortcuts â for variation editing (copy/cut/paste/shift/make-main), toggling good/bad move annotations, toggling the player to move, and showing the analysis graph (thanks to @MarcelGruenauer and @kevinsung, #1018, #1021).
- Downstream-variation navigation â step through downstream variations with Shift+Left / Shift+Right (thanks to @petermao, #773).
- Clearer help text in the "add engine" dialog, with concrete path and argument examples for non-technical users (thanks to @Chewt, #967, #756).
- Clean Markup now strips score lead (
SBKS) alongside win rate. - Added an "Always show game result" preference, surfacing the existing setting in the Preferences drawer (thanks to @MarcelGruenauer, #1036).
- Added the Sabaki Subtle theme to the theme directory (thanks to @RobertChrist).
Fixed
- Sabaki now quits on the first âQ on macOS instead of leaving the process running in the background (#1035, #157), and Ctrl+Q now quits on Linux (thanks to @kevinsung, #1024).
- Settings reliability â every setting is now sent to the renderer at startup, fixing controls that could silently read as undefined; the Score and Autoplay preference controls work again (thanks to @kvwu, #1026); and a renderer setting shim was fixed (thanks to @TransientError, #1028).
- Score-lead graph hardening â stays visible at a score lead of 0, refreshes when you toggle the metric on an unanalysed node, and no longer chokes on non-numeric values.
- Hardened GTP analysis parsing â dialect-aware win-rate normalization and graceful skipping of malformed info segments.
- Fixed root-node branch numbering.
- Fixed theme uninstall (broken by a
rimrafv6 bump). - Fixed a false "file unreadable" error in development mode.
- Fixed a
MaxListenersExceededWarningfrom settings-change listeners. - Left/Right once again map to Previous/Next Variation (thanks to @petermao).
Developer & internal
- Added a Playwright end-to-end test suite for the Electron app (smoke, renderer, engine, and analysis flows), plus engine-integration tests driven by golden GTP transcripts, and wired E2E into CI (#998).
- Reformatted the codebase with Prettier 3 (with a
.git-blame-ignore-revsso history stays readable) and upgraded@primer/octicons9 â 19. - Updated CI to Node 20 / actions v4.
Dependencies
- Numerous dependency updates via Dependabot, including security fixes (e.g.
tarextraction-traversal CVEs), and bumps toelectron-builder,iconv-lite,js-yaml,rimraf,concurrently, and others.
v0.52.2
What's Changed
- Fix regression in theme installation introduced in v0.52.1 (#897)
- Fix regression in Markdown link rendering introduced in v0.52.1 (#898)
- Reintroduce
package-lock.jsonto source package to ensure more stable builds in from-source distributions like the AUR package
Full Changelog: v0.52.1...v0.52.2
Sabaki v0.52.1
What's Changed
- Fix flickering grid lines on some scaling factors/resolutions, (thanks to @billhails, #825)
- Upgrade various dependencies for performance and security upgrades
- Upgrade to Shudan 1.7.1 (#883)
- This includes a few rendering improvements, like SVG stones and better-aligned grid lines
Full Changelog: v0.52.0...v0.52.1
Sabaki v0.52.0
Added
- Leapfrogged from Electron 8 to Electron 13, which among other performance and
stability improvements, brings native Apple Silicon (M1) support to Mac builds - Added support for PandaNet UGF format files
- Added 'Quit' option to File menu (thanks to @HiggsTardigradeTau, #746)
- Add Linux ARM64 build (thanks to @borongyuan #735)
- Support relative paths to engines (thanks to @ebifrier, #698)
Fixed
- Comment box was still in edit mode layout, even if disabled (thanks to
@FanJeldmann, #784) - Markdown tables would hang edit mode, now tables are correctly rendered (#788)
- Detach all engines when the window is closed (thanks to @ebifrier, #700)
- Analysis variation replay was not removed when navigating to a different node
(thanks to @ebifrier, #712) - Comment display was incorrect when navigating while Edit mode is active
(thanks to @ebifrier, #711) - Failed to load external links in comments (thanks to @baldor-f, #754)
Changed
- Ctrl+H toggles the visibility of the analysis heatmap, and
Ctrl+Shift+H cycles through the different types of heatmap labels
(#752)
Sabaki v0.51.1
Added
- Portable version for Windows (thanks to @ivysrono)
- French language support (thanks to @romton843)
Fixed
- Fix relative coordinates representation
Sabaki v0.51.0
Added
- Ability to hide heat map in analysis mode (#649)
- Ability to disable heat map variation replay (thanks to @ebifrier, #668)
- Ability to show score lead on board in analysis mode for engines that support it, e.g. KataGo (#589)
- Ability to show alternate coordinate labels (thanks to @ebifrier, #665)
- Ability to preserve window state (thanks to @ivysrono, #670)
- Multilanguage support thanks to our translators (#647)
Fixed
- Fix a bug where captured stones are counted towards the wrong player (#658)
Sabaki v0.50.1
Fixed
- Fix a regression where SGF decoding didn't work (SabakiHQ/sgf#7)
- Fix Zen engine not working (#643)
- Fix board transformation not working (#644)
- Fix loading language files not working
Sabaki v0.50.0
Added
- Complete overhaul of the engine handling system, more than two engines can be
attached and given player/analyzer roles, also not blocking the user from
editing while generating moves - Support for KataGo's non-square boards
- Ability to hide the winrate graph (#608)
- Display winrate and winrate change above the winrate graph (#620)
- Add macOS specific standard keyboard shortcut to close window with
Command+W (#625) - Add keyboard shortcuts for scoring/estimation (#345)
Changed
- Board transformations (rotation/flip/inversion) are now temporary and faster,
transforms coordinates as well, located in the 'View' main menu, and have
dedicated keyboard shortcuts - Removing root node will now delete all other nodes and clear the board
Fixed
Sabaki v0.43.3
Added
- Node flattening operation now preserves player's turn (Thanks to @dfannius)
- Add ability to see and edit game comment (
GCSGF property) in the info drawer (Thanks to @fohristiwhirl)
Fixed
- Files with really long variations don't freeze the app anymore
- Fix adding SGF properties via the 'Edit SGF Properties' drawer not working
- Fix handicap stones in wrong positions when changing board size
- Fix encoding detection not working
