Skip to content

Releases: SabakiHQ/Sabaki

Sabaki v0.60.2

Sabaki v0.60.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:53
v0.60.2
292d0a7

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/.cmd script 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/AE point 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 just LB[] (#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/deadstones 2.2.0).

Added

  • Experimental Linux Flatpak (beta). Published alongside the AppImage as a -beta artifact and looking for testers, since it hasn't been verified end-to-end yet. Engine spawning is routed through flatpak-spawn --host and file access is scoped to the home directory (#803).

Dependencies

  • @sabaki/gtp 3.1.0, @sabaki/sgf 3.5.0, @sabaki/deadstones 2.2.0.
  • webpack 5.108.4, tsx 4.23.0, remark-breaks 4.0.0, concurrently 10.0.3.

Sabaki v0.60.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 13:53
v0.60.0
e928fca

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/remote dependency 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 .nvmrc to 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 rimraf v6 bump).
  • Fixed a false "file unreadable" error in development mode.
  • Fixed a MaxListenersExceededWarning from 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-revs so history stays readable) and upgraded @primer/octicons 9 → 19.
  • Updated CI to Node 20 / actions v4.

Dependencies

  • Numerous dependency updates via Dependabot, including security fixes (e.g. tar extraction-traversal CVEs), and bumps to electron-builder, iconv-lite, js-yaml, rimraf, concurrently, and others.

v0.52.2

Choose a tag to compare

@apetresc apetresc released this 04 Sep 18:45
4d06ebd

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.json to 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

Choose a tag to compare

@apetresc apetresc released this 20 Aug 03:32
6e29df5

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

Choose a tag to compare

@github-actions github-actions released this 06 Jul 02:12
v0.52.0
6c1c309

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

Choose a tag to compare

@github-actions github-actions released this 12 Apr 15:17

Added

  • Portable version for Windows (thanks to @ivysrono)
  • French language support (thanks to @romton843)

Fixed

  • Fix relative coordinates representation

Sabaki v0.51.0

Choose a tag to compare

@github-actions github-actions released this 02 Apr 15:21

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

Choose a tag to compare

@github-actions github-actions released this 13 Mar 15:15

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

Choose a tag to compare

@github-actions github-actions released this 11 Mar 12:35

New engine handling system

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

  • Fix 'Update Result' not working in the score drawer (#580)
  • Fix comment not updating when exiting edit mode too fast (#584)
  • Fix comment text getting erased while in engine analysis mode (#637)

Sabaki v0.43.3

Choose a tag to compare

@yishn yishn released this 13 May 17:55
6bc4fed

Added

  • Node flattening operation now preserves player's turn (Thanks to @dfannius)
  • Add ability to see and edit game comment (GC SGF 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