Skip to content

Changelog

A record of all notable changes to Apex Dashboard.

v3.0.0

Latest
July 2026

Twelve dashboard variants, six layout presets, a data grid with pinning and inline editing, a blocks catalog, a world map, an AI module, RBAC, and a typed data layer replacing the direct mock-data imports.

Measured comparison between v2.3.0 and v3.0.0
Measuredv2.3.0v3.0.0
Route files5794
Prerendered HTML files173216
sitemap.xml URLs2868
Unit tests / files8 / 2636 / 26
E2E tests / files4 / 199 / 7
Largest JS chunk282 KB283 KB

Both columns were measured by building the tag, not carried over from notes. The surface roughly doubled and the largest chunk grew by 1 KB — that is what collapsing 13 chart tooltips into one primitive and moving the dataset out of the bundle bought.

Added

  • Six layout presets with a gallery — expressed in CSS against a class the pre-paint script writes, so switching preset changes no React state and cannot mismatch on hydration
  • Seven new dashboard variants (Project, Finance, HR, Marketing, Academy, Logistics, AI Usage), each owning at least two chart forms no other variant uses rather than recolouring the same six cards
  • Data grid — column pinning, inline editing, saved views shareable via ?view=, and row virtualization
  • CSV and real XLSX export with zero new dependencies, plus a print stylesheet. Called “Print / Save as PDF” rather than “PDF export” because with no server there is no headless Chrome
  • 114 copy-paste blocks in 14 categories, each a real file whose source is read from disk at build time; a test asserts every entry has a file and every file has an entry, and the catalog page renders catalog.length so its count cannot drift
  • World map from Natural Earth (public domain), projected offline into static path data — no d3-geo, no topojson, no runtime projection
  • AI module — assistant and usage dashboard, a scripted adapter and a typed AIAdapter. No API keys ship and no provider is called from the browser
  • RBAC — roles, a permission matrix and guards, documented in the source as UI affordances rather than security, because under static export they cannot be anything else
  • Typed data layer replacing direct mock-data imports across 23 files, with fixtures served as static JSON so the dataset leaves the JS bundle entirely
  • Seven new documentation pages, and a :focus-visible floor, prefers-reduced-motion support and a working skip link on 25 pages that previously pointed at nothing

Fixed

  • npm run start could not start — it was next start, which refuses to run under output: "export", and it failed after printing “Ready”. Six places promised that command. It now serves out/ with a zero-dependency server
  • The documented Dockerfile could not build an image: it copied .next/standalone and ran node server.js, neither of which exists in a static export
  • Dark-mode visitors got a light first paint — the pre-paint script restored five preferences but never read the theme
  • The colour-preset reset did nothing. Presets were inline styles, which shadow the .dark block and can never be un-set, so --primary was locked at its light value in both themes
  • The whole page scrolled sideways on any route with a wide table — two flex items refused to shrink below their content, which also made every overflow-x-auto below them inert
  • --primary and --success failed WCAG AA contrast in both themes, as did --muted-foreground and --destructive-foreground
  • perPage: 100 silently truncated — past 100 records rows vanished with no indication
  • The notification badge was cross-component stale: marking read on the page never updated the header
  • The components page documented ten entries that did not work — eight components that never existed and two wrong paths. A test now resolves every module and named export the docs mention

v2.3.0

July 2026

Hardening release. A dev-server crash and three pieces of broken tooling are fixed, and CI now exists to stop a repeat.

Fixed

  • npm run dev crashed with createContext is not a function in src/app/not-found.tsx. Core imported Radix's Slot from the radix-ui barrel, which evaluates every primitive on import; several call React.createContext() at module scope, which does not exist in the RSC graph. Fixed by core ^1.2.1
  • npm run test, npm run lint and npm run build-storybook could not run at all — three overrides added to silence audit findings had forced breaking majors onto jsdom, minimatch and react-docgen. All corrected
  • Auth pages had no heading element — CardTitle renders a div, leaving nothing for screen readers. Now semantic h1s
  • Icon-only buttons gained accessible names; CLAUDE.md no longer ships inside the customer zip

