Ghostty 1.3.0, 터미널 에뮬레이터의 **검색 기능** 및 **성능 개선**으로 무장!

by DD
2개월 전
조회수 34

스크롤백 검색(Scrollback Search), 네이티브 스크롤바(Native Scrollbars) 등 사용자 요청 기능 대거 추가

macOS 환경에서 AppleScript 지원 및 분할 드래그 앤 드롭(Split Drag and Drop) 기능 제공

성능 최적화 및 안정성 향상, 특히 메모리 누수(Memory Leak) 문제 해결

libghostty 분리 및 비영리 프로젝트 전환을 통해 지속 가능한 개발 환경(Sustainable Development Environment) 구축

스크롤백 검색(Scrollback Search) 및 네이티브 스크롤바(Native Scrollbars) 도입

Ghostty 1.3.0은 터미널 사용성을 대폭 향상시키는 스크롤백 검색(Scrollback Search) 기능을 macOS 및 GTK 환경에 도입했다. cmd+f(macOS) 또는 ctrl+shift+f(GTK) 단축키를 통해 검색을 시작하고, 화살표 키 또는 cmd+g/shift+cmd+g(macOS), enter/shift+enter(GTK)를 사용하여 검색 결과를 탐색할 수 있다. 또한, 네이티브 스크롤바(Native Scrollbars)를 지원하여 OS 환경에 맞는 사용자 경험을 제공한다.

macOS 환경에서의 AppleScript 지원

Ghostty 1.3.0은 macOS 환경에서 AppleScript를 지원하여 자동화 및 통합 기능을 강화했다. 이를 통해 윈도우, 탭, 분할 화면을 제어하고 텍스트, 키 입력, 마우스 입력을 보낼 수 있다. 예를 들어, 터미널 레이아웃 자동화, 작업 디렉토리별 터미널 이동 등의 워크플로우를 구현할 수 있다. macOS Automation 권한(TCC)을 통해 보안을 유지하며, 사용자는 설정을 통해 AppleScript 지원을 비활성화할 수 있다.

성능 최적화 및 안정성 강화

이번 릴리스에서는 성능 최적화와 안정성 향상에 중점을 두어, 특히 메모리 누수(Memory Leak) 문제를 해결했다. Claude Code에서 자주 발생하던 메모리 누수를 수정하고, AFL++ fuzz testing을 통해 터미널 이스케이프 시퀀스 파서(Escape Sequence Parser) 및 VT 스트림 프로세서(VT Stream Processor)에서 발생할 수 있는 잠재적인 문제를 발견하고 해결했다. 또한, I/O 처리 개선을 통해 asciinema 데이터셋의 재생 시간을 단축했다.

libghostty 분리 및 비영리 프로젝트 전환

Ghostty 1.3.0 개발 주기에 libghostty가 분리되어 독립적인 Zig 모듈로 제공된다. libghostty는 Ghostty와 거의 모든 코드를 공유하며, C API도 지원한다. 또한, Ghostty는 비영리 프로젝트로 전환되어 프로젝트의 지속 가능성을 확보했다. 이는 Ghostty가 상업적 이익을 위해 변경되거나 판매될 수 없음을 보장하며, 커뮤니티와 기여자를 보호하고 공공의 이익(Public Benefit)을 우선시하는 개발을 가능하게 한다.

Ghostty 1.3.0