mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-08-28 16:45:22 +00:00
3.7 KiB
3.7 KiB
Changelog
Unreleased
- Keep the SSH transport persistent while making
ssh_bashexplicitly stateless: every call starts in the active remote cwd and local Pi cwd/environment metadata can no longer leak into remote execution. - Add reviewed, sequential
ssh_cdworkspace changes for persistent remote cwd selection without a hidden interactive shell; dependent remote calls are explicitly deferred until the change succeeds. - Clarify remote shell prompt metadata and add regression coverage for cwd isolation, atomic workspace changes, failure preservation, and subsequent shell/file/search path resolution.
- Make
ssh_connecta sequential reviewed state transition so establishing or replacing the active connection cannot overlap dependent remote operations. - Separate remote-search execution cwd from its absolute target root, including regression coverage for single-file
ssh_greptargets. - Resolve relative and
~/remote paths to absolute targets in permission previews while retaining the original request and excluding remote paths from local filesystem gates. - Replace unbounded HOME/cwd capture with cancellable, bounded, random-marker probes that accept one absolute POSIX path and preserve prior state on failure.
- Allow up to four independent SSH exec channels while retaining serialized SFTP operations; queued exec cancellation is immediate.
- Report bounded imported host ID alternatives for unknown IDs and add actionable resolved-root guidance for 30-second remote-search timeouts.
- Normalize
ssh_grephidden-file, basename-glob, and portable ERE behavior across ripgrep, Git, and fallback backends; reject~userpaths. - Treat fallback grep exit 1 as a genuine no-match without hiding find or grep errors, separate backend stderr, and use bounded NUL-delimited grep records for newline-safe filenames.
0.9.0 - 2026-08-21
- Add reviewed, agent-callable
ssh_connectfor explicitly imported hosts. - Remove the user-side
/sshcommand,--sshstartup flag, session-resume reconnect, and remote user-!override. - Route connection authorization through the existing
pi-permission-systemand AutoReview chain with a non-secret target preview. - Disconnect active transports at session shutdown and require an explicit reviewed connection in each session.
0.8.0 - 2026-08-20
- Replace the OpenSSH subprocess, ControlMaster, and persistent PTY implementation with a pure
ssh2transport. - Add password, keyboard-interactive, private-key, and encrypted-private-key authentication.
- Add selective
ssh -Ghost import through the rootssh_config.shhelper. - Add an AES-256-GCM host vault with an adjacent owner-only random key.
- Pin and verify SHA256 SSH host-key fingerprints.
- Move remote file operations to SFTP and keep dedicated collision-free
ssh_*tools. - Restrict runtime connections to explicitly imported host IDs and reject ProxyJump/ProxyCommand in this release.
- Remove automatic remote project instruction discovery and preserve the existing permission-system/auto-review integration.
- Add reviewed
ssh_findandssh_greptools with boundedfd/Git/POSIX fallback pipelines and no remote installation. - Route
ssh_bashoutput through RTK's Bash compaction alias while leaving remote command rewriting and structured search/read output disabled. - Preserve adaptive-search backend exit status through bounded pipelines, treating genuine no-match results as success while surfacing invalid regexes, missing roots, and backend failures.
- Add regression coverage for private-key/passphrase and keyboard-interactive authentication, pinned-key probing, SFTP reads/access/writes/rename fallback, image detection, aborts, timeouts, and disconnect fail-closed behavior.