2026-05-18

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

zntc는 전날에 이어 Module Federation을 다듬었습니다. 정적 import "remote/x"에 P3 검증을 통합하고(#3464), shareStrategy·strictVersion config 표면과 strictVersion 빌드 시점 실패 처리(#3465, #3466), expose의 CSS 에셋을 manifest에 게시하는 작업(#3470), 같은 remote를 여러 번 import할 때 무결성 검사·경고를 한 번만 하는 dedup(#3473)을 병합했습니다. shared마다 named share scope를 지정하는 config와 컨테이너 init의 다중 scope 해석, interop 테스트로 named scope 다중 지원을 마무리했고(#3476, #3477, #3478), 발행된 @zntc/core가 zntc.config의 mf 설정을 네이티브로 넘기지 않던 문제를 고쳤습니다(#3483). MF seam은 옵션 레이어에서 번들러의 단일 적용점으로 옮겼고(#3487), 실행 예제 앱과 한·영 사용자 가이드(#3485, #3486)를 더해 로드맵의 MF 지원 상태를 미지원에서 부분 지원으로 고쳤습니다(#3488). 런타임 동적 remote는 빌드 검증이 어렵다는 한계도 문서에 적었습니다.

정규식 쪽에서는 AST를 패턴 텍스트로 되돌리는 printer를 추가하고(#3500) regex_lower의 임시 순회를 parse, AST 변환, printer 경로로 바꿨습니다(#3505). 이 위에서 u 플래그 다운레벨로 astral 문자를 담은 긍정·부정 문자 클래스를 surrogate 대안으로 풀고(#3514, #3516), i와 u를 함께 쓸 때 simple case-fold 등가 확장(#3518)을 넣었습니다. 고정 크기였던 named group·backref 버퍼를 SmallVec로 바꾸고(#3502), parse 오류 경로의 메모리 누수도 막았습니다(#3506).

RN 릴리스 번들 안정화 PR 두 개(#3480, #3494)는 CJS export 정보 보존, automatic JSX runtime 사용, Metro와 같은 소스 확장자 순서, 워크스페이스 심링크의 논리 경로 유지, minify 시 미해결 전역과 최종 re-export import 이름 예약, CJS default interop 표식 보존 같은 수정을 묶어 병합했습니다. 비인라인 CJS import 이름 충돌 수정 #3519도 이날 열렸습니다. 이 밖에 es5 class async 메서드의 optional chaining 임시 변수 hoist 누락(#3467) 수정, config·NAPI 옵션을 CLI 플래그로 노출하고 --version·--no-config·--color를 추가한 CLI 작업(#3489, #3490), 인라인 테스트를 *_test.zig 파일로 분리하는 테스트 배치 정리(#3498)가 있었습니다. 로드맵에는 NativeWind, RN CLI+MCP와 Chrome CDP 검증, Hermes 타깃 다운레벨 계획을 추가했고, 공개 API 레퍼런스의 JSDoc을 영어로 바꾸고 라이브러리 빌드 레시피를 썼습니다.

suji는 state에 이은 두 번째 공식 플러그인으로 SQLite를 추가하고 모바일 백엔드와 iOS·Android 예제 앱 변형까지 만들었으며, @suji/plugin-state-node·@suji/plugin-sqlite-node 래퍼로 4개 언어 SDK 구성을 채웠습니다. Electron API 대응으로 session.clearStorageData, desktopCapturer.getSources와 썸네일 캡처, 영역 지정 capturePage, powerMonitor의 locked 상태, macOS 딥 링크용 Info.plist 자동화, TIFF 클립보드, 응답 없는 webRequest 리스너의 timeout 폴백이 들어갔습니다. 보안 쪽은 renderer 권한 allowlist를 shell·dialog로 넓히고, Tauri와 같은 형태의 모바일 권한 게이트를 C ABI 코어(Stage 1)와 iOS·Android 호스트 글루(Stage 2)로 구현했으며, 캡처·인쇄의 경로 쓰기 명령을 fs 샌드박스로 묶었습니다. zig 핸들러 스키마에서 .d.ts를 생성하는 suji types 명령도 추가했습니다. 블로그 저장소 ohah.github.io의 커밋 12개는 크론의 문서 점검 표시와 요약 갱신 커밋입니다.

공개 커밋 101개, 해당일 생성 또는 병합된 PR 48개를 정리했습니다. PR 생성 48개·병합 47개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/ohah.github.io

ohah/suji

ohah/zntc

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/zntc#3519생성mergedmainfix(rn): deconflict non-inlined CJS imports
ohah/zntc#3518생성 · 병합mergedmainfeat(regexp): i+u case-fold — simple case-fold 등가 확장 (#3511)
ohah/zntc#3517생성 · 병합mergedmainchore(e2e): content-type 케이스 주석 터스 1줄로 정리
ohah/zntc#3516생성 · 병합mergedmainfeat(regexp): negated class u-downlevel — complement surrogate-alternation (#3513)
ohah/zntc#3515생성 · 병합mergedmaintest(e2e): content-type 스모크 — default→named import 정정
ohah/zntc#3514생성 · 병합mergedmainfeat(regexp): positive class astral u-downlevel — surrogate-alternation (#3509)
ohah/zntc#3510생성 · 병합mergedmaindocs(guides): 레시피에 Module Federation 실행 예제 추가
ohah/zntc#3507생성 · 병합mergedmaindocs(regexp): printer 헤더 예시 오타 수정 (\u{41}→A)
ohah/zntc#3506생성 · 병합mergedmainfix(regexp): mod.parse 에러 경로 ast_nodes/ast_extra 누수 차단 (#3503)
ohah/zntc#3505생성 · 병합mergedmainrefactor(regexp): regex_lower ad-hoc walk → parse+AST transform+printer (#1475 PR2)
ohah/zntc#3504생성 · 병합mergedmainrefactor(regexp): printer hex 출력 oxc canonical 대문자 정렬 (#1475 R2 제거)
ohah/zntc#3502생성 · 병합mergedmainfix(regexp): named-group/backref 버퍼 고정 [16]/[32] → SmallVec spill (#3501)
ohah/zntc#3500생성 · 병합mergedmainrefactor(regexp): AST → 패턴 텍스트 printer 추가 (#1475 PR1)
ohah/zntc#3499생성 · 병합mergedmaindocs(testing): 테스트 배치 epic 종료 — pub-노출 재시도 금지 박제
ohah/zntc#3498생성 · 병합mergedmainrefactor(test): cli/app 인라인 test 를 옆 파일 *_test.zig 로 분리
ohah/zntc#3497생성 · 병합mergedmaindocs(testing): Zig 테스트 코드 배치 규약 명문화
ohah/zntc#3496생성 · 병합mergedmaindocs(recipes): 라이브러리(npm 패키지) 빌드 레시피 추가
ohah/zntc#3495생성 · 병합mergedmaindocs(napi): 설치 예제를 패키지매니저 탭으로 통일
ohah/zntc#3494생성 · 병합mergedmainfix(rn): stabilize minified release bundles
ohah/zntc#3493생성 · 병합mergedmaindocs(rfc): §8.2 RN 스파이크0 설계 박제 + RS256→Ed25519 정합 (#3318)
ohah/zntc#3492생성 · 병합mergedmainfix(examples): sherif — module-federation 의존성 알파벳 정렬
ohah/zntc#3491생성 · 병합mergedmaindocs(api): 공개 API 레퍼런스 JSDoc 영어화
ohah/zntc#3490생성 · 병합mergedmainfeat(cli): --version/-v, --no-config, --color/--no-color 추가
ohah/zntc#3489생성 · 병합mergedmainfeat(cli): config·NAPI 구현 옵션을 CLI 플래그로 노출
ohah/zntc#3488생성 · 병합mergedmaindocs(roadmap): Module Federation 지원 상태 정정 (❌ → 🟡)
ohah/zntc#3487생성 · 병합mergedmainrefactor(mf): MF seam 을 옵션 레이어→번들러 단일 적용점 — ④ (#3318)
ohah/zntc#3486생성 · 병합mergedmaindocs(mf): Module Federation 사용자 가이드 (ko+en) — PR-B (#3318)
ohah/zntc#3485생성 · 병합mergedmaindocs(mf): examples/module-federation 실행 예제앱 — PR-A (#3318)
ohah/zntc#3484생성 · 병합mergedmaindocs(roadmap): RN Hermes 타겟 다운레벨 계획 추가
ohah/zntc#3483생성 · 병합mergedmainfix(mf): 발행 @zntc/core 가 zntc.config mf 를 native 로 전달 (#3318)
ohah/zntc#3482생성 · 병합mergedmaindocs(roadmap): RC-1 범위 정정 — argv 어댑터(S~M), 빌드는 코어 .node 유지
ohah/zntc#3481생성 · 병합mergedmaindocs(roadmap): RN CLI+MCP / Chrome CDP 검증 지원 계획 추가
ohah/zntc#3480생성 · 병합mergedmainfix(rn): stabilize zntc release bundle
ohah/zntc#3479생성 · 병합mergedmaindocs(roadmap): NativeWind (RN+Tailwind) 지원 계획 추가
ohah/zntc#3478생성 · 병합mergedmaintest(mf): named share scope 다중 interop 박제 — #4-2 완결 (#3318)
ohah/zntc#3477생성 · 병합mergedmainfeat(mf): 컨테이너 init 다중 named scope 해석 — #4-1 (#3318)
ohah/zntc#3476생성 · 병합mergedmainfeat(mf): per-shared shareScope config 표면 — named scope 다중 #4-0 (#3318)
ohah/zntc#3475생성 · 병합mergedmaindocs(rfc): mangler size-gap RFC 141-lib 재검증 도장
ohah/zntc#3474생성 · 병합mergedmaindocs(mf): #4 런타임 동적 remote 빌드검증 한계 명시 + MF 지원 상태 정정 (#3318)
ohah/zntc#3473생성 · 병합mergedmainperf(mf): verifyHostContract dedup — 같은 remote 다중 import 무결성·경고 1회 (#3318)
ohah/zntc#3472생성 · 병합mergedmaintest(mf): __mfGuardedLoad↔표준 errorLoadRemote 비-충돌 검증·문서화 — ⚠️ 해소 (#3318)
ohah/zntc#3471생성 · 병합mergedmainrefactor(transformer): state-machine temp-hoist 4중 중복 → 단일 helper
ohah/zntc#3470생성 · 병합mergedmainfeat(mf): expose CSS assets manifest 게시 — #3468 (#3318)
ohah/zntc#3469생성 · 병합mergedmaindocs(mf): manifest assets 정확성 — js.async 단일청크 정합 명시, CSS 갭 추적 (#3318)
ohah/zntc#3467생성 · 병합mergedmainfix(transformer): es5 class async 메서드 optional-chaining temp hoist 누락 (react-query v5 CI)
ohah/zntc#3466생성 · 병합mergedmainfeat(mf): strictVersion 빌드타임 fail-fast 격상 — #2 완결 (#3318)
ohah/zntc#3465생성 · 병합mergedmainfeat(mf): shareStrategy/strictVersion config 표면 + manifest/init emit (#3318)
ohah/zntc#3464생성 · 병합mergedmainfeat(mf): 정적 import P3-1 검증 통합 + e2e 박제 — PR-3 (#3459)