2025 UpdatesLink to section

December 2025Link to section

libtmuxLink to section

libtmux shipped two releases in December:

v0.51.0 enforces deprecations: Legacy API methods (deprecated since v0.16-v0.33) now raise DeprecatedError instead of DeprecationWarning. See the migration reference table for old-to-new method mappings.

v0.52.0 enhances capture_pane() with 5 new parameters exposing tmux capture-pane flags:

  • escape_sequences (-e): Include ANSI escape sequences for colored output
  • escape_non_printable (-C): Escape non-printable chars as octal \xxx
  • join_wrapped (-J): Join wrapped lines back together
  • preserve_trailing (-N): Preserve trailing spaces at line ends
  • trim_trailing (-T): Trim trailing empty positions (tmux 3.4+)
Trusted Publisher attestationsLink to section

Three packages now publish with PyPI Trusted Publisher and build attestations:

This replaces long-lived PyPI API tokens with OpenID Connect (OIDC) authentication from GitHub Actions, and enables cryptographic verification that packages were built from their claimed source repository.

November 2025Link to section

libtmuxLink to section

libtmux v0.50.0 ships the long-awaited unified options and hooks API:

  • Unified Options API: New show_option(), show_options(), set_option(), and unset_option() methods on Server, Session, Window, and Pane
  • Hook Management: Full programmatic control over tmux hooks with indexed arrays and bulk operations via HooksMixin
  • SparseArray: Internal data structure for tmux’s sparse indexed arrays (e.g., command-alias[0], command-alias[99])
  • tmux 3.2+ baseline: Dropped support for older tmux versions, enabling cleaner code

See the Options and Hooks guide and release notes.

libvcsLink to section

libvcs v0.38.0 introduces typed APIs for traversing git repository entities:

See the Traversing Git Repos guide and release notes.

vcspullLink to section

vcspull shipped three releases focused on smoothing the new CLI flows:

  • v1.42.0 raises the floor to Python 3.10 and adopts libvcs 0.37 to stay current with upstream sync tooling.
  • v1.43.0 adds duplicate-root detection/merging to vcspull fmt, vcspull add, and vcspull discover so workspace sections stop clobbering each other.
  • v1.44.0 makes vcspull add path-first (auto-detecting name, remote, and workspace), shortens config paths in logs to ~/.vcspull.yaml, and stabilises CLI snapshots for future refactors.

The duplicate detection flow now keeps repository configs consistent end to end: vcspull fmt merges repeated workspace blocks, vcspull add infers metadata while honouring --no-merge, and vcspull discover surfaces duplicates before they reach vcspull sync, vcspull list, or vcspull status.

October 2025Link to section

vcspullLink to section

vcspull: Major CLI modernization (#472) for familiarity, aligning with DevOps tool conventions:

  • Support for adding repositories vcspull add (single repo) and vcspull discover (filesystem scan)
  • Normalized -f/--file for repo files across all commands
  • Added introspection commands: vcspull list (view repos) and vcspull status (health checks)
  • Added --dry-run support with Terraform-style plans for preview-before-apply workflows
  • Added structured output (--json/--ndjson) for CI/CD automation
  • Added semantic colors with NO_COLOR support
  • Short flags: -w for workspace, -n for dry-run, -f for file

See release notes for v1.39.0, v1.39.1, and v1.40.0.

July 2025Link to section

tony.shLink to section

tony.sh: Migrated the homepage from Sphinx to Astro.

hskflashcards.comLink to section

hskflashcards.com: Migrated from Gatsby to Astro.

February 2025Link to section

libtmuxLink to section

libtmux: Support for context managers have landed in v0.44.0, enabling automatic cleanup of servers, sessions, windows, and panes in tmux.

January 2025Link to section

social-embedLink to section

social-embed: Began overhauling of embed providers to be extendable.