Skip to content

Changelog

Version 1.3.0

Added

  • Property Table component suite: <PropertyTable>, <Property>, <PropertyGroup>, <Expandable>.
  • Tooltip component suite: <Tooltip>, <Glossary>, <Term>.
  • Keyboard component: <Kbd>.
  • Fullscreen Mermaid overlay: scale animation, dot grid background, pan momentum on drag release, toast notifications on copy.
  • @media (prefers-contrast: more): heavier borders, system colors for focus rings.
  • @media (prefers-reduced-transparency: reduce): solid surfaces replace translucent backgrounds.
  • CONTRIBUTING.md with development setup, conventions, and PR process.
  • JSDoc comments on public TypeScript interfaces.

Fixed

  • Code block line numbers in dark mode had 2.85:1 contrast. Bumped from #6e6e6e to #999 (4.6:1).
  • Code block copy button icon in dark mode used --nu-purple-100 on hover. Switched to --nu-purple-40.
  • Wide tables overflowed into the sidebar. A rehype plugin now wraps each <table> in a scrollable <div> at build time.
  • Reopening the fullscreen viewer after Escape showed a blue focus ring around the entire viewport.
  • Mermaid hover toolbar sat unevenly relative to the diagram container border.
  • Fullscreen close button used rgb(255 255 255 / 20%) while the theme toggle used 15%. Both use 15% now.
  • Mobile sidebar: theme toggle and GitHub icon were white-on-white in light mode.
  • Mobile sidebar: theme toggle was taller than wide; GitHub icon sat below it.
  • Copy buttons did nothing on HTTP (insecure contexts). Added document.execCommand("copy") fallback.
  • Clicking copy twice during the success animation duplicated the check icon. Debounced per button.
  • iOS Safari toggled the URL bar when copying in the fullscreen viewer. The fallback textarea now appends inside the overlay.
  • Mouse-opening the fullscreen viewer put a focus ring on the first control. Keyboard opens focus the first button; mouse opens focus the overlay container (no visible ring, Tab still works).
  • Zoom in/out/reset buttons hidden on mobile (pinch-to-zoom covers it).
  • Mermaid user overrides dropped on client-side theme toggle. Runtime configs now include merged user config.
  • Mermaid lazy-rendered diagrams used stale theme after toggle. Observer callback now reads live theme mode.
  • Mermaid pinch-to-zoom anchored to viewport center instead of pinch midpoint.
  • Mermaid MutationObservers accumulated on view transitions. Previous observer now disconnected before creating a new one.
  • Mermaid render race on rapid theme toggles. Per-container version tracking discards stale async completions.
  • Mermaid fullscreen close could fire twice during animation. Added guard against double-close.
  • Mermaid diagramSources Map leaked detached DOM nodes across view transitions. Switched to WeakMap.
  • Tooltip event listeners duplicated on Astro view transitions. Added WeakSet idempotency guard.
  • Tooltip Popover API called without feature detection. Added fallback for unsupported browsers.
  • Tooltip positioning drifted on scroll. Now repositions via scroll listener while visible.
  • Sidebar active item border shifted text. All sidebar links now reserve space with a transparent left border.
  • Search modal focus ring used browser default blue. Now uses --nu-focus-ring.
  • Site title clipped on mobile. Added fluid font sizing with clamp() and ellipsis overflow.

Changed

  • Fullscreen controls bar uses Starlight’s --sl-nav-pad-x and --sl-menu-button-size so the close button aligns with the hamburger menu on mobile.
  • Removed right padding on active sidebar headings that broke nested heading alignment.