Added

  • Continuous integration — there was none before, which is why the defects above shipped
  • npm run check:rsc, which cannot pass locally and fail for a customer
  • public/_headers with security headers and immutable asset caching, plus sitemap.xml and robots.txt
  • Next.js 16.2.12, React 19.2.8 and latest across dependencies; npm audit reports 0 vulnerabilities

v2.2.3

June 2026

Fixed the starter template so it installs and builds cleanly.

Fixed

  • Starter template (seed/) now installs and builds — added the missing @dashboardpack/core dependency it imports throughout
  • Upgraded the starter's Storybook 8.6.17 → 10.4.1, fixing the next@16 peer-dependency ERESOLVE error on npm install
  • Added transpilePackages and TypeScript core source-resolution so the shared package compiles

v2.2.2

May 2026

Dependency refresh with security overrides for transitive vulnerabilities.

Dependencies

  • Next.js 16.2.4 → 16.2.6 (fixes 13 published Next.js CVEs)
  • React / React-DOM 19.2.5 → 19.2.6, lucide-react 1.11.0 → 1.16.0, framer-motion 12.38 → 12.40, storybook 10.3.5 → 10.4.1, zod 4.3.6 → 4.4.3, plus minor bumps to other direct deps
  • react-day-picker pinned to ^9.14.0 (@dashboardpack/core peer dep blocks the v10 major bump)
  • npm overrides added for transitive vulns: postcss ^8.5.15, elliptic ^6.6.1, brace-expansion ^5.0.6, fast-uri ^3.1.2, ws ^8.20.1
  • npm audit: 4 vulnerabilities (1 high, 3 moderate) → 0

v2.2.1

April 2026

Dark mode contrast pass (the original contrasty palette that the rest of the family now mirrors).

Dark mode contrast

  • Cards now lift clearly off the background (card surface L 0.125 → 0.19); popover, border, and muted layers bumped proportionally to preserve hierarchy
  • Removed the green tint from dark surfaces (chroma 0) so the accent color switcher reads true on every preset
  • Sidebar lightened (L 0.06 → 0.11) and given a right border so it reads as a distinct rail rather than blending into the main background
  • Sidebar collapse button switched to bg-card and the chevron is no longer at 50% opacity (was failing WCAG 3:1 non-text contrast)

Sidebar UX

  • Nav scrollbar fades in only on hover/focus (new scrollbar-fade utility) so the sidebar reads cleaner when idle

Internal

  • Layout init script moved to next/script with beforeInteractive strategy, resolving the React script-tag warning while preserving no-flash behavior
  • Patch dependency updates: Next 16.2.4, lucide-react 1.11.0, react-hook-form 7.74.0, vitest 4.1.5, jsdom 29.1.0, libphonenumber-js 1.12.42

v2.2.0

April 2026

Full dependency update across the entire stack.

Dependencies

  • Next.js 16.1.6 to 16.2.3
  • React and React DOM 19.2.3 to 19.2.5
  • Storybook 8.6.x to 10.3.5 (addon-essentials and blocks consolidated into core)
  • TypeScript 5 to 6
  • ESLint 9 to 10
  • lucide-react 0.564.x to 1.8.0 (brand icons replaced with inline SVGs)
  • @dashboardpack/core now installed from npm registry (^1.1.0)
  • All remaining dependencies bumped to latest versions

v2.1.0

February 2026

User management, Storybook component library, internationalization, and performance optimizations.

User Management

  • Users list page with DataTable, role/status filters, and CRUD operations
  • User detail page with profile card, permissions grid, and account details
  • Create and edit forms with React Hook Form + Zod validation
  • 25 mock users with roles, permissions, and departments

Storybook

  • Storybook 10.x with 15 component stories across core, form, and dashboard tiers
  • Dark mode decorator and responsive viewport presets
  • Auto-docs enabled for all stories

Internationalization (i18n)

  • Custom i18n with React Context and type-safe translation keys
  • 3 languages: English, German, French
  • ~80 translation keys covering sidebar, header, and dashboard
  • Locale switcher in Theme Customizer and Settings

