수정 2026-10-11
v1.36.297
2026-10-11
핵심 변경
Fixed: on Windows, decision, lesson and memory writes that replace an existing file could take 20 s or more per file, or fail with "Windows metadata-preserving replacement failed: spawnSync ... powershell.exe ETIMEDOUT" (T-0343). This happened when Leerness ran in an environment with no PSModulePath.
Fixed: on Linux and macOS, commands no longer act on a file that another writer is publishing (T-0343). Publication there renames the file away and links the new bytes while it holds the file's lock, so for a moment the file is missing. These commands checked whether the file exists before taking that lock. Each one now checks under the lock:
Fixed: memory footprint, memory write admission and encoding check now see a file added to a directory while they scan it, even when the directory's timestamps do not change (T-0343). Each now lists the scanned directories again and compares the names. Before, these checks compared the directory's lstat only. Measured over 2,000 adds, that lstat stayed the same 1,986-1,990 times on Linux (4 ms timestamp ticks) and 1,478 times on Windows. Before, encoding check could report complete coverage while it missed such a file.