2026-05-29
요약 (AI 작성)
오늘 ohah/suji에서는 IPC deferred-response의 잠재적 버그인 UAF, slot exhaustion, cross-kind, TTL 문제를 수정하고 PR #57으로 반영했다. ohah/zntc에서는 주요 Zig 0.16 마이그레이션을 완료하고 std.Io 오버홀을 수행했으며, bundler의 namespace import 처리, ambiguous export 충돌 해결, dev HMR 개선, resolver의 와일드카드 및 조건부 exports/imports 개선 등 다수의 버그 수정 PR과 함께 통합되었다. CI/CD 측에서는 arm64-windows cross-build, Windows-msvc advapi32 링크, stdcall 처리 등 Windows 호환성 개선, 그리고 setup-zig 0.16 마이그레이션과 관련된 여러 빌드/서버/테스트 개선을 진행했다.
커밋
ohah/suji
ohah/zntc
- fix(bundler): non-literal dynamic import 진단을 reason 메시지로 통일 (#3984)
- fix(bundler): CompiledModule.dupe shared_ns_decls 루프 부분-채움 누수 가드 (#3983)
- fix(resolver): 조건부 exports/imports 의 명시적 null target 을 차단 (#3981)
- fix(resolver): exports/imports 와일드카드를 longest-prefix 로 선택 (#3976)
- fix(diagnostic): expect()/jsx 진단을 'Expected X but found Y' 로 렌더 (#3985)
- fix(cli): unresolved-import suggestion 을 'did you mean' 대신 중립 hint 로 렌더 (#3986)
- fix(lexer): string literal \u{} 이스케이프 범위초과 검사 추가 (#3980)
- fix(transformer): es5 다운레벨에서 default 있는 중첩 destructuring lowering (#3979)
- fix(bundler): dev HMR 의 export*-from-CJS namespace 멤버 누락 수정 (#3975)
- fix(bundler): ambiguous export* 충돌을 spec 대로 거부/undefined 처리 (#3982)
- fix(bundler): namespace import of pure-CJS-star ESM 를 __toESM(require()) 로 처리 (#3975)
- fix(bundler): namespace import 의 export*-from-CJS 멤버를 런타임 구성 (#3975)
- test(bundler): ambiguous export* 게이트 차원별 회귀 보강 (#3982)
- fix(test): 범위초과 \u{} 이스케이프 통합 테스트를 expectError 로 교정 (#3980)
- fix(bundler): 진짜 누락 export 만 missing_export 진단으로 surface (#3978)
- fix(bundler): tryAddPluginFailureDiag 의 owned_diagnostic_strings append 를 diag_mutex 로 보호 (#3977)
- ci: arm64-windows 를 x64 호스트에서 cross-build (upstream Zig 0.16 회귀 회피)
- fix(server,cli): 0.16 getsockname stdcall + createDirPath symlink 처리
- fix(build): windows-msvc 에 advapi32 명시 링크 (undefined symbol)
- fix(bundler): graph 가 entry_dir 를 소유하도록 변경 (dangling borrow)
- ci: setup-zig 버전 0.15.2→0.16.0 (전 워크플로우/액션) (#1514)
- style: zig fmt (0.16 마이그레이션 편집 후 포맷 정리) (#1514)
- fix(server): WS/SSE/Error broadcast 락을 Io.Mutex 로 (blocking write 중 busy-spin 회귀 제거, io 스레딩) (#1514)
- fix(review): sourcemap debugId 내용시드 + --jobs 주석 정정 + shutdown listen_ready acquire + RealReadFileCache.io in-lock + resolve_cache browser-override resolve_ptr (#1514)
- [fix: realPathFileAlloc :0]u8 sentinel-free 잔존 site 정리 (CLI options/main/dev_server/napi options) (#1514)
- fix(wasm): single-threaded 모듈에 맞춰 JS bridge shared:false + 0.16 신규 WASI stub(fd_filestat_set_*/path_filestat_set_times/fd_readdir) (#1514)
- docs(CLAUDE): Tech Stack Zig 0.16.0 표기 (#1514)
- fix(bench): napi-callback-bench Io.Mutex/Condition + Io.Timestamp + bench.zig fixed writer (#1514)
- [fix: realPathFileAlloc [:0]u8 size-mismatch (federation dupe + dirPath :0]u8) (#1514)
- [fix(bundler): RealFS.realpath :0]u8→정확크기 dupe (DebugAllocator size-mismatch) (#1514)
- fix(test): profile setIoForTest + DirEntryCache.io 주입 (3 fail + 2 crash) (#1514)
- wip(test): basic walker.next(io) + bench realPathFileAlloc (#1514)
- wip(test): Term.exited/openDir(io)/bench print/graph.build io 잔여 (#1514)
- wip(test): makeDir→createDir/process.run/rebuild/lookupPkgInfo/realPathFileAlloc/glob/findProjectRoot io (#1514)
- wip(test): 유닛테스트 0.16 std.Io 마이그레이션 (5그룹 병렬, std.testing.io) (#1514)
- fix(napi): captureEnvironFromLibc Windows GlobalBlock comptime 분기 (#1514)
- fix(wasm-bundler): single-threaded 전환 (0.16 멀티스레드 wasm std 미지원 우회) (#1514)
- wip(wasm-bundler): bundle io + smp_allocator 시도 (멀티스레드 wasm allocator std 0.16 갭 잔존) (#1514)
- wip(wasm): bufferDiagnostics Io.Writer.Allocating (#1514)
- wip(wasm/schema): wasmIo + emit_schema juicy main (#1514)
- wip(napi): watch 2nd scanRoot io (#1514)
- wip(napi): watch fs(Io.Dir/writeFile)+scanRoot io+IoTimer (#1514)
- wip(server): wyhash/TrackedFileSet io (#1514)
- wip(napi): transpile_entry Allocating + watch bundle io + findTsconfigPath io (#1514)
- wip(napi): loadFromPath/resolveThreadSafe io + Clock.Duration + serve start io + watch SpinLock (#1514)
- wip(napi): io 생성/env capture + bundle/buildApp/autodiscover io + plugin_bridge/watch Io.Event (#1514)
- fix(server): MtimeBackend io field + io.sleep (Windows cross-build green) (#1514)
- fix(server): InotifyBackend io field (Linux cross-build green) (#1514)
- wip(server): InotifyBackend libc inotify_init1/add_watch + Io.File.close (#1514)