herdr 0.8.0 업그레이드 노트
터미널 에이전트 멀티플렉서 herdr 의 0.8.0 이 2026년 8월 3일에 나왔다. 릴리스 노트에 달린 항목은 Added 10, Changed 8, Fixed 55, 합쳐서 73개다. 6월 중순 0.7.0 이후 나온 릴리스 중 가장 크다.
이 머신에 깔려 있는 것은 아직 0.7.5(7월 21일)다. 73개를 전부 읽을 이유는 없어서, 리눅스 호스트에서 코딩 에이전트를 pane 으로 여러 개 띄우고 git worktree 를 병렬로 굴리는 쓰임에 실제로 걸리는 것만 골라냈다. Windows 관련 수정이 13건으로 이번 회차의 큰 덩어리인데, 그쪽은 이 노트에서 대부분 뺐다.
릴리스 노트를 통째로 읽고 나면 늘 "그래서 내가 뭘 해야 하지"가 남습니다. 그 부분만 남기고 나머지는 접어 두었습니다.
라이선스가 Apache-2.0 이 됐다#
이번 회차에서 코드보다 큰 변경이다. herdr 는 AGPL-3.0-or-later 에서 Apache-2.0 으로 재라이선스됐고, GitHub 조직도 옮겨서 저장소와 설치 링크가 herdrdev/herdr 을 가리킨다. 공개 문서도 stable, preview, 그리고 버전이 박힌 불변 스냅샷으로 갈라졌다.
AGPL 은 사내 도입 검토에서 가장 자주 걸리는 조항이었다. 터미널 멀티플렉서를 네트워크 너머로 제공할 일이 실제로 있느냐와 무관하게, 법무 검토 단계에서 그 세 글자만 보고 되돌아오는 일이 잦다. 특허 조항까지 포함한 permissive 라이선스로 바뀌면 그 문턱 자체가 사라진다. 다만 재라이선스는 앞으로 나갈 배포본에 적용되는 것이고, 이미 받아 둔 0.7.x 바이너리와 그 소스가 소급해서 Apache-2.0 이 되지는 않는다.
herdr --skill 이 생겼다#
실행 중인 herdr 바이너리에 번들된 에이전트 스킬을 그대로 출력하는 명령이다. 별것 아닌 것처럼 보이지만 이 환경에서는 꽤 반가운 항목이다.
에이전트에게 herdr 조작법을 알려 주는 문서를 손으로 관리해 왔는데, 0.7.5 에서 CLI 인터페이스가 통째로 갈렸다. 최상위 wait 가 agent wait 와 pane wait-output 으로 쪼개졌고 agent send 는 agent send-keys 가 됐다. 손으로 쓴 문서는 그 사실을 모르는 채로 남아 있다가, 에이전트가 없는 명령을 부르고 나서야 드러난다. 바이너리가 자기 버전에 맞는 스킬을 뱉어 주면 그 드리프트를 diff 한 번으로 잡을 수 있다.
같은 줄기의 수정이 둘 더 있다. skills CLI 로 herdr 에이전트 스킬을 설치할 때 저장소 전체를 복사하던 문제가 고쳐졌고, Nix 빌드에 번들 스킬이 빠져 있어 herdr --skill 이 아무것도 못 내놓던 것도 함께 들어갔다.
렌더링 비용을 깎았다#
pane 을 많이 띄우는 쓰임에서 체감으로 이어질 만한 축이다. 네 항목이 같은 방향을 본다.
| 바뀐 것 | 이전 동작 |
|---|---|
| 에이전트 상태 표시가 사이드바·네비게이터·모바일에서 같은 정적 마크로 통일 | 에이전트가 일하는 동안 스피너를 계속 다시 그렸다 |
| 숨은 pane 의 출력은 TUI 렌더를 유발하지 않음 | 보이지 않는 pane 이 떠들어도 화면을 다시 그렸다 |
| 단순 마우스 이동이 연속 풀 렌더를 유발하지 않음 | 커서를 움직이는 것만으로 전체 렌더가 돌았다 |
| 워크스페이스 git 조회와 foreground cwd 검사가 렌더·API 처리를 막지 않음 | 반복 조회가 렌더 스레드를 붙잡았다 |
마우스 쪽은 herdr 자체 메뉴의 hover 상태와 pane 앱으로 가는 마우스 추적은 그대로 유지한다고 못박아 뒀다. 확장 버튼 드래그도 herdr hover 를 보존하면서 앱에는 드래그를 넘긴다.
이 축은 0.7.5 에서도 손을 댔었다. Windows 의 foreground 프로세스 스냅샷을 pane 사이에서 공유해 유휴 CPU 를 줄인 것, Ceph 같은 네트워크 파일시스템에서 pane 작업 디렉터리 캐시가 반복 검사를 안 하게 한 것이 그때 들어갔다. 0.8.0 은 그 연장선이다.
이런 변경의 효과를 확인하겠다고 배터리 전력을 켬·끔으로 비교하는 것은 권하지 않습니다. 배경 부하가 신호를 덮어서 그럴듯한데 틀린 수가 나옵니다. ps -o time= 로 누적 CPU 시간을 고정 간격으로 두 번 재서 델타를 보는 편이 프로세스에 제대로 귀속됩니다.
에이전트 자동화의 잔가시#
herdr 를 스크립트로 몰아 쓰는 쪽에서 실제로 밟았던 것들이 정리됐다.
- 프롬프트가 composer 에 남던 문제. 이제 텍스트를 보낸 뒤 잠깐 기다렸다가 Enter 를 누른다. 그전에는 프롬프트만 입력창에 얹히고 턴이 시작되지 않는 경우가 있었다. 0.7.5 에 들어간
agent_prompt_stalled보고(5초 동안 상태 변화가 없으면 무한 대기 대신 보고)가 그 증상을 드러내는 쪽이었다면, 이번 것은 원인 쪽 수정이다. - 읽기 결과가 잘렸는지 알 수 있다. pane·agent read 응답이 오래된 터미널 행을 생략했을 때
truncated: true를 보고한다. 잘린 줄 모르고 요약하던 실패가 사라진다. - 서버가 안 떠 있을 때의 에러가 읽힌다. CLI 소켓 명령이 raw I/O 에러 대신
server_not_running을 돌려준다. - CLI·API 로 마지막 tab 을 닫으면 워크스페이스도 닫힌다. TUI 동작과 어긋나 있던 것이 맞춰졌다.
- 포커스가 튀지 않는다. 포커스가 아닌 워크스페이스를 닫아도 현재 포커스가 그대로고, 마지막 pane 이 끝나 배경 워크스페이스가 스스로 닫혀도 마찬가지다. 방향키 pane 포커스 이동은 Navigate 모드를 유지한다.
- 유휴 대체화면 에이전트의 텍스트 히스토리를 자동으로 읽는다. 수집이 끝나면 애플리케이션 뷰포트를 원래대로 되돌린다. 헤드리스 서버도 TUI 클라이언트가 붙기를 기다리지 않고 복원된 세션을 재개한다.
worktree 와 워크스페이스 정렬#
worktree 를 병렬로 띄우면 사이드바가 금방 헝클어진다. 그쪽에 네 건이 들어갔다.
workspace.move_block과workspace.reordered이벤트가 추가돼 worktree 그룹을 원자적으로 재정렬할 수 있다.- worktree 부모와 자식이 사이드바에서 붙어 있다. 그룹을 재정렬하는 동안에도 흩어지지 않는다.
- 연결된 worktree 워크스페이스가 git 메타데이터 갱신 중에도 라벨을 유지한다.
- worktree CLI 도움말과 문서에서 중복이던
--json플래그 안내가 빠졌다. 명령은 원래부터 JSON 전용이고, 플래그 자체는 호환을 위해 계속 받아 준다.
한국어와 비-US 키보드 쪽#
이 자리는 매 회차 조금씩 나아지는 영역이다.
- copy-mode 의
e가 읽기 창이 wide glyph 로 끝날 때도 길게 소프트랩된 CJK 줄을 건너간다. - prefix 모드와 Navigate 모드가 비-US 배열의 시프트 키바인딩을 인식한다. 기존 US 문장부호 지원은 그대로다.
Ctrl+_입력 바이트가Ctrl+-로 잘못 디코드되던 것이 고쳐졌다.- Windows 한글 IME 에서
experimental.switch_ascii_input_source_in_prefix가 동작한다. prefix 를 누를 때 입력기를 영문으로 돌려 주는 옵션이다. - WSL 클라이언트가 터미널 ioctl 이 픽셀 크기를 0 으로 보고할 때 호스트에 셀 크기를 되묻는다. 8x16 폴백으로 그래픽이 뭉개지던 것이 사라진다.
업그레이드할 때 볼 것#
0.8.0 릴리스 노트에는 Breaking Changes 절이 없다. 0.7.5 에는 있었다. 플러그인의 설치·링크 상태가 herdr 세션별 격리에서 사용자 전역으로 바뀌어서, 0.7.3 시절 특정 이름의 세션에만 설치해 둔 플러그인은 다시 설치해야 했다. 그 단계를 이미 지났다면 이번 업그레이드는 herdr update 한 줄이다.
다만 설정 쪽에 손이 갈 만한 것이 셋 있다.
- experimental 옵션이 Settings TUI 에서 빠졌다. 없어진 것은 아니고 config 파일에서만 접근한다. TUI 로 켜 둔 실험 옵션이 있었다면 지금이 config 파일로 옮겨 적을 때다.
- 새 UI 옵션 둘.
ui.pane_scrollbars = false는 pane 스크롤바를 감추고 그 자리를 차지하던 한 칸을 본문에 돌려준다.ui.tab_bar_position = "bottom"은 데스크톱 탭 줄을 pane 아래로 내린다. - Claude 통합 갱신이 설정 파일의 기존 키 순서와 서식을 보존한다.
settings.json을 부트스트랩 스크립트로 관리하고 있다면, herdr 가 한 번 다녀갈 때마다 나던 무의미한 diff 가 줄어든다.
키바인드 도움말에 / 로 여는 실시간 필터가 붙은 것도 소소하게 좋다. 백스페이스와 Ctrl+U 로 지운다. 새로 붙은 에이전트 통합은 Grok CLI 와 Antigravity CLI 두 종으로, 둘 다 세션 보고와 네이티브 복원(grok --resume <id>, agy --conversation <id>)을 지원한다.
73개 중에 이 환경이 실제로 마주칠 자리는 스무 남짓이었습니다. 나머지는 Windows 와 네이티브 키 입력 쪽이라 접어 두었으니, 그쪽에서 herdr 를 쓰신다면 원문을 직접 보시는 편이 낫습니다.
출처: herdr v0.8.0 릴리스 노트, v0.7.5 릴리스 노트, herdr.dev. 릴리스별 항목 수는 각 릴리스 노트의 불릿을 센 값이다.