Changelog
Generated from CHANGELOG.md in the project repository. Never maintained twice.
0.4.9
14 September 2026
- fixedThe debug overlay, accessibility heuristic and SEO inspection are now actually loaded only when enabled, as 0.4.2 stated. A static import from the navigation metrics had pulled them into the entry script every tracked page loads; in the demo build that script drops from 16.1 kB to 4.7 kB gzip, and Vite no longer warns about ineffective dynamic imports.
0.4.8
11 August 2026
- addedThe local dashboard shows browser-visible page checks per route: title, description, canonical, language, H1, Open Graph, skip link, image
alt, link text, form labels and valid JSON-LD.
0.4.7
11 August 2026
- addedRun sitemap pass in the local dashboard opens every page listed in
/sitemap.xmlin the current tab and returns with local measurements. The explicitly started pass bypasses sampling; consent and Do Not Track still apply.
0.4.6
11 August 2026
- changedRedesigned the local dashboard with native system fonts, responsive metric cards, concise local-data status, and accessible rating pills.
0.4.5
11 August 2026
- fixedExposed the dashboard integration as
@casoon/astro-webvitals/integration, so Astro can load it fromastro.configwithout importing the.astrocomponent.
0.4.4
11 August 2026
- addedOptional browser-local dashboard storage (
dashboard) with a bounded history of 200 metrics. - added
webVitalsDashboard()Astro integration, which injects a static, noindex dashboard route at/__web-vitalsby default.
0.4.3
11 August 2026
- addedOptional Web Vitals attribution (
attribution) with compact diagnostic context. - addedOptional
LongTaskreporting, browser metric events (webvitals:metric), configurablemaxBatchSize, and experimental browser soft-navigation reporting. - addedExplicit
consentandrespectDntcollection gates. - addedOpt-in retry queue for failed
fetchreports, bounded to 50 entries inlocalStorage. - changedReplaced outdated examples and feature claims with documentation matching the package API.
- changedAdded reporting unit tests for IDs, deltas, transport selection, and retry persistence.
0.4.2
11 August 2026
- changedReplaced custom vital calculations with Google's
web-vitalspackage for LCP, CLS, INP, FCP, and TTFB. - changedReporting now includes stable metric IDs, deltas, ratings, and navigation types.
- changedMetrics flush on
visibilitychange/pagehideand usesendBeaconwhere possible. - changedLoaded overlay, console, SEO, and accessibility code only when those features are enabled.
- fixedPrevented duplicate initialization when the component is rendered more than once.
- fixedRemoved the misleading programmatic FID/INP trigger and legacy FID collection.
- fixedEscaped SEO and overlay data before rendering it into the debug UI.
0.4.1
11 August 2026
- fixedThe bundled client script's import path was
../client/indexinstead of./client/index, pointing outsidesrc/— broke the module import introduced in 0.4.0.
0.4.0
11 August 2026
- changedClient architecture - The ~2500-line inline client script is now split into TypeScript modules under
src/client/(metrics, UI, accessibility, SEO, reporting) and loaded as a bundled module script instead of a raw inline script. This makes the client logic covered by type-checking and linting for the first time, and lets browsers cache the script across page loads instead of re-downloading it inline on every page. - changedUpgraded
typescriptto^7.0.2(from^6.0.3),astroto^7.2.0,@biomejs/biometo^2.5.8. - changedRemoved
src/lib/- an unused, unreferenced set of metric/util modules that weren't exported or imported anywhere. - fixed
sampleRateand the auto-generatedsessionIdwere evaluated once at build time in the Astro frontmatter, so every visitor of a statically generated page shared the same sampling decision and session ID. Both are now evaluated client-side, per page load. - fixedCaptured console messages were inserted into the console dock without escaping, allowing HTML/script injection via
console.log/console.errorcalls that include untrusted content. - fixedA WCAG label lookup could throw on element
ids containing CSS-selector-breaking characters, aborting the rest of the accessibility check. - fixedThe FID measurement could register a duplicate
PerformanceObserveron BFCache restore without disconnecting the previous one. - fixed
console.log/info/warn/errorwere monkey-patched on every tracked page load regardless of whetherdebugorconsoleDockwas enabled; now only patched when needed.
0.1.6
17 December 2025
- changedDocumentation Update - Comprehensive README overhaul with current features and usage
- changedConsole Tab - Renamed from "Console & Error Detection" to "Console Viewer" for clarity
- changedCHANGELOG - Updated to reflect all features accurately
0.1.5
9 December 2025
- addedAuto-FID Measurement - Automatic FID measurement after 3 seconds using non-intrusive hidden element
- addedImproved LCP Detection - Better LCP measurement using renderTime/loadTime with validation
- addedEnhanced Debug Logging - Detailed console logs for all metric measurements when debug mode is enabled
- addedSEO Tab - Comprehensive SEO analysis in debug overlay:
- addedTitle and meta description with length validation
- addedCanonical URL and robots meta detection
- addedX-Robots-Tag header check via fetch
- addedIndexability status badge
- addedOpen Graph and Twitter Card validation
- addedStructured Data (JSON-LD) parsing with schema-specific warnings
- addedHeading outline with H1 count validation
- addedImage alt text and dimension checks
- addedCopyable SEO report for bug tickets
- improvedLCP Measurement - Now uses
renderTime || loadTimeinstead of juststartTimefor more accurate results - improvedLCP Finalization - Reduced timeout from 3s to 2s for faster final values
- improvedFID Simulation - Creates invisible, non-interactive button element:
- improvedUses
pointer-events: noneto prevent accidental clicks - improvedPositioned off-screen with
left: -9999px - improved
aria-hidden="true"andtabindex="-1"for accessibility - improvedAutomatically cleaned up after measurement
- improvedConsole Buffer - Increased from 50 to 200 message history
- improvedRadial Gauge - Performance score displayed as circular gauge with gradient
- fixedLCP Not Updating - Fixed renderTime/loadTime extraction for more reliable measurements
- fixedFID Blocking - FID simulation now uses isolated element that can't interfere with real user interactions
0.1.4
9 December 2025
- addedRadial Gauge Visualization - Performance score displayed as circular gauge with gradient
- addedImproved Metrics Layout - Grouped sections for Core Web Vitals, Additional Metrics, and Navigation Timing
- addedExpandable Accessibility Details - Click to expand issue categories with individual element details
- addedLearn More Links - Direct links to web.dev documentation for each accessibility issue type
- addedQuick Wins Section - Actionable tips based on detected accessibility issues
- addedMetric Descriptions - Each metric now shows a helpful hint (e.g., "Loading performance", "Visual stability")
- improvedBetter Initial State for Metrics - CLS shows 0.000 (good) by default instead of "waiting"
- improvedInteraction-based Metrics - FID/INP now show clear call-to-action ("Click or tap to measure")
- improvedEnhanced Color Scheme - Gradient progress bars, improved contrast, purple scrollbar accent
- improvedScrollbar Styling - Custom styled scrollbars matching the dark theme
- improvedPulse Animation - Loading indicators now have smooth pulse animation
- improvedScore Counter - Shows how many metrics are measured (e.g., "4/6 metrics measured")
- fixedCLS Initial Display - No longer shows "Monitoring layout shifts..." when there are no shifts
0.1.3
18 November 2025
- addedConsole Tab - New Console tab displaying browser console output (log, info, warn, error)
- addedCustom Logging API -
webVitalsLog.info(),.warn(),.error()for custom messages - addedDockable Console - Bottom-docked console with draggable height
- improvedResponsive Mode - Auto-updates position on viewport resize without refresh
- improvedDesktop Position Options - All four corners (top/bottom, left/right)
0.1.2
18 November 2025
- addedMobile responsive design - Full-width footer bar for viewports < 700px
- addedNavigation Timing Metrics - DNS, TCP, DOM, LOAD measurements
- addedLCP timeout - Finalizes after 3 seconds of no changes
- addedClose button - Dismissible overlay (reopens on reload)
- fixedTTFB calculation - Now correctly measures from fetchStart to responseStart
- fixedMobile layout - Footer bar slides up instead of overlaying content
- fixedMetrics visibility - All metrics show immediately or with pending state
- improvedMobile UX with slide-up animation
- improvedMore comprehensive timing metrics available immediately
- improvedBetter visual hierarchy with grouped metrics
0.1.1
18 November 2025
- addedNote about extraction from
astro-v5-template(github.com/casoon/astro-v5-template) - improvedRedesigned accessibility tab to show summary counts instead of detailed lists
- improvedEnhanced details tab with session info, memory visualization, and network status
- improvedCleaner UI for accessibility issues with grouped counts by type
- improvedAdded helpful tips in accessibility tab
- improvedBetter network status indicators with visual quality markers
- improvedMemory usage now shows percentage with color-coded progress bar
- improvedConfiguration status visible in details tab
- fixedAccessibility tab now shows clean issue counts instead of verbose element details
- fixedDetails tab now provides useful session and configuration information
- fixedImproved readability with better spacing and organization
0.1.0
18 November 2025
- addedInitial Release with Core Features:
- addedAll Core Web Vitals tracking (LCP, FID, CLS, FCP, TTFB, INP)
- addedDebug overlay with real-time metrics
- addedAnalytics endpoint support
- addedZero dependencies implementation
- addedTypeScript support with full type definitions
- addedPosition configuration for debug overlay
- addedColor-coded status indicators
- addedAdvanced Features:
- addedBatch Reporting: Collect and send metrics in batches
- addedSampling Rate Control: Configurable user sampling (0-1)
- addedExtended Metrics: Long Tasks, Memory usage, Network info
- addedSmart Detection: Rage click and dead click detection
- addedPerformance Budgets: Set and monitor metric thresholds
- addedAccessibility Support: WCAG 2.1 compliance
- addedSemantic HTML with ARIA attributes
- addedFull keyboard navigation
- addedScreen reader announcements
- addedHigh contrast colors
- addedFocus indicators