Skip to content

ntm

v1.12.0 Security

This release includes 4 security fixes for security teams reviewing exposed deployments.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →
This release patches 4 known CVEs

Topics

ai-agents cli developer-tools go tmux

Affected surfaces

rce_ssrf

Summary

AI summary

Broad release touches @Dicklesworthstone, Others, Quick Install ```bash, and Bug Fixes.

Full changelog

NTM v1.12.0

Named Tmux Manager - Orchestrate AI coding agents in tmux sessions with beautiful TUI interfaces.

Quick Install

# One-liner install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/Dicklesworthstone/ntm/main/install.sh | bash

# Homebrew (macOS/Linux)
brew install dicklesworthstone/tap/ntm

# Go install
go install github.com/Dicklesworthstone/ntm/cmd/[email protected]

Shell Integration

Add to your shell rc file:

eval "$(ntm shell zsh)"   # for zsh
eval "$(ntm shell bash)"  # for bash
eval "$(ntm shell fish)"  # for fish

Changelog

Features

  • 42600f4f6c2603502996bcc76de0964b1a66e8f4: feat(checkpoint): capture session-selected pane ID for accurate active pane restoration (@Dicklesworthstone)
  • 30989008f9baa59af8ef9b0352683007cf21ff14: feat(cli): improve invalid checkpoint handling, offline session resolution, and spawn prompt dispatch (@Dicklesworthstone)
  • 3a76812458ac8326bd5f581853a6abe08ce1444b: feat(ensemble): cross-project checkpoint resolution for resume, rerun, compare, and export (@Dicklesworthstone)
  • 87c6cd99961d294677bb24204375e8112a6c06f7: feat(state): honor NTM_CONFIG env var for state store path resolution (@Dicklesworthstone)

Bug Fixes

  • f53ce78ff9dd1d017d9930dc75f894c243057afa: fix(cli): fail closed on explicit-session project resolution instead of silently falling back to CWD (@Dicklesworthstone)
  • 55bfeb4b0d422b981d7a3d0c4dda45e890ed64b3: fix: repair installer release asset resolution (@Dicklesworthstone)
  • 3280c7977cd9a8a8582723ed715ecf4adc360aa0: fix: resolve robot surface session lookup and stale model metadata (@Dicklesworthstone)
  • 69e0d405d453d39e25ab9c95c088b92e7f4d8823: fix: stabilize release gates for v1.12.0 (@Dicklesworthstone)

Others

  • 5d2f01e4eef6016eab748eece3b3713bd2dc6c17: Centralize state store path resolution and fix checkpoint test fixtures (@Dicklesworthstone)
  • 775355f3c0a70aeb39c8bcb6f67975f855f30f96: beads: update issue tracker with new task entries (@Dicklesworthstone)
  • d15049decaff7bf055d41ff2329dcb1bf70c053b: chore(beads): bump migration-hint-ts to latest schema state (@Dicklesworthstone)
  • 85040002e7dc5d987c1de661f1a3542b8a29bd07: feat(events,robot): add Ollama agent type tracking and normalize agent type parsing (@Dicklesworthstone)
  • 1dbcce9d92566e367282be86c17a00867eaa6a2f: feat(robot,ensemble,serve,tui): offline session support, error tracking, and output collection from saved files (@Dicklesworthstone)
  • 3d9fd8a192d7a2c4304d6ad2475efc93b85a695f: fix(checkpoint,serve): handle symlink directory entries and validate session names in API (@Dicklesworthstone)
  • 42bdfc4fe4a4c1884a60ed76f435f953eeb46674: fix(mail,transfer): correct Agent Mail project-key resolution and harden reservation-transfer rollback atomicity (@Dicklesworthstone)
  • 7501292899272d2d73e634a2375d10f4554d4802: harden(handoff): skip symlinks and fall back on malformed YAML in reader (@Dicklesworthstone)
  • 4860c4d8d9da4434ac03d502882087e50edbbef9: refactor(checkpoint): harden path validation, add multi-window layout support, and improve scrollback diffing (@Dicklesworthstone)
  • 58fed583751b047295c89549ae17cb17ed533439: refactor(cli): add Ollama agent support, centralize config path resolution, and harden agent type handling (@Dicklesworthstone)
  • eebb9a5974686d5aec6d7c263cd0edf96479ee6b: refactor(cli): expand agent type support across copy, profile-switch, quota, and session commands (@Dicklesworthstone)
  • 9db7ee10431e066bc68e19561b4e66f42f9b9817: refactor(cli,config): consolidate path resolution to use selectedConfigDir/DefaultPath (@Dicklesworthstone)
  • a2f0a7f90c61386191a750e665269fd7c4801fa6: refactor(config): add command hooks system, strict TOML parsing, and project-aware config resolution (@Dicklesworthstone)
  • 96ba46292b33ba5fd4562603e0e333e8f9af34e0: refactor(parsing): enforce strict TOML/YAML parsing across all config subsystems (@Dicklesworthstone)
  • af6fa5859115efbf374390c1cce2134ade544eb5: refactor(robot,tmux,context,tui): extract pane-title session parser and expand attention feed and test coverage (@Dicklesworthstone)
  • 0025c51eeb10c6683326169f88246507fe503953: refactor(serve,state,tui): harden checkpoint API, use strict policy parsing, and fix config watching (@Dicklesworthstone)
  • b8065b074449c51f1d8f905f73b2d976c117debe: refactor(sqlite): migrate from mattn/go-sqlite3 to modernc.org/sqlite (pure Go) (@Dicklesworthstone)
  • 470fb16bac82ac20b6ac468eb111a130c9bcd1de: refactor(state,cli): unify timeline persistence path resolution with NTM_CONFIG/XDG precedence and validate checkpoint sessions via storage.List (@Dicklesworthstone)
  • 060af5ba0d22e0be72df31dba5267cca814ad649: security(checkpoint): harden storage against corrupt/malformed on-disk data with fail-closed validation (@Dicklesworthstone)
  • 60e68a3b544465f6b0a4a0cea0143bb5d243a421: security(checkpoint,cli): fail closed on corrupt/symlinked checkpoints, reject ambiguous ID prefixes in history and summary (@Dicklesworthstone)
  • 98212e08d01200d33a24c70ec26da3aedfcf7bad: security(checkpoint,ensemble): harden checkpoint storage against path traversal, symlinks, and corrupt data (@Dicklesworthstone)
  • bd1106763761070da78f9b09c7502387b2fce25a: security(handoff): prevent path traversal and symlink attacks in writer, add modtime fallback in reader (@Dicklesworthstone)
  • 1e3f17d4e83a4ebac75a73a40dd0468bd73613fa: test(serve): add test for invalid session name rejection in list checkpoints endpoint (@Dicklesworthstone)

Full Changelog: https://github.com/Dicklesworthstone/ntm/compare/v1.11.0...v1.12.0

Container Image: ghcr.io/dicklesworthstone/ntm:v1.12.0

Security Fixes

  • checkpoint: harden storage against corrupt/malformed on-disk data with fail-closed validation
  • checkpoint,cli: fail closed on corrupt/symlinked checkpoints; reject ambiguous ID prefixes in history and summary
  • checkpoint,ensemble: harden checkpoint storage against path traversal, symlinks, and corrupt data
  • handoff: prevent path traversal and symlink attacks in writer

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track ntm

Get notified when new releases ship.

Sign up free

About ntm

Named Tmux Manager — spawn, tile, and coordinate multiple AI coding agents (Claude, Codex, Gemini) across tmux panes with a TUI command palette.

All releases →

Beta — feedback welcome: [email protected]