Performance

  • Bundle analyzer integration with npm run analyze
  • Dynamic imports for chart components on dashboard home
  • LazyChart wrapper using IntersectionObserver for viewport-triggered rendering

v2.0.0

February 2026

Major update covering Phases 1-9 of the product roadmap.

Dashboard Variations

  • eCommerce dashboard with sales charts, order status donut, top products
  • CRM dashboard with pipeline funnel, deal stages, lead sources
  • SaaS dashboard with MRR/ARR tracking, subscription plans, churn metrics

App Pages

  • Chat application with real-time messaging UI and conversation list
  • Email/Inbox client with folders, compose dialog, and search
  • File Manager with grid/list views, upload, and storage stats
  • Kanban board with drag-and-drop task management
  • Calendar with monthly view and event management
  • Multi-step wizard form with validation
  • User profile page with overview, activity, and connections tabs
  • Pricing page with plan comparison

Advanced Components

  • TanStack Table upgrade with column filtering, sorting, pagination, CSV export, mobile responsive cards
  • Date Picker, Date Range Picker
  • Combobox/Autocomplete, Multi-Select, Phone Input
  • File Uploader (react-dropzone), OTP Input, Color Picker
  • Accordion, Alert, Carousel, Collapsible, Scroll Area, Slider, Toggle Group, Resizable

Charts Showcase

  • New /charts page with Radar, Radial Bar, Treemap, Scatter, and Composed charts
  • 10 chart types total (Area, Bar, Line, Pie, Sparkline, Radar, RadialBar, Treemap, Scatter, Composed)

Theme Customizer

  • Live customizer drawer with color presets, density options
  • 6 color presets: Default, Ocean, Sunset, Forest, Berry, Slate
  • 3 density levels: Compact, Default, Comfortable
  • Reset to defaults

Layout Options

  • Horizontal top-nav layout alternative
  • Boxed container option (max-width centered)
  • All layouts persist to localStorage

RTL Support

  • Full right-to-left text direction support
  • CSS logical properties across all components
  • Toggle in Theme Customizer

Auth & Utility Pages

  • Reset Password, Two-Factor Authentication, Email Verification, Lock Screen
  • 500 Server Error, 403 Forbidden error pages
  • Coming Soon and Maintenance pages

Testing Infrastructure

  • Vitest unit testing with jsdom environment
  • Playwright E2E tests with Chromium
  • Representative test suites for utilities, data, and components

v1.0.0

February 2026

Initial release of Apex Dashboard.

Dashboard

  • Overview page with stats cards, revenue chart, traffic pie chart, and goals progress
  • Analytics page with detailed chart breakdowns
  • Collapsible sidebar with icon-only mode
  • Responsive header with search, notifications, and user menu

Pages

  • Orders page with data table, sorting, filtering, and CRUD operations
  • Products catalog with grid and list views
  • Customers management with detail panels
  • Billing page with plan selection and payment history
  • Invoices list with status badges
  • Notifications center with read/unread states
  • Settings page with profile, appearance, and notification preferences
  • Help and support page

Authentication

  • Sign-in page with email/password form and social login buttons
  • Sign-up page with form validation using React Hook Form and Zod

UI Components

  • 25+ vendored shadcn/ui components (Button, Card, Dialog, Table, Tabs, etc.)
  • Command palette (Cmd+K) for quick navigation
  • Toast notifications via Sonner
  • Confirm dialog for destructive actions

Theming

  • Dark, light, and system theme modes
  • OKLCh color tokens for perceptually uniform colors
  • Semantic color system (primary, success, warning, destructive)
  • 5-color chart palette
  • Custom dark sidebar in both light and dark modes

Tech Stack

  • Next.js 16 with App Router
  • React 19
  • TypeScript 6 with strict mode
  • Tailwind CSS v4
  • Recharts for data visualization
  • Lucide React icons
  • React Hook Form + Zod for form validation
  • Radix UI primitives

Documentation

  • Built-in documentation site at /docs
  • Installation guide, folder structure, theming, components, and deployment docs

Back to the Introduction or view the Deployment Guide.