v4.0.0-alpha.4
·
28 commits
to main
since this release
Summary
Release meta
Released on: 2026-05-21
Released by: github-actions[bot]
Published by: GitHub
Logs: full diff
Changelog
Bug Fixes
- Fix Windows UNC path handling (
\\server\share...) inPathResolverandDocument—base_diris now correctly posixified (\\→//) and..segments are expanded; previously_expandPathsilently fell back to returning the path unchanged becauserequire()is not available in ESM modules - Remove unused
posixfy()alias onPathResolver(duplicate ofposixify())
Improvements
- Add pluggable HTTP cache system (
HttpCache,MemoryHttpCache,HttpCacheManager) activated by thecache-uridocument attribute, mirroring Ruby’sopen-uri/cachedbehaviour. Whencache-uriis set, an ephemeral in-memory cache is used per conversion by default; register a customHttpCacheimplementation viaHttpCacheManager.setCache()for persistent or file-system-backed caching. - Export
HttpCache,MemoryHttpCache, andHttpCacheManagerfrom the browser entry point (browser.js), keeping it in sync withindex.js - Align
readSvgContentswith the Ruby reference implementation by delegating entirely tonode.readContents, removing the manualisUriish/normalizeSystemPathsplit - Fix
warnIfEmptyinAbstractNode#readContents— the empty-string check now correctly uses!= nullinstead of a truthy guard, so a warning is emitted for empty local SVG assets