Skip to content

Releases: D0n9X1n/SonicTerm

SonicTerm v1.3.9

Choose a tag to compare

@github-actions github-actions released this 08 Oct 05:54
8dcf514

SonicTerm v1.3.9

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.9-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.9-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.9-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.9-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.9-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.9; macOS may require right-click → Open.

Resolved issues

  • #1539 — [v1.3.9] Add an isolated scenario harness and comparison script so every performance PR reports measured before/after numbers
  • #1540 — [v1.3.9] Count lock misses, deferred frames and present intervals so frame pacing can be measured
  • #1541 — [v1.3.9] Stop pointer moves and a settled scrollbar from requesting frames that change nothing
  • #1542 — [v1.3.9] Build the index buffer once and make row-cache invalidation and highlight recolor proportional to the change
  • #1543 — [v1.3.9] Run the scenario harness on Windows so Windows-only changes report measured before/after numbers
  • #1544 — [v1.3.9] Keep pointer input and foreground-process probes from blocking the event-loop thread
  • #1545 — [v1.3.9] Release the idle image atlas on a timer and skip the GPU frame texture under GDI presentation
  • #1546 — [v1.3.9] Stop output in background tabs from running frame passes, and coalesce output redraw events
  • #1547 — [v1.3.9] Do not block a frame waiting for font-fallback resolution
  • #1548 — [v1.3.9] Release visible parser locks before surface acquire and present
  • #1549 — [v1.3.9] Stop a keypress frame that presents nothing from delaying the echo, and refresh monitor cadence on more events
  • #1550 — [v1.3.9] Pace macOS frames from the display link instead of a render-end timer
  • #1551 — [v1.3.9] Repaint only the affected area for cursor, focus, selection, tab-bar and scrollbar changes
  • #1552 — [v1.3.9] Assemble only rows that intersect frame damage on the hardware path
  • #1553 — [v1.3.9] Key the row glyph cache by content so scrolling reuses shaped rows
  • #1554 — [v1.3.9] Honour synchronized output (DEC mode 2026)
  • #1555 — [v1.3.9] Cache shaping results and reuse per-frame scratch buffers
  • #1556 — [v1.3.9] Release renderer memory in covered windows and shrink oversized GPU buffers
  • #1558 — [v1.3.9] Store scrollback rows without trailing blank cells, and keep one copy of each hyperlink URI
  • #1559 — [v1.3.9] Evaluate moving rare cell attributes out of line to store grid cells in 16 bytes (conditional)
  • #1561 — Sixel and kitty graphics from local Windows programs never reach SonicTerm through ConPTY, while the wiki lists both as supported
  • #1563 — ci: Rust 1.99 rustdoc fails the pinned winit's doc phase on every platform
  • #1566 — [v1.3.9] Split S2's keystroke-to-present latency at the PTY flush in the perf harness
  • #1568 — [v1.3.9] A scrolled-back view damages the wrong row when a live row changes in place
  • #1570 — Retry S10's Windows delivery replay when one frame marker is missing
  • #1571 — Keep the PR performance comparison within 30 minutes end to end on macOS
  • #1574 — Sample memory at each perf checkpoint, correlated by index, behind a capability-gated harness hook
  • #1577 — Docs: a skipped Performance comparison result job shows its unevaluated name expression, not "(not run)"
  • #1582 — [v1.3.9] Bound the cost of the frames that apply published fallback faces on macOS
  • #1584 — [v1.3.9] Restore flood frame rate on macOS after trimmed history rows
  • #1592 — [v1.3.9] Make the glyph-atlas working-set measurement complete, then size the normal atlas start from CI
  • #1598 — [v1.3.9] Attribute each S10 present to the update it shows
  • #1606 — [v1.3.9] Keep rebuilt glyph rows when an atlas retry settles instead of clearing them a second time
  • #1607 — [v1.3.9] Attribute the macOS S2/flood keypress-to-present median shift after #1555
  • #1608 — [v1.3.9] Report finite transitions and sparse idle phases with explicit metrics
  • #1620 — [v1.3.9] Keep the perf harness compiling against the previous release tag
  • #1627 — [v1.3.9] S1/atlas-retry invalidates runs on hosted macOS when the tab title changes mid-run
  • #1630 — [v1.3.9] hyperlink_heap_truth fails intermittently on Windows CI
  • #1633 — [v1.3.9] NotoColorEmoji glyphs fail to rasterize in the glyph working-set measurement on a macOS 27 host
  • #1634 — [v1.3.9] Cut PR pipeline wall time: the Windows test job sets CI's critical path, and perf runs queue behind CI
  • #1637 — [v1.3.9] CPAL palette labels are looked up by SFNT record index instead of name ID
  • #1638 — [v1.3.9] A COLRv1 glyph without a ClipBox fails to rasterize on the FreeType path
  • #1639 — [v1.3.9] FreeType COLRv1 rasterizer applies one scale compensation to contours and gradient anchors from different spaces

