[2.4.0] - 2026-09-30
✨ Features
✨ Add a packaged native timing worker, deterministic workspace discovery, rule/plugin aggregation, and guarded analysis APIs with deduplication, timeouts, stale state, and retry recovery.
✨ Support eager live analysis and static snapshots with --stats while preserving configuration overrides, source files, project caches, deployment bases, and machine-path privacy.
✨ Add Slow Rules and Slow Plugins views with timing summaries, pagination, metadata, accessible lifecycle states, and documented measurement limits.
🧪 Cover native parsing, configuration fixtures, worker lifecycle, HTTP boundaries, packaged live analysis, and static exports.
🛠️ Bug Fixes
🐛 Render loading and analysis messages with native output elements and group performance controls with a fieldset while preserving accessible names and layout.
🚜 Separate native timing-row validation from table scanning, keep plugin sorting immutable, and simplify worker errors and ordered override discovery.
🧪 Retain existing malformed timing, worker failure, configuration, accessibility, and browser lifecycle coverage for the unchanged behavior.
📦 Dependencies
-
167add7— ⬆️ [build] Update npm_and_yarn dependencies -
81bfbd6— ⬆️ [build] Update npm_and_yarn dependencies -
d3d5758— ⬆️ [build] Update npm_and_yarn dependencies
🛠️ Other Changes
73fb94b— Merge remote-tracking branch 'origin/main' into feat/stats-ui-consistency
- origin/main:
⬆️ [build] Update npm_and_yarn dependencies
⬆️ [build] Update npm_and_yarn dependencies
⬆️ [build] Update npm_and_yarn dependencies
🎨 Styling
🎨 Unify neutral surfaces, lavender accents, navigation, controls, typography, responsive layouts, popovers, focus states, and status announcements across all six pages.
🐛 Make Configs mode selection idempotent, expand merged rules correctly, match generic plugin namespaces by metadata ownership, and reconnect live updates after initial fetch recovery.
🐛 Keep rule-state popovers usable by keyboard and restore focus when the font menu closes.
🧪 Extend Chromium and Firefox coverage for filtering, view controls, expansion, links, clipboard actions, preferences, asynchronous failures, live updates, and Stats lifecycle transitions.
🧪 Capture and attach every page in both themes at desktop/mobile widths, plus narrow/tablet popover stress cases with larger text and reduced motion.
📝 Document profiling commands, timing limits, snapshot behavior, and browser testing workflows.
🧪 Testing
🧹 Chores
c4c1e75— Release v2.4.0