Skip to content

v1.0.7 — Bugfix Release

Latest

Choose a tag to compare

@yeahhe365 yeahhe365 released this 21 Jul 08:42
· 2 commits to main since this release

v1.0.7 — Bugfix Release

16 bugs discovered and fixed across 8 commits during a full-project code review.

Critical (Data Corruption)

  • Markdown escaping: Links, images, and catalog items now escape ], ), \ and other metacharacters
  • Double-escaping regression FIXED: Link text no longer double-escaped (text nodes already escaped by tree walker)
  • mergeField: Now prefers price-with-currency-symbol over bare numbers and longer duration over truncated values
  • CJK word boundary: Chinese view count labels now correctly matched

High (Incorrect Output / Feature Breakage)

  • PRICE_RE: European postfix currency symbols now matched
  • Nested tables: Inner tr rows no longer leak into outer table output
  • Code fences: Adaptive backtick fence length prevents premature termination
  • Inline text escaping: Only semantically significant chars escaped (\ ` * _ [ ] ( ))
  • Nested list indent: No longer compounds across levels
  • Download listener: onChanged now removed on ALL exit paths
  • readExpectedTotal: Now captures total count rather than page offset (fixes 'Showing 1-20 of 500 results' → 500 not 1)
  • Scroll oscillation: scrollIntoView uses block:'start' to avoid center oscillation in accumulation loop

Medium (Quality / Robustness)

  • Defuddle re-injection: 749KB bundle now skipped on repeated clicks
  • betterTitle: Prefix match requires 55% overlap floor
  • Data URL size check: Uses encodeURIComponent length
  • _defuddleInjected guard: Auto-clears if >5000 entries
  • collectAttrsPrice: closest scoped to parentElement to avoid self-matching

Full Changelog: ce0f12c..fc20814