repos / zmx

session persistence for terminal processes
git clone https://github.com/neurosnap/zmx.git

commit
27bd9b8
parent
19d1b76
author
Eric Bower
date
2026-03-18 21:49:47 -0400 EDT
chore: prep for 0.4.2 release
5 files changed,  +18, -12
M CHANGELOG.md
+9, -2
 1@@ -2,18 +2,25 @@
 2 
 3 Use spec: https://common-changelog.org/
 4 
 5-## Staged
 6+## v0.4.2 - 2026-03-18
 7 
 8 ### Changed
 9 
10 - `zmx list` renamed keys and made formatting more stable
11+- More accurate fish completions
12 
13 ### Fixed
14 
15-- `zmx run` stdin regression with ZMX_TASK_COMPLETED
16+- Validate session name length against Unix socket path limit
17+- Use platform-correct `O_NONBLOCK` for fcntl
18+- Daemon ignore `SIGPIPE`, handle `EINTR` in poll
19+- Daemon isolate forked child from parent code path and heap-alloc argv
20+- `zmx run` stdin regression with `ZMX_TASK_COMPLETED`
21 - `zmx run` when no client is attached, send DA response query from daemon
22 - `zmx run` re-quote when using shell meta chars
23 - `zmx wait` use-after-free
24+- `zmx wait` time out after 3 polls if no matching sessions are found
25+- `zmx list` clean up socket on `ConnectionRefused`, not `Timeout`
26 
27 ## v0.4.1 - 2026-02-23
28 
M README.md
+4, -4
 1@@ -29,10 +29,10 @@
 2 
 3 ### binaries
 4 
 5-- https://zmx.sh/a/zmx-0.4.1-linux-aarch64.tar.gz
 6-- https://zmx.sh/a/zmx-0.4.1-linux-x86_64.tar.gz
 7-- https://zmx.sh/a/zmx-0.4.1-macos-aarch64.tar.gz
 8-- https://zmx.sh/a/zmx-0.4.1-macos-x86_64.tar.gz
 9+- https://zmx.sh/a/zmx-0.4.2-linux-aarch64.tar.gz
10+- https://zmx.sh/a/zmx-0.4.2-linux-x86_64.tar.gz
11+- https://zmx.sh/a/zmx-0.4.2-macos-aarch64.tar.gz
12+- https://zmx.sh/a/zmx-0.4.2-macos-x86_64.tar.gz
13 
14 ### homebrew
15 
M build.zig.zon
+1, -1
1@@ -1,6 +1,6 @@
2 .{
3     .name = .zmx,
4-    .version = "0.4.1",
5+    .version = "0.4.2",
6     .fingerprint = 0x28aad87005052b4e, // Changing this has security and trust implications.
7     .minimum_zig_version = "0.15.2",
8     .dependencies = .{
M docs/index.html
+4, -4
 1@@ -49,10 +49,10 @@
 2 
 3     <h3 class="text-md">binaries</h3>
 4     <ul>
 5-      <li><a href="/a/zmx-0.4.1-linux-aarch64.tar.gz" download>zmx-0.4.1-linux-aarch64.tar.gz</a></li>
 6-      <li><a href="/a/zmx-0.4.1-linux-x86_64.tar.gz" download>zmx-0.4.1-linux-x86_64.tar.gz</a></li>
 7-      <li><a href="/a/zmx-0.4.1-macos-aarch64.tar.gz" download>zmx-0.4.1-macos-aarch64.tar.gz</a></li>
 8-      <li><a href="/a/zmx-0.4.1-macos-x86_64.tar.gz" download>zmx-0.4.1-macos-x86_64.tar.gz</a></li>
 9+      <li><a href="/a/zmx-0.4.2-linux-aarch64.tar.gz" download>zmx-0.4.2-linux-aarch64.tar.gz</a></li>
10+      <li><a href="/a/zmx-0.4.2-linux-x86_64.tar.gz" download>zmx-0.4.2-linux-x86_64.tar.gz</a></li>
11+      <li><a href="/a/zmx-0.4.2-macos-aarch64.tar.gz" download>zmx-0.4.2-macos-aarch64.tar.gz</a></li>
12+      <li><a href="/a/zmx-0.4.2-macos-x86_64.tar.gz" download>zmx-0.4.2-macos-x86_64.tar.gz</a></li>
13     </ul>
14 
15     <h3 class="text-md">homebrew</h3>
M src/completions.zig
+0, -1
1@@ -138,5 +138,4 @@ const fish_completions =
2     \\complete -c zmx -n "__fish_seen_subcommand_from l list" -l short -d 'Short output'
3     \\complete -c zmx -n "__fish_seen_subcommand_from hi history" -l vt -d 'History format for escape sequences'
4     \\complete -c zmx -n "__fish_seen_subcommand_from hi history" -l html -d 'History format for escape sequences'
5-
6 ;