v0.1.0-beta.3 - fix HIGH parser DoS
Pre-release
Pre-release
Second CoalBoard dogfood pass (full mirror, nasa rigor) caught a HIGH the first pass missed.
[HIGH] the markdown parser was quadratic-time. md-ast parseInlineDest re-scanned the tail to end-of-string on every unclosed inline-link bracket, so a crafted doc of "[a](" fragments parsed in O(N^2) — measured 8 KB ~190 ms up to 32 KB ~2.9 s, extrapolated ~1 MB ~1 hr, while a benign 273 KB doc parsed in 5 ms. Root fix: the inline destination/title scans are length-bounded, and checkDocument refuses a doc over 512 KB (flagging doc-too-large) which also closes the transitive linked-file vector. Now near-linear, bounded ~5.7 s at the cap, never a hang. +2 timing regression tests. Confirmed by reproducing both the quadratic and the linear fix.