Skip to content

Kokuban v0.4

Latest

Choose a tag to compare

@guicybercode guicybercode released this 28 Sep 21:14
· 8 commits to main since this release
020f03f

Self-update, macOS installer and desktop responsiveness update. The Git tag is v0.4; the Cargo package version is 0.4.0.

Added

  • Update Kokuban from itself. At launch a background check asks GitHub for the latest release; macOS shows vX available at the right of the status bar and Linux adds it to the window title. Nothing is downloaded until you ask:
    kokuban --check-update   # report whether a newer release exists
    kokuban --update         # download, verify and install it
    On macOS the app menu also has Check for Updates… and Install Update…. The update downloads the archive for the running target (or the disk image for Kokuban.app), refuses it unless its .sha256 matches, and replaces the executable or bundle in place; reopen Kokuban afterwards. Turn the check off with [update] check_on_startup = false or KOKUBAN_NO_UPDATE_CHECK=1. No network library is linked: the system curl, tar, shasum/sha256sum and hdiutil do the work.
  • macOS disk images with Kokuban.app (bundle ID io.github.guicybercode.kokuban) and a drag-to-Applications window, for Apple Silicon and Intel.
  • macOS: kokuban --version prints the version instead of opening a window.

Changed

  • Build release binaries with fat LTO and one codegen unit. Linux x86_64 PTY throughput rose 5–35% by workload and warmed glyph lookups up to 72% faster, while x86_64 full-frame CPU repaints became about 1–2% slower; see the release profile report.
  • macOS: the PTY reader blocks in poll instead of sleeping between scans. End-to-end throughput rose 20–393% by workload and idle wakeups fell from 93.8/s to 11.9/s on an Apple M4 (paired report).
  • Wait for PTY writability instead of sleeping 1 ms after each EAGAIN: large pastes into a draining macOS program went from 0.71 to 23.07 MiB/s (write report).
  • macOS: frames are drawn only when content, titles or shutdown need them (still capped at 60 Hz) instead of on a fixed 60 Hz timer. Idle wakeups fell from 8.0/s to 0.17/s and idle CPU by about 80% (render scheduling report).
  • Refreshed application icon without the irregular white border.

Fixed

  • macOS: when a split pane's shell exits, the remaining pane grows back to the full window. Its grid and PTY size used to stay at the split size, leaving text in part of the window.
  • macOS: Kokuban.app opened from Finder, the Dock or Launchpad starts the shell in the home directory instead of /.
  • macOS: output decoded while a frame was being drawn is no longer left undrawn until more output arrives.

Validation scope and limits

  • Release targets remain Linux x86_64, macOS Apple Silicon and macOS Intel, using Rust 1.94.1 and the locked dependency graph. Linux packages are built on Ubuntu 24.04; macOS on macOS 15 with a macOS 11 deployment target.
  • macOS executables and Kokuban.app are ad-hoc signed only, without Developer ID signing or notarization. The first launch of the downloaded app may need Open from the Finder context menu or approval in Privacy & Security.
  • The updater was exercised end to end on macOS Apple Silicon: a standalone executable against the published v0.3 archive, and Kokuban.app against this release's disk image (bundle replaced, signature and version verified). Live Linux downloads are covered by unit tests and CI builds, not yet by a real upgrade. v0.3 and older have no updater: install v0.4 manually once; later releases can then be installed with kokuban --update.
  • Performance figures come from the linked paired reports on their recorded hosts and revisions; they are not new measurements of the v0.4 binaries.

See the v0.3…v0.4 comparison, installation instructions and updating.

Downloads and validation

Computer Download
macOS Apple Silicon kokuban-v0.4-aarch64-apple-darwin.dmg (app) or .tar.gz (executable)
macOS Intel kokuban-v0.4-x86_64-apple-darwin.dmg (app) or .tar.gz (executable)
Linux x86_64 kokuban-v0.4-x86_64-unknown-linux-gnu.tar.gz

Download the file for your computer and its matching .sha256, then check it with shasum -a 256 --check (macOS) or sha256sum --check (Linux). Neither Rust nor Python is required to run Kokuban.

Built from commit 020f03fa0073dff874c7a8aa12bade844094a9d8 with Rust 1.94.1. Native release jobs and CI validate this source. Linux release checks exercise X11 rendering, command launching, clipboard, Omarchy theme/font behavior and startup of the extracted binary. macOS checks cover native Rust tests, executable architecture, dynamic dependencies and, for each disk image, its checksum, Applications link, app architecture, bundle version and code signature.

Packages were built from the verified v0.4 tag. BUILD-INFO.json records build_kind: tag, tag_commit_verified: true, the binary SHA-256 and source identity. Each archive includes configuration, icon, documentation, project and third-party notices, and required third-party source; Kokuban.app carries the project license and third-party notices in its Resources.

License and acknowledgment

Original Kokuban code and documentation use BSD-4-Clause. Advertising materials mentioning features or use of this software must include:

This product includes software developed by the Kokuban contributors.

The v0.1 release retains its original MIT license. Third-party licenses remain unchanged, including the MIT notices for derived Unicode tables and CC-BY-4.0 for the code of conduct.