2026-09-17
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
maru 편집기가 진단을 그리고 언어 서버에 붙은 날입니다. 전날 열린 #3786이 병합돼 진단 층이 섰습니다. 첫 출처는 tree-sitter의 ERROR/MISSING 노드이고, 구문 오류가 gutter 글리프·지그재그 밑줄·막대와 미니맵 마커로 서며 F8/⇧F8로 오갑니다(§5.4). 실제 앱 캡처에서 뿌리 자체가 ERROR가 되면 파일 전체가 빨갛게 칠해지는 것을 보고, 뿌리는 진단으로 내지 않고 늘 내려가게 고쳤습니다. 이어 LSP seam 1단으로 transport·수명·신뢰 프롬프트·Full sync·publishDiagnostics 합치기·상태바 설치 안내를 세웠고(#3788), 프로그램이 닫은 모달을 거부로 기억하지 않게 하는 등 캡처가 잡은 셋을 고쳤습니다. 2단 ①로 포인터가 멈추면 진단 문장과 언어 서버 hover를 낱말 아래 상자로 보이는 호버 박스를 열었습니다(§8.2b, #3789). 진단 줄을 VS Code 마커 호버 모양으로 맞추는 #3790은 이날 PR이 열렸습니다.
zntc는 v0.1.8 릴리스 커밋을 냈습니다(#4657). 그 전에 zntc.config의 alias를 app 빌드까지 배선하고 배열형 alias 디렉토리를 해석하게 했으며(#4652), ESM-wrap의 named-local export default가 var/function을 이중 선언하던 것(#4653), export default가 전역을 가리키면 splitting 청크가 깨지던 것과 onResolve의 external: true가 반영되지 않던 것(#4654), --outfile/--outdir이 산출물 보류 게이트를 건너뛰던 것(#4655)을 고쳤습니다. v0.1.7 이후 모든 PR의 CI를 install 단계에서 죽이던 bun.lock과 stale TSC 스냅샷도 갱신했고(#4656), 릴리스 뒤 bun.lock을 다시 동기화했습니다(#4658). package.json module 필드 해석분에 Node CJS interop을 적용하지 않게 하는 #4661은 이날 열렸습니다.
공개 커밋 21개, 해당일 생성 또는 병합된 PR 12개를 정리했습니다. PR 생성 11개·병합 10개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/maru
- test(editor): 호버 박스 적대적 1~4회차 — 변이 41 전부 사살; 판정자 7 보강 (§8.2b)
- feat(editor): 호버 박스 — 포인터 정지 → 진단 문장 + 언어 서버 hover 를 낱말 아래 상자로; show_hover 명령·editor.hover(-delay) (§8.2b)
- docs(tooling): §8.2b LSP 2단 ① 호버 박스 — 계획 공격: popup_box 가 기하를 가졌다·트리거 정책의 자리·진단 메시지 자리; VS Code·Zed 300ms
- fix(build): 가짜 언어 서버를 macOS 집계 샤드도 먼저 설치한다 — CI 에서 LSPB1·2 가 「없음」으로 빠졌다; 없으면 skip 이 아니라 에러
- test(editor): LSP seam 적대적 1~5회차 — 변이 40 전부 사살; 판정자 12 보강 + LSPB1 ⑸ 판정자 결함 수정 (§8.2a)
- fix(editor): LSP 신뢰 — 프로그램이 닫은 모달은 거부로 기억하지 않고, 오버레이가 떠 있으면 묻기를 미루며, root 는 파일 트리 규칙 (§8.2a 캡처 실측)
- feat(editor): LSP seam 1단 — transport·수명·신뢰 프롬프트·Full sync·publishDiagnostics 합치기·상태바·설치 안내 (§8.2a)
- docs(tooling): §8.2a LSP seam 1단 — 계획 공격: 코드 0, fork+pipe·tick drain 의 결, 번들 없음·워크스페이스마다 묻고 기억·설치 안내(사용자 결정)
- test(editor): 진단 층 적대적 5~10회차 — 조각 저장소·개행 byte 마커·focus 기준·가로 스크롤·위젯 행·색 파생·토큰 흐름
- fix(editor): 진단 출처 — 뿌리 ERROR 는 진단이 아니다(파일 전체 밑줄), 늘 내려간다 (§5.4, 제품 캡처 실측)
- test(editor): 진단 층 적대적 1~4회차 — 줄 첫 byte 의 진단, 낮은 severity 먼저, 중첩 ERROR, 파싱 끊긴 프레임, 랩 행 글리프, 슬롯 우선순위, ⇧F8
- feat(editor): 진단 층 — 구문 오류가 gutter 글리프·지그재그 밑줄·막대/미니맵 마커로 서고 F8/⇧F8 이 오간다 (§5.4)
- docs(editor): §5.4 진단 층 — 계획 공격: 출처가 없었다, 첫 출처는 구문 오류(tree-sitter ERROR/MISSING, 사용자 결정)
ohah/zntc
- chore: release v0.1.8
- fix(ci): v0.1.7 post-publish bun.lock 동기화 + #4648 이후 stale TSC 스냅샷 갱신
- fix(cli): --outfile/--outdir 이 산출물 보류 게이트를 건너뛰던 것 수정
- fix(plugin): onResolve 의 external:true 를 실제로 반영
- fix(bundler): export default 가 전역을 가리키면 splitting 청크가 깨지던 문제
- fix(bundler): ESM-wrap 의 named-local export default 가 var/function 을 이중 선언
- fix(napi): sync plugin hook 에도 native resolver 주입 — 배열 alias 가 app 빌드에서 동작
- fix(app): zntc.config 의 alias 를 app 빌드까지 배선 + 배열형 alias 디렉토리 해석
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.