Changes since v1.3.8

  • chore: prepare v1.3.9 (#1643) (8dcf514)
  • perf: dev:mac lane 2: S2/flood echo attribution, bounded parser wait and 35-minute perf budget (v1.3.9) (#1640) (cc71cb9)
  • perf: dev:mac lane: atlas sizing, echo timeline, CI split and COLR emoji fixes (v1.3.9) (#1635) (46f88df)
  • test: count only the measuring thread's heap in the hyperlink heap-truth tests (#1636) (57c5bc9)
  • perf: add the doc-hidden dispatch-timeline App methods and S2's first callers (#1601 prerequisite) (#1632) (cac36ca)
  • perf: count worker lock wait, UI guard custody and frame dispatch totals (#1584, part D2.1a) (#1631) (8093aa4)
  • test: settle S1/atlas-retry only once the App has applied the final process (#1627) (#1629) (9cf0514)
  • perf: add the doc-hidden phase-control and echo-timeline App methods (#1607 prerequisite) (#1628) (fe96a94)
  • perf: certify glyph completeness at S9 and S12 end (#1592, part B1) (#1626) (865accc)
  • perf: report per-present S10 attribution (#1598) (#1625) (6d43360)
  • perf: keep the perf harness compiling against the previous release tag (#1620) (#1624) (11a0abd)
  • perf: add the doc-hidden S10 attribution watch methods (#1598, prerequisite) (#1622) (9f0b7c0)
  • perf: make the glyph-atlas working-set measurement complete (#1592, part A) (#1621) (a6b94e7)
  • perf: report finite transitions and idle holds with explicit phase metrics (#1608) (#1619) (77b33ce)
  • perf: extract the row-run grouping with no behaviour change (#1604, part A) (#1617) (80be0e4)
  • perf: keep rebuilt glyph rows when an atlas retry settles (#1606) (#1616) (56af138)
  • perf: release renderer memory in covered windows and shrink oversized GPU buffers (#1556) (#1615) (fc988a3)
  • chore(deps): Bump the patch-updates group with 10 updates (#1613) (5727431)
  • perf: add the perf-hook-trim feature, a stub trim hook and a five-feature catalog (#1614) (059d819)
  • perf: split S2's keystroke-to-present latency at the PTY flush (#1566) (#1609) (9060322)
  • perf: reuse shaped chrome text, style faces and per-frame scratch (#1555) (#1605) (12f05c1)
  • perf: key the row glyph cache by content so scrolling reuses shaped rows (#1553) (#1603) (7f4298b)
  • perf: assemble only the rows a frame's damage can reach (#1600) (7b51729)
  • perf: honour synchronized output (DEC mode 2026) (#1597) (29d9fe8)
  • perf: damage only what each frame-key change redraws (#1595) (32dd4f8)
  • perf: pace macOS streaming frames from the window's display link (#1594) (d664948)
  • perf: start the glyph atlas small and grow it on demand (#1590) (57e7e42)
  • perf: pace hardware streaming from a clock a settled keypress frame does not move (#1589) (22d3f17)
  • perf: measure where a fallback-apply render atte...
Read more

SonicTerm v1.3.8

Choose a tag to compare

@github-actions github-actions released this 01 Oct 10:03
7876622

SonicTerm v1.3.8

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.8-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.8-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.8-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.8-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.8-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.8; macOS may require right-click → Open.

Resolved issues

  • #1516 — bug: relative paths in an inactive tmux or rmux pane resolve against the active pane's directory
  • #1517 — bug: multiplexer pane links underline one row, and cut plain URLs and paths resolve to a prefix
  • #1518 — Follow local symlinks and junctions on Windows, as macOS and Linux do
  • #1519 — bug: a Cmd-click on an explicit path can report it as pending after its check finished
  • #1520 — Size tabs to their titles, and cut a title only at the maximum width or when the bar is full
  • #1521 — bug: a Windows hover probe can still reach a network host through a mapped drive or a raced link
  • #1523 — Test tab click routing and font and scale reloads through production code
  • #1525 — Consistent clipboard editing in rename, search, and palette text fields
  • #1528 — Keep long-field reverse-drag selections visible while horizontally scrolled
  • #1529 — docs: unverified build claim in the Windows path-target module comment, and incomplete Windows link rules on the Usage wiki pages
  • #1533 — Path detection: pick the shortest existing file, cap length, detect zsh and tmux soft wraps
  • #1534 — Use a split-pane tab icon for rmux and tmux

Changes since v1.3.7

  • feat: open the shortest existing path, keep soft wraps across redraws, and prepare v1.3.8 (#1536) (7876622)
  • feat: use a split-pane tab icon for rmux and tmux (#1535) (0a7f87c)
  • fix: keep long-field selections stable across redraws (#1532) (119ec5c)
  • Consistent clipboard editing in app text fields (#1526) (2fb133e)
  • docs: distinguish missing and refused Windows path opens (cc11721)
  • docs: drop an unverified Windows build claim and complete Usage's Windows link rules (ab1dd18)
  • test: sweep every descriptor an isolated PTY test child can inherit (e884487)
  • test: let the font-probe watchdog abort while stderr is held (092c22f)
  • test: bound every Windows font-probe phase with a watchdog thread (077bfd1)
  • test: keep isolated PTY test children from holding other tests' pipes (c7d1e9b)
  • test: stop the probe worker before the hover test removes its folder (a27591b)
  • refactor: route tab-bar pointer input and tab-font state through testable seams (b2d4a0b)
  • test: stop two Windows CI flakes (f3b5cf8)
  • fix: split reparse names into byte pairs with as_chunks (4111c6e)
  • fix: hold Windows path parts with read access before execute (a4ef6a8)
  • fix: hold custody of each path part on Windows (1633df1)
  • fix: keep a width-limit reload off hit-testing until its frame presents (8835fb2)
  • fix: hold tab widths on the window's own pointer and apply them on present (8f9be64)
  • feat: add a configurable minimum tab width (380dbcb)
  • feat: size tabs to their titles (d44df70)
  • feat: follow local symlinks and junctions on Windows (14a5544)
  • docs: relative paths are not linked on the alternate screen (02a4b54)
  • fix: give relative text no directory on the alternate screen (87b7b6a)
  • docs: say where the pane directory rule applies and where it cannot tell (586fead)
  • fix: withhold the directory beyond any line that may be a pane border (84192f0)
  • test: a hidden cursor still places the active pane (bf50012)
  • fix: join wraps within one pane; resolve relative paths only in the cursor pane (3e9c1ff)
  • fix: let a recorded wrap excuse a cut only at the grid's edge (7b7fdbe)
  • fix: read recorded wraps whole beside program-drawn guides (a18f929)
  • fix: scan only the pointed pane for plain targets (4377b23)
  • fix: refuse a cut spaced name instead of offering its prefix (2dd80db)
  • fix: judge only the pointed text at pane edges (85d7f0d)
  • fix: keep multiplexer links intact across pane edges (5ebc9c2)
  • chore(deps): Bump the patch-updates group with 6 updates (f2adaf5)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.7

Choose a tag to compare

@github-actions github-actions released this 28 Sep 07:49
4ad017b

SonicTerm v1.3.7

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.7-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.7-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.7-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.7-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.7-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.7; macOS may require right-click → Open.

Resolved issues

  • #1398 — test: report Python test and verification progress
  • #1405 — docs: separate English and Chinese files; load English-only context
  • #1407 — bug: modifier-hover URL highlight intermittently missing
  • #1408 — bug: home paths absorb adjacent Chinese prose punctuation
  • #1409 — test: font-weight native probe can still become a Ghost window
  • #1411 — Epic: v1.3.7 architecture-audit delivery plan
  • #1412 — [v1.3.7] Retire the unshipped SSH transport, the no-op distro-defaults feature, and the optional-feature CI shards
  • #1413 — [v1.3.7] Remove phantom manifest dependencies and delete the orphaned API snapshot
  • #1414 — [v1.3.7] Make the local gate one runnable, parity-checked definition
  • #1415 — [v1.3.7] Check Windows-target Rust from macOS where no Windows C toolchain is needed, and correct the cross-compile claim
  • #1416 — [v1.3.7] Report the real version in XTVERSION and refresh the stale vt module docs
  • #1417 — [v1.3.7] Replace process-global capture and media counters with injected pools
  • #1418 — [v1.3.7] Enforce READONLY at every new user-input destination
  • #1419 — [v1.3.7] Encode paste and file drops for each destination pane and shell
  • #1420 — [v1.3.7] Report line coverage for every crate, hold a regression floor, and gate vt
  • #1421 — [v1.3.7] Stop uncaptured wgpu errors from aborting the process, and detect device loss
  • #1422 — [v1.3.7] Queue filesystem path probes per live window instead of in one global slot
  • #1423 — [v1.3.7] Bind tab rename and color edits to the tab they were opened for
  • #1424 — [v1.3.7] Include the match set in the search frame identity so mode toggles repaint
  • #1425 — [v1.3.7] Match combining marks and canonically equivalent text in search
  • #1426 — [v1.3.7] Make literal history search linear and bound streaming refresh work
  • #1427 — [v1.3.7] Return a typed presentation outcome from one presenter seam
  • #1428 — [v1.3.7] Rebuild the GPU context after device loss and resume presenting
  • #1429 — [v1.3.7] Pin scrolled-back viewports to history eviction identity
  • #1430 — [v1.3.7] Keep local selection gestures bound to their press pane and a coherent anchor
  • #1431 — [v1.3.7] Preserve soft-wrap continuity when copying a selection
  • #1432 — [v1.3.7] Make the CPU software compositor platform-neutral so its pixel tests run on every host
  • #1433 — [v1.3.7] Collect visible-pane frame sources through one shared collector
  • #1434 — [v1.3.7] Make redraw scheduling window-local and cause-addressed
  • #1435 — [v1.3.7] Stop assembling frames for occluded windows
  • #1436 — [v1.3.7] Schedule command-badge transitions on their owning windows
  • #1437 — [v1.3.7] Move PTY teardown off the event-loop thread onto the bounded ReaperSupervisor
  • #1438 — [v1.3.7] Chain the previous fatal-signal handler with the original siginfo so stack-overflow diagnostics survive
  • #1439 — [v1.3.7] Extract the atlas lifecycle and frame batches from the renderer, and detect mid-frame atlas resets by identity
  • #1440 — [v1.3.7] Remove the render stack's no-op call sites and correct its stale documentation
  • #1441 — [v1.3.7] Keep file: URIs out of the URI opener
  • #1442 — [v1.3.7] Stop promising macOS keep-alive from quit_on_last_window_close, and correct the app-core guidance
  • #1443 — [v1.3.7] Protect block-glyph rendering with invariant and reviewed raster tests
  • #1445 — [v1.3.7] Correct stale fontdb and lru references in the font docs and deny.toml
  • #1447 — [v1.3.7] Bound the Windows native wheel, selection, and hover test when its event loop stalls, and name the stalled phase
  • #1448 — [v1.3.7] Keep scoped tracing captures in tests from being disabled by a first reach without a subscriber
  • #1449 — [v1.3.7] Retry `hdiutil create` in the macOS DMG validator when it reports Resource busy
  • #1450 — [v1.3.7] Share the existing GPU device with windows opened through New Window
  • #1452 — [v1.3.7] Remove sonicterm-text's unused swash dependency and the unused package-name workspace keys
  • #1457 — [v1.3.7] Report the hit-test inputs when the Windows native palette test finds no palette on the child window
  • #1462 — [v1.3.7] Keep each coverage run's evidence and rebaseline floors only from verified provenance
  • #1463 — Let an open search query accept paste in READONLY windows
  • #1464 — macOS PTY cleanup still reports a descendant after termination in queue tests
  • #1466 — Writable windows send a search paste to broadcast peers when the search's active pane is gone
  • #1469 — [v1.3.7] Spinner glyphs U+EE06–U+EE0B panic when a cell's shorter side is at most six underline thicknesses, aborting release builds
  • #1470 — macOS: Cmd+V during Rename Window goes through the Edit menu, so the name field never receives it
  • #1477 — Windows: release-note capture launches taskkill after normal completion
  • #1481 — [v1.3.7] Bound shipping DMG creation and retry settled Resource busy failures
  • #1482 — Windows: MSVC telemetry child outlives completed Cargo builds
  • #1485 — [v1.3.7] Preserve DMG attachment custody evidence without blind retries
  • #1488 — [v1.3.7] Diagnose macOS PTY termination refusal before heap measurement
  • #1492 — [v1.3.7] Pin detached Windows process preservation on pane close
  • #1493 — [v1.3.7] Seed the Intel macOS dependency cache on main
  • #1494 — [v1.3.7] Remove custom workflow timeouts
  • #1500 — Fix stale upstream guidance in font diagnostics
  • #1503 — [v1.3.7] SIGKILL session-marker fixture kills its helper before the marker is published
  • #1506 — [v1.3.7] Split conflict-hot source files into small single-purpose modules
  • #1507 — [v1.3.7] Replace single-letter and letter-digit identifiers with meaningful names
  • #1508 — [v1.3.7] Split packages by area: platform-neutral core and per-OS backends
  • #1512 — bug: symlinked local paths are refused and absorb adjacent prose
  • [#1513](https...
Read more

SonicTerm v1.3.6

Choose a tag to compare

@github-actions github-actions released this 23 Sep 02:03
9eda3d8

SonicTerm v1.3.6

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.6-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.6-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.6-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.6-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.6-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.6; macOS may require right-click → Open.

Resolved issues

  • #1394 — chore: minimize winit and move it into crates
  • #1395 — ci: allow Windows optional-feature verification to finish
  • #1397 — test: avoid fake transport overhead in long release-history coverage

Changes since v1.3.5

  • chore: prepare v1.3.6 release (ef4dfea)
  • test: keep long release-history coverage independent of fake process cost (6a6bc68)
  • chore: retain a minimal desktop winit dependency under crates (2b0832e)
  • ci: allow Windows optional feature verification to finish (73106d7)
  • chore(deps): Bump the patch-updates group across 1 directory with 10 updates (c10a500)
  • fix: preserve terminal selection through standalone modifier input (0a106aa)
  • test: use fixed pixel chunks in software glyph assertion (548d905)
  • feat: preserve negotiated Windows input and tracked wheel ownership (21c7387)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.5

Choose a tag to compare

@github-actions github-actions released this 21 Sep 00:22
7569731

SonicTerm v1.3.5

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.5-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.5-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.5-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.5-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.5-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.5; macOS may require right-click → Open.

Resolved issues

  • #1365 — Windows absolute paths in log key=value fields are not detected
  • #1366 — Unwrapped file lists joined by punctuation become one path candidate
  • #1367 — Windows font-weight native pixel test fails with CLR_INVALID readback
  • #1368 — Bottom gap above tab bar grows when maximizing the window
  • #1369 — Anchor retained-history search to the current viewport and select its global match
  • #1371 — PowerShell formatted directory-name continuations are not clickable
  • #1372 — Make macOS release bundles independent of Homebrew Cairo paths
  • #1373 — Remove duplicate macOS font payload without changing font coverage
  • #1374 — Refresh vendored native libraries to verified patched revisions
  • #1375 — Replace stale FreeType config edits with checked effective options
  • #1376 — New and torn-out windows should inherit source window dimensions
  • #1381 — TUI typing can churn URL-hover colors and full-window damage
  • #1383 — macOS: terminal becomes too wide and text stretches after unlock
  • #1385 — Add About SonicTerm command to show the running app version

Changes since v1.3.4

  • fix: recognize completed macOS probes after open wait races (1a58891)
  • feat: show the running version from About SonicTerm (f3c3e20)
  • fix: preserve macOS window geometry across backing-scale changes (ae74f73)
  • fix: stabilize target hover and keep native fixes source-only (0cdddb1)
  • test: use a host-native absolute path in bundle rpath fixtures (f25a253)
  • fix: ship self-contained macOS packages with one font payload (786568e)
  • chore: refresh native libraries with reproducible source verification (144fc27)
  • fix: confirm PTY descendants after the final termination attempt (9c2497a)
  • fix: preserve context for failed local path clicks (f36f92b)
  • fix: retain file identity and source window dimensions (9e8f7b2)
  • fix: preserve path boundaries and viewport-relative terminal behavior (d9fb24e)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.4

Choose a tag to compare

@github-actions github-actions released this 16 Sep 22:26
be71cae

SonicTerm v1.3.4

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.4-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.4-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.4-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.4-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.4-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.4; macOS may require right-click → Open.

Resolved issues

  • #1351 — [v1.3.4] Detect complete URLs across narrow-window wrapped lines
  • #1353 — PTY heap-truth fixture may compare different chunk populations across the producer's lifetime
  • #1355 — Keep font geometry stable across weights and fix Windows digit alignment
  • #1357 — [v1.3.4] Detect wrapped file references followed by prose punctuation
  • #1362 — Detect balanced quoted paths and grouped source references

Manually closed issues (unverified release linkage)

These issues were nominated by changes in this range and manually closed during its commit-date window. GitHub records no closing commit or PR for those events; they are not verified as resolved by this release.

  • #1349 — [v1.3.4] Stop Unix PTY teardown from injecting EOF into running sessions (closed 2026-09-15T16:01:29Z)

Changes since v1.3.3

  • fix: recognize quoted paths and bounded grouped source references (57eac6e)
  • fix: disclose manual closures separately in release notes (8ee936b)
  • chore: prepare SonicTerm v1.3.4 release (35ce26e)
  • fix: retain HarfBuzz thread safety for concurrent font lifetimes (0c18c48)
  • fix: detect wrapped file references beside sentence punctuation (907332e)
  • fix: use fixed-size pixel chunks in font regressions (7a859b2)
  • fix: preserve font geometry with unified post-selection weight (a9da9ae)
  • fix: reject ambiguous closing boundaries in wrapped URLs (2b4519d)
  • fix: reconstruct delimited URLs across application hard wraps (c045527)
  • test: describe drain FIFO coverage precisely (b9d8bb3)
  • fix: detect complete URIs across terminal soft wraps (a3201bb)
  • test: pin the bounded drain with deterministic coverage (d5ec779)
  • test: measure the PTY queue from one frozen population (55a395f)
  • test: characterize narrow-window URL truncation (0814442)
  • fix: return the Windows PTY writer result directly (87af6eb)
  • fix: stop Unix PTY teardown from injecting terminal input (8353416)
  • chore(deps): Bump the patch-updates group with 12 updates (8fcde3c)
  • docs: refresh file detection screenshot with full path preview (e071fc2)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.3

Choose a tag to compare

@github-actions github-actions released this 13 Sep 08:02
2786561

SonicTerm v1.3.3

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.3-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.3-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.3-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.3-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.3-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.3; macOS may require right-click → Open.

Resolved issues

  • #1339 — [v1.3.3] Numpad Enter and arithmetic operators fail outside working TUIs
  • #1340 — [v1.3.3] Shift+3 fails to produce # in Homebrew Vim launched through sudo
  • #1341 — [v1.3.3] Broadcast SSH panes stop scrolling when output reaches the bottom
  • #1343 — [v1.3.3] Extract file paths from tool wrappers and surrounding prose
  • #1344 — [v1.3.3] Include resolved issues in GitHub release notes
  • #1345 — [v1.3.3] Showcase file detection in terminal messages

Changes since v1.3.2

  • test: construct Windows file URIs in path detection fixtures (8a33320)
  • fix: refine file detection and prepare v1.3.3 release notes (83b8c6c)
  • fix: correct keypad input, resize scrolling, and broadcast highlights (01e6027)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 05:58
50f642d

SonicTerm v1.3.2

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.2-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.2-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.2-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.2-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.2-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.2; macOS may require right-click → Open.

Changes since v1.3.1

  • fix: exclude unverified prose from source-path error feedback (85050ac)
  • fix: align macOS reveal tests and platform compilation (7886f4d)
  • fix: reveal local files and clarify link failure recovery (4b8a1b9)
  • fix: restore link hover feedback and safely reveal source references (718381c)
  • feat: distinguish terminal windows with stable numbers and custom names (8f496c0)
  • chore(release): prepare v1.3.2 (0f5f13f)
  • fix: preview URL destinations and preserve usable links (8aaeb2a)
  • fix: complete OSC shell integration and simplify the wiki (3fbc7f5)
  • fix: enable Neovim undercurl and finish v1.3.2 palette and CI fixes (f616255)
  • fix: preserve keypad input and smooth pointer and palette behavior (7d43c6f)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.1

Choose a tag to compare

@github-actions github-actions released this 08 Sep 16:14
64f41d9

SonicTerm v1.3.1

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.1-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.1-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.1-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.1-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.1-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.1; macOS may require right-click → Open.

Changes since v1.3.0

  • fix: preserve macOS function-key encoding over native text (d8860c9)
  • chore: prepare SonicTerm v1.3.1 release (2395859)
  • fix(test): wait for dispatched Windows focus frames (ef442eb)
  • fix(test): use fixed-size reply chunks for current Clippy (01d665e)
  • fix: resolve final audit reply and window ownership regressions (9fa25e8)
  • fix(test): supply bundled fonts to native palette renderers (3fbf87d)
  • fix(io): preserve terminal replies under PTY backpressure (1d9ca97)
  • feat(ui): add stable tab navigation and contextual command discovery (ee3e6e1)
  • fix(deps): preserve shared Windows types in the DX12 allocator (44674ac)
  • refactor(render): compose production decisions in a bounded frame plan (bd6b21b)
  • fix(render): replace retained damage and clip pane images (fc1b0af)
  • chore(deps): Bump the patch-updates group across 1 directory with 112 updates (ab0b9af)
  • fix(test): use typed pixel chunks for Rust 1.98 Clippy (42b3d53)
  • test(app): serialize script-open panes with media accounting (28b10ce)
  • test(app): serialize script-open panes with media accounting (961f053)
  • fix(font): preserve fallback geometry and bound crash diagnostics (02940e1)
  • docs: reserve main CI as a release provenance gate (3a9c3d5)
  • fix(app): make ownership settlement and topology transfers transactional (ff02e4d)
  • fix(app): preserve pane identity and geometry across window interactions (f46491a)
  • docs: clarify tab transfer file roles (35f724f)
  • Initial plan (b663bdc)
  • fix(vt): preserve terminal state across erase and resize boundaries (5e9472a)
  • fix(io): report resize failures and retry unapplied sizes (13c2b25)
  • chore(mux): remove the unused standalone daemon (2b21933)
  • chore(deps): Bump actions/upload-artifact from 5.0.0 to 7.0.1 (6b6144a)
  • chore(deps): bump actions/download-artifact from 5.0.0 to 8.0.1 (c463192)
  • chore(deps): bump softprops/action-gh-release from 2.6.2 to 3.0.3 (1c454e1)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.

SonicTerm v1.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 07:03
1b37b02

SonicTerm v1.3.0

Downloads

  • linux / x86_64 / deb: download SonicTerm-v1.3.0-linux-x86_64.deb.
  • linux / x86_64 / tar.gz: download SonicTerm-v1.3.0-linux-x86_64.tar.gz.
  • macos / aarch64 / dmg: download SonicTerm-v1.3.0-mac-aarch64.dmg.
  • macos / x86_64 / dmg: download SonicTerm-v1.3.0-mac-x86_64.dmg.
  • windows / x86_64 / msi: download SonicTerm-v1.3.0-windows-x86_64.msi.
  • Integrity metadata: release-assets.json and SHA256SUMS.txt.
  • Release packages are unsigned for v1.3.0; macOS may require right-click → Open.

Changes since v1.2.8

  • chore(release): prepare v1.3.0 (fde3671)
  • fix(input): guard tab drags and attribute PTY rejection (2e30df0)
  • fix(app): keep zoomed splits visible and window-local (6ed75c6)
  • fix(ci): launch Windows smoke binaries explicitly (da3e134)
  • docs(ci): keep runner check portable (c0bdea0)
  • fix(app): keep ordering contract bounded (faa1725)
  • fix(ci): preserve merged smoke contracts (59164b3)
  • test(platform): require native presentation smokes (b605227)
  • docs(font): clarify bundled asset loading (27310cc)
  • fix(app): derive pane backstop from class inventory (744fd36)
  • fix(ci): verify every supported Cargo feature (60b5aff)
  • docs: define concurrent watcher development flow (a6b9789)
  • fix(app): reject unverified composed field text (c1be4f6)
  • fix(mux): preserve Windows pipe test name (90b268c)
  • fix(app): complete negotiated keyboard contracts (ef7e20c)
  • fix(ci): allow cold Ubuntu mirrors to complete (b0f9ae8)
  • fix(mux): await kill acknowledgements (60e4817)
  • fix(app): preserve BackTab at modifyOtherKeys level one (f41da84)
  • revert(ci): keep proven Windows shard layout (a30d3ff)
  • Fix remaining keyboard encoder Clippy warning (16d7eaf)
  • perf(ci): balance Windows verification shards (b659859)
  • Correct keyboard protocol normalization and routing (1e8db5a)
  • chore(ci): refresh corrected cold proof (2561333)
  • fix(ci): provide Linux core GPU runtime (0cb6d04)
  • perf(ci): shorten cross-platform critical paths (4d8d58a)
  • Document keyboard input compatibility (26ace85)
  • Implement cross-platform keyboard protocol support (1a0f83d)
  • test(mux): stabilize stale socket recovery (85de8f8)
  • fix(font): preserve native DirectWrite coverage (9c9f8f6)
  • test(mux): pin replay completion boundary (883239c)
  • test(ui): enforce direct module ownership (211f3fc)
  • test(release): bind MSI source version input (f0391e3)
  • test(release): reject unquoted tool pin shadows (d4136eb)
  • chore(release): pin packaging and coverage tools (20ed6d7)
  • test(release): validate pinned Windows MSI identity (0117659)
  • docs(mux): document replay branch contracts (e83178d)
  • fix(mux): release global state before replay (c46c1e1)
  • test(mux): make endpoint checks portable (95633bb)
  • fix(mux): satisfy current stable lint contracts (eeffbd2)
  • style(mux): apply endpoint test formatting (d383c31)
  • fix(mux): stabilize default endpoint identity (65bc626)
  • refactor(renderer): tighten compatibility seams (3e686e4)
  • fix(mux): make stream gaps recoverable (011caf1)
  • fix(mux): secure default IPC endpoints (fbcc008)
  • test(ui): enforce direct module test ownership (063f175)
  • fix(ci): budget release validation gates (296d1c2)
  • fix(ci): require release provenance evidence (0845406)
  • test(linux): exercise normalized reload state (04d0956)
  • fix(linux): normalize unsupported backdrops on reload (20c5883)
  • fix(renderer): report and reclaim row cache retention (7a27a9b)
  • test(app): pin post-text media reclamation (dd96b81)
  • test(vt): normalize heap proof formatting (c3f668f)
  • fix(vt): own media escape boundaries (750b47c)
  • fix(config): resolve keymaps consistently across platforms (0e2d59f)
  • fix(resource): preserve pane charges across owner moves (49988e0)
  • fix(font): bind COLRv1 selector rationale (0d6cfe8)
  • fix(ci): correct Dependabot update filter (efae892)
  • fix(font): align COLRv1 branch rationale (94b7ce9)
  • fix(font): harden COLRv1 gradients (65a9878)
  • fix(ci): pin workflow actions and narrow permissions (ccf8f7e)
  • fix(app): unify pane VT event handling (5e396b9)
  • fix(renderer): match Windows GDI color sampling (5b13d09)
  • fix(app): make tab tear-out transactional (0b7b52b)
  • fix(security): open Windows URIs without cmd expansion (fb8f1da)
  • feat(renderer): add Windows LCD subpixel presentation (40e6233)
  • fix(renderer): separate color glyph atlas sampling (4245420)
  • test(renderer): normalize source line endings (1b01505)
  • test(renderer): use fixed array chunks (ce11d04)
  • fix(renderer): linearize inline image atlas samples (b264629)
  • feat(tabs): show privilege warning locks (6fe7caf)
  • fix(renderer): premultiply translucent quad colors (1593170)
  • feat(app): resolve soft-wrapped local paths (0e8c52f)
  • fix(app): scope reveal actions to macOS (2b41939)
  • feat(app): resolve prose-relative paths safely (ce9693c)
  • fix(renderer): blend software quads in linear light (f6f001d)
  • fix(renderer): invalidate scrollbar-only frames (240094e)
  • fix(ci): bound workflow and evidence stages (e14ff13)
  • fix(renderer): bound zero-width line antialiasing (2624932)
  • test(renderer): isolate WARP line dispatch layers (0245b0b)
  • chore(ci): require green platform checks before merge (fb5d24c)
  • fix(renderer): keep primitive kind flat in the shader (7e3f048)
  • fix(renderer): separate line geometry from color transforms (2807433)
  • fix(deps): align the wgpu native patch crates (9385ae2)
  • chore(deps): bump ordered-float from 5.3.0 to 5.5.0 (93dc457)
  • chore(deps): bump the patch-updates group with 3 updates (73e32a8)

Verification

  • Unit tests run in CI on macOS, Windows, and Linux.
  • The release workflow validates tag/workspace-version consistency and all manifest-registered assets.
  • Linux packages pass X11/Xvfb and Wayland/Weston runtime smokes before publication.