2026-06-16
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
maru는 감사에서 나온 터미널 결함부터 고쳤습니다. 콜론 SGR 하위 파라미터가 별도 SGR로 새던 문제, 스크롤 바닥에서 autowrap이 soft-wrap 플래그를 잃던 문제, kitty query가 구현하지 않은 플래그를 광고하던 문제(#535부터 #537까지), 탭 문자가 지나는 셀을 덮어쓰던 문제, SGR-Pixels 마우스 좌표, kitty Ctrl+Shift 조합의 코드포인트(#544)를 바로잡고 ABI 크기·오프셋 가드를 보강했습니다. 이어 ICH·DCH(#545)와 origin mode DECOM(#546)을 넣었습니다.
kitty graphics는 placement 코어(#547)에서 시작해 이미지 노출과 GPU 이미지 환산, ABI 채널과 업로드 계획, textured quad와 텍스처 캐시를 쓰는 Metal 렌더(#551)까지 연결했고, chunked 전송·zlib 압축·PNG 디코드(#552부터 #554까지), 세분화된 delete와 LRU·텍스처 eviction(#555부터 #557까지)을 더했습니다. 리뷰 후속으로 placement 자원 정리, chunk 도중 독립 명령 처리, 큰 단일 전송을 위한 APC 버퍼 동적화, 자동 크기 이미지의 커서 이동(#570)을 넣었고, 이미지 파이프라인 벤치로 추가 캐시가 필요 없다는 결론을 냈습니다. brew 진행 표시가 줄마다 쌓이던 문제는 CSI s·u 커서 저장·복원으로 고쳤습니다(#566).
후반은 VT 기능 공백을 G 시리즈로 메웠습니다. 취소선·윗줄·흐림 SGR(#558부터 #560까지)과 장식선 overlay 통합, OSC 10·11 색 질의와 설정(#573, #577), OSC 52 클립보드(#574, #575), OSC 4·104 256색 팔레트(#576), OSC 9·777 데스크톱 알림(#578, #579), DEC 라인 드로잉 charset, 동적 탭스톱, 벨·NEL, REP·IRM·SU·SD 등 소형 항목 묶음(#583), 화면 반전 DECSCNM, 깜빡임·숨김·이중 밑줄·밑줄 색 SGR(#585), DCS 상태 기계와 DECRQSS(#586), keypad 모드와 numpad SS3 인코딩(#588, #591)이 들어왔습니다. 활성 pane 오른쪽 스크롤바(#589), 이중 밑줄 렌더(#590), 설정으로 켜는 blink 애니메이션(#592)도 병합됐습니다.
zntc는 전날 열린 --rn-version #4437을 병합해 RN 문서 기준으로 버전별 다운레벨 타깃을 고를 수 있게 하고 지원 범위와 출력 크기 벤치를 문서화했습니다. 이어 디스크 캐시(이슈 #4438)를 단계별로 쌓아 AST 직렬화 codec(#4439), semantic 정보와 HashMap 직렬화(#4440, #4441), source·AST·semantic을 한 엔트리로 묶는 module codec(#4442), atomic write와 샤딩을 하는 IO 레이어(#4444), 보수·정밀 무효화 키(#4445), 디스크 모듈 store(#4446), git SHA 기반 compiler_build_id 주입(#4447)을 병합했습니다. 블로그 저장소에는 오늘의 커밋 요약과 크론 맞춤법 커밋이 올라갔습니다.
공개 커밋 76개, 해당일 생성 또는 병합된 PR 68개를 정리했습니다. PR 생성 67개·병합 68개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/maru
- feat(renderer): blink 애니메이션 (SGR 5, config text.blink로 opt-in·기본 정적)
- feat(terminal): G10 numpad SS3 인코딩 (application keypad 완성)
- feat(renderer): double underline 2중선 실제 렌더 (SGR 21)
- feat(platform): 터미널 스크롤바 UI (활성 pane 우측 thumb)
- feat(terminal): G10 DECKPAM/DECKPNM keypad 모드 (ESC =/ESC >)
- fix(terminal): G시리즈 code-review 수정 — REP 이중변환·metalFrame null 가드
- feat(terminal): G14 DCS 상태기계 + DECRQSS
- feat(terminal): G1 잔여 SGR 확장 — blink/conceal/double-underline/underline color
- feat(terminal): G9 DECSCNM 화면 반전 (CSI ?5)
- feat(terminal): G5/6/7/8/11/13 소형 VT 갭 일괄
- feat(terminal): G12 BEL·NEL·VT/FF (시스템 벨, ABI v53)
- feat(terminal): G4 동적 탭스톱 — CBT/HTS/TBC
- feat(terminal): G3 charset 지정 — DEC 라인드로잉 (ESC ( 0, SI/SO)
- feat(platform): OSC 9/777 데스크톱 알림 platform wiring (G2e-w, ABI v52)
- feat(terminal): OSC 9/777 데스크톱 알림 코어 파싱 (VT 갭 G2e)
- feat(terminal): OSC 10/11 색 set + 110/111 reset, clear color까지 (VT 갭 G2d, ABI v51)
- feat(terminal): OSC 4/104 256색 팔레트 set/reset/query (VT 갭 G2c)
- fix(test): imeCursorRect 테스트 undefined-memory enum switch 하드닝
- feat(platform): OSC 52 클립보드 platform wiring (G2b-w, ABI v50)
- feat(terminal): OSC 52 클립보드 코어 파싱 (VT 갭 G2b — platform wiring 후속)
- feat(terminal): OSC 10/11 전경/배경색 질의 응답 (VT 갭 G2a)
- docs(implementation-plan): W5 atlas 공유 + #5~7 이미지 캐시 설계 분해·측정
- fix(perf): core_resize_loop budget을 2s로 — CI runner 변동 흡수
- feat(terminal): kitty 자동 크기 이미지 커서 advance (접근 B, code-review #2)
- perf(tools): kitty 이미지 파이프라인 벤치 추가 — 캐시화 불필요 확정 (code-review #10)
- fix(terminal): restoreFromSlot이 줄 끝 pending_wrap 복원을 무효화하던 버그
- perf(platform): kitty 이미지 렌더 pipeline/vertex 재바인딩 hoisting (code-review #11)
- fix(terminal): CSI s/u (SCOSC/SCORC) 커서 저장/복원 — brew progress 줄쌓임 수정
- fix(terminal): kitty APC 버퍼 동적화 — 큰 단일 transmit 수용 (code-review)
- fix(terminal): kitty chunked 전송 중 독립 명령 처리 — chunk 버리고 실행 (code-review)
- fix(terminal): kitty 자원 정합 — placement orphan 정리 + used 이미지 evict 보호 (code-review)
- refactor(terminal): kitty inflate 통합 + over-read 대칭 + placement doc 정정 (code-review)
- refactor(renderer): 텍스트 장식선 overlay 통합(LineOverlay) + dim 일관성 (code-review)
- feat(terminal): SGR 2/22 dim/faint (VT 갭 G1c, ABI 무변경)
- feat(terminal): SGR 53/55 overline (VT 갭 G1b, ABI 무변경)
- feat(terminal): SGR 9/29 strikethrough (VT 갭 G1a, ABI 무변경)
- feat(platform): kitty graphics 텍스처 eviction (K4c, ABI v49)
- feat(terminal): kitty graphics LRU evict (K4b)
- feat(terminal): kitty graphics 세분화된 delete (K4a, a=d d= 타깃)
- feat(terminal): kitty graphics PNG 디코드 (K3c, f=100 8-bit truecolor)
- feat(terminal): kitty graphics zlib 압축 (K3b, o=z)
- feat(terminal): kitty graphics chunked 전송 (K3a, m=1)
- feat(platform): kitty graphics 이미지 Metal 렌더 (K2d) — textured quad + 텍스처 캐시
- feat(platform): kitty graphics 이미지 ABI 채널 + 업로드 플래너 (K2c, ABI v48)
- feat(renderer): kitty graphics placement→GpuImage 환산 (K2b)
- feat(terminal): kitty graphics 이미지 노출 + upload generation (K2a) + K2 설계
- feat(terminal): kitty graphics placement 코어 (K1) — display a=p/T 저장·노출·생애주기
- feat(terminal): DECOM (origin mode, DECSET ?6) — CUP/HVP/VPA를 scroll region 상대로 (VT 갭)
- feat(terminal): ICH/DCH (CSI @ / CSI P) — insert/delete characters (VT 갭)
- fix(terminal): kitty Ctrl+Shift+printable이 shifted codepoint를 보내던 버그 — base-layout key로 (audit #14 MEDIUM)
- fix(terminal): DECSET 1016(SGR-Pixels) mouse가 픽셀 대신 셀 좌표를 리포트하던 버그 (audit #14 MEDIUM)
- test(platform): CellMetricsResult ABI @sizeOf/@offsetOf 가드 — coretext native 계약 (audit #14 MEDIUM)
- docs(pty): shutdownChild의 SIGKILL reap 주석을 실제 동작에 맞게 정정 (audit MEDIUM)
- test(platform): ABI 정합 가드 보강 — GlobalHotkey @sizeOf + CommandEntry @offsetOf (audit MEDIUM)
- fix(platform): mouse reporting 진입이 드래그 autoscroll을 stuck시키던 버그 (audit MEDIUM)
- fix(terminal): HT(tab)가 지나는 셀을 덮어쓰던 버그 — 커서만 이동 (audit MEDIUM)
- fix(terminal): kitty query가 미구현 flag를 거짓 광고하던 버그 (audit HIGH)
- fix(terminal): autowrap이 scroll-bottom에서 soft-wrap flag를 잃던 버그 (audit HIGH)
- fix(terminal): SGR colon sub-parameter가 별도 SGR로 새던 버그 (audit HIGH)
ohah/ohah.github.io
- docs: 2026-06-16 요약 AI 작성
- fix: adjusted spelling and phrasing in development-7 doc
- Corrected spelling and improved content in index.mdx
- fix(zts): spelling fixes in docs/monthly-opensource/zts/development-17.mdx
ohah/zntc
- feat(cache): compiler_build_id 주입 (build.zig git SHA) #4438
- feat(cache): 디스크 모듈 store — codec+IO 결합 레이어 #4438
- feat(cache): 무효화 키 (보수/정밀 + 차등 테스트) #4438
- feat(cache): 디스크 캐시 IO 레이어 (atomic write + 샤딩) #4438
- refactor(cache): codec IO 원시함수 공유 util 추출 #4438
- feat(cache): module 결합 codec — source+AST+semantic 한 엔트리 #4438 PR4
- feat(cache): semantic HashMap 5개 직렬화 — 디스크 캐시 #4438 PR3
- feat(cache): semantic 직렬화 codec (relocatable 부분) — 디스크 캐시 #4438 PR2
- feat(cache): AST 직렬화 codec — 디스크 캐시 #4438 PR1
- fix(rn): --serve 경고 + rn_version_matrix 결합 제거 + 불변식 주석 (deferred 정리)
- fix(rn): --rn-version RN-preset 경로 누락 배선 + 검증 정렬 (code-review max 후속)
- docs: --rn-version 지원 버전 범위 + 출력 크기 벤치 + config 옵션 문서화
- feat(compat): --rn-version 타겟 — RN 문서 기준 버전별 다운레벨
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.