<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/docs/next/website/src/data/config-reference.json, branch v0.9.3</title>
<subtitle>herdr but with less disrespect for the tmux community
</subtitle>
<id>https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3</id>
<link rel='self' href='https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/'/>
<updated>2026-09-28T09:58:09+00:00</updated>
<entry>
<title>feat: support multiple prefix keys (#4653)</title>
<updated>2026-09-28T09:58:09+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-28T09:58:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=7f89b11a11160874ba89f3be7c64b29960bd2df3'/>
<id>urn:sha1:7f89b11a11160874ba89f3be7c64b29960bd2df3</id>
<content type='text'>
* feat: support multiple prefix keys

keys.prefix accepts an array in addition to a single string so one
config can define several prefix keys. Every configured prefix enters
the same prefix mode, and the help panel lists them all.

Published keybinding profiles keep the primary prefix as a scalar and
carry the rest in an optional extra_prefixes field so older clients
keep working with the primary prefix.

* fix: reject an empty prefix list on reload

An explicitly empty keys.prefix array now stays empty through config
parsing so validation rejects it and a reload keeps the current
keybindings instead of silently falling back to ctrl+b.</content>
</entry>
<entry>
<title>feat!: replace the custom graphics api with optimized native kitty rendering (#4561)</title>
<updated>2026-09-24T17:59:48+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-24T17:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=c411883ec639c9893ed9c33021c890485e91727b'/>
<id>urn:sha1:c411883ec639c9893ed9c33021c890485e91727b</id>
<content type='text'>
* feat!: replace the custom graphics api with optimized native kitty rendering

* fix: enable safe kitty optimizations automatically

---------

Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>fix: stagger restored agent startups (#4487)</title>
<updated>2026-09-22T13:23:31+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-22T13:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=46a5091838de66c1be193990afc3ad9145e6b4f5'/>
<id>urn:sha1:46a5091838de66c1be193990afc3ad9145e6b4f5</id>
<content type='text'>
* fix: stagger restored agent startups

refs #4102

* fix: report startup delay changes requiring restart

refs #4102</content>
</entry>
<entry>
<title>feat: add configurable pane screen and scrollback clearing (#4383)</title>
<updated>2026-09-19T11:47:18+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-19T11:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e'/>
<id>urn:sha1:cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(windows): prefer pwsh for the default pane shell (#4297)</title>
<updated>2026-09-17T15:45:07+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-17T15:45:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=101ccc20d3c6483a38ed9e0a1239b2ab908b1704'/>
<id>urn:sha1:101ccc20d3c6483a38ed9e0a1239b2ab908b1704</id>
<content type='text'>
* fix(windows): prefer pwsh for the default pane shell

Windows panes launched Windows PowerShell 5.1 (powershell.exe) whenever [terminal] default_shell was unset, ignoring PowerShell 7 even when pwsh.exe resolved on PATH. Resolve the unset default against PATH and prefer pwsh.exe, falling back to the inbox powershell.exe. An explicit default_shell still wins.

* fix(windows): validate pwsh before using it as the default shell

portable-pty resolves the configured shell with Path::exists and passes that path to CreateProcessW, which does not fall through to later PATH entries. Selecting an invalid pwsh.exe would therefore break new panes instead of falling back. Only prefer a pwsh.exe that starts with the PE MZ magic, and return its path so the validated binary is the one launched.

* fix(windows): validate the full PE header before preferring pwsh

Checking only the DOS MZ signature still accepted truncated images, DLLs, and foreign-architecture binaries. Because portable-pty passes the resolved path straight to CreateProcessW without trying later PATH entries, validate the PE signature, the COFF header (machine, executable-image bit, not a DLL, section count), and the optional header before preferring pwsh.exe.

* fix(windows): accept native ARM64 pwsh and validate the section table

Herdr ships an x64 Windows build that also runs on Windows ARM64 under x64 emulation, so cfg!(target_arch) cannot tell whether a native ARM64 pwsh.exe is launchable. Accept every executable machine type Windows supports instead of rejecting ARM64 on the x86_64 build. Also bound-check the section table (40 bytes per declared section) after the optional header so a truncated table falls back instead of being selected.

* fix(windows): detect the native host machine for pwsh compatibility

Machine compatibility was derived from cfg!(target_arch), which reports the emulated x64 process on Windows ARM64, and then briefly accepted ARM64 on every host. Read the native machine with IsWow64Process2 in the platform layer instead: ARM64 Windows accepts ARM64/x64/x86 images, x64 accepts x64/x86, and x86 accepts only x86.</content>
</entry>
<entry>
<title>feat: add Letta Code detection and restore (#3107)</title>
<updated>2026-09-13T15:36:47+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-13T15:36:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=fc1cb77f0572948552377b23f7754a3016ac7dfa'/>
<id>urn:sha1:fc1cb77f0572948552377b23f7754a3016ac7dfa</id>
<content type='text'>
refs #3106

Co-authored-by: Cameron &lt;cameron@pfiffer.org&gt;</content>
</entry>
<entry>
<title>docs: prepare 0.9.0 release documentation</title>
<updated>2026-09-07T19:04:55+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-07T19:04:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=9be481fea6f884555dffdc39ff88286a4b07db46'/>
<id>urn:sha1:9be481fea6f884555dffdc39ff88286a4b07db46</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: make ui.pane_borders a three-state auto/always/off mode (#3234)</title>
<updated>2026-09-07T12:04:54+00:00</updated>
<author>
<name>Rudolf S.</name>
<email>rud.schmidt@gmail.com</email>
</author>
<published>2026-09-07T12:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=482818130407691154d1635d4029b95d0e730104'/>
<id>urn:sha1:482818130407691154d1635d4029b95d0e730104</id>
<content type='text'>
* feat: make ui.pane_borders a three-state auto/always/off mode

Legacy booleans keep parsing (true = auto, false = off); "always" frames
a lone pane while pane_outer_borders is enabled.

* fix: align pane border reload test and documentation

---------

Co-authored-by: Rudolf Schmidt &lt;me@rudionrails.com&gt;
Co-authored-by: Jonathan Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: add conditional styles for sidebar tokens (#3693)</title>
<updated>2026-09-06T20:44:15+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-06T20:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=c7b79294e28fe7c835691a25597fabf226ecfc20'/>
<id>urn:sha1:c7b79294e28fe7c835691a25597fabf226ecfc20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: enable kitty graphics by default</title>
<updated>2026-09-04T18:59:13+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-04T18:59:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=a2b128978a154c02311b90da778ca115758f75d7'/>
<id>urn:sha1:a2b128978a154c02311b90da778ca115758f75d7</id>
<content type='text'>
</content>
</entry>
</feed>
