Repository navigation
Releases: D0n9X1n/SonicTerm
Releases · D0n9X1n/SonicTerm
Release list
SonicTerm v1.3.9
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.jsonandSHA256SUMS.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...
SonicTerm v1.3.8
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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...
SonicTerm v1.3.6
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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
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.jsonandSHA256SUMS.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.