2026-03-31
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
zntc는 ES 버전 타깃에 더해 --target=chrome80,safari14 같은 브라우저·엔진 버전 타깃을 지원하도록 esbuild compat-table 기반 기능별 다운레벨링을 넣었습니다(#576). Vue SFC와 Svelte 컴파일러를 subprocess 플러그인으로 번들링하는 통합 테스트(#577, #578), --plugin·--proxy 사용 시 메모리 누수 수정(#579)에 이어, new Worker(new URL(...)) 패턴을 찾아 워커 파일을 별도 IIFE 번들로 만드는 Web Worker 자동 번들링(#580)이 들어왔습니다. 오후에는 parse와 resolve를 배치 단위로 반복하던 scan을 파이프라인으로 바꿔 15% 빨라졌고(#582), 이를 bun·esbuild처럼 Producer-Consumer 구조로 다시 짜 포인터 안정성 문제를 정리했습니다(#584, #585). CJS가 require()로 참조하는 JSON 모듈의 scope hoisting 분기도 고쳤습니다(#586).
밤에는 문자열·템플릿 SIMD 렉서와 이벤트 큐 스캔, 디렉터리 엔트리 캐시를 묶은 성능 개선(#587)과, bungae 연동을 위해 --platform=react-native 프리셋과 watch-json 출력, 증분 빌드를 넣은 #588을 병합했습니다.
suji는 EventBus를 WebView와 연결해 모든 백엔드가 JS로 이벤트를 보낼 수 있게 했고, 백엔드 이름 없이 invoke("ping")처럼 채널만으로 호출하는 Electron식 자동 라우팅과 선택적 target 지정, 중복 채널 경고를 추가했습니다. 채널 키 수명 문제로 나던 라우팅 크래시를 고치고 예제를 새 API로 바꾼 뒤, 타입을 갖춘 TypeScript SDK @suji/api와 테스트 16개를 추가했습니다.
공개 커밋 29개, 해당일 생성 또는 병합된 PR 13개를 정리했습니다. PR 생성 13개·병합 13개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/suji
- Add @suji/api JS SDK tests (16 tests)
- Add @suji/api JS SDK package
- Fix duplicate channel detection, register in multi-backend examples
- Fix routing crash: dupe channel key, update docs
- Add routing tests (70 total)
- Electron-style invoke with optional target, duplicate channel error
- Update all single-backend examples to Electron-style API
- Electron-style auto-routing: invoke("ping") without backend name
- Sync docs: Electron API, EventBus connection, 63 tests
- EventBus ↔ WebView connection, emit_event for all backends
ohah/zntc
- feat(bundler): 번개(bungae) 연동 — RN 플랫폼, watch-json, 증분 빌드
- fix(resolver): DirEntryCache symlink를 files+dirs 양쪽에 등록
- perf: SIMD 렉서 가속 + 이벤트 큐 스캔 + 디렉토리 엔트리 캐시
- refactor(bundler): /simplify — JSON scope-hoist 조건 메서드 추출, Linker.init에 format 전달
- fix(bundler): JSON 모듈 importer 기반 scope-hoist 분기 (esbuild 방식)
- fix(bundler): scanProducer resolve 패턴 개선
- refactor(bundler): scan Producer-Consumer 전환 — 포인터 안정성 근본 해결
- docs: ROADMAP 업데이트 — tree-shake 실측 반영, 다음 우선순위 정리
- perf(bundler): scan 파이프라인화 — 배치 경계 제거로 15% 개선
- docs: ROADMAP 업데이트 — Worker 완료, 버그 수정 기록, smoke 131개
- feat(bundler): auto-detect and bundle Web Workers
- fix: free plugin_paths and proxy_list in CliOptions.deinit
- fix(test): restore Svelte plugin test with absolute compiler path
- fix(test): remove Svelte plugin test (Svelte 5 compile API instability in CI)
- fix(test): simplify Vue SSR → bundle-only, Svelte → server generate
- style: oxfmt plugin.test.ts
- test(integration): add Vue SFC and Svelte compiler plugin tests
- style: zig fmt compat.zig
- feat(transformer): add engine target support (--target=chrome80,safari14)
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.