All notable changes to SvelteForge Admin are documented here.
Dependency refresh. All packages updated to their latest versions, including major bumps for TypeScript, Vite, and the Svelte Vite plugin. No public API changes -- existing code continues to work.
- TypeScript 5.9 -> 6.0 -- new compiler version, no codebase changes required
- Vite 7.3 -> 8.0 -- newer build tooling
- @sveltejs/vite-plugin-svelte 6.2 -> 7.1 -- compatible with Vite 8
- @lucide/svelte 0.577 -> 1.14 -- icon library now stable at 1.x
- prettier-plugin-tailwindcss 0.7 -> 0.8
- SvelteKit 2.53 -> 2.59
- Svelte 5.53 -> 5.55
- Vitest 4.0 -> 4.1
- bits-ui 2.16 -> 2.18
- shadcn-svelte 1.1 -> 1.2 (chart component re-generated)
- LayerChart 2.0.0-next.43 -> 2.0.0-next.48 (pinned by shadcn-svelte 1.2)
- ESLint 10.0 -> 10.3, eslint-plugin-svelte 3.15 -> 3.17, typescript-eslint 8.56 -> 8.59
- better-sqlite3 12.6 -> 12.9, drizzle-orm 0.45.1 -> 0.45.2
- @playwright/test 1.58 -> 1.59
- Plus minor/patch bumps across all remaining dependencies
- Logout button type error in
app-sidebar.svelte--requestSubmitwas called onHTMLElement(which doesn't have it). Now narrowed viainstanceof HTMLFormElement. - Sidebar trigger ref binding in
ui/sidebar/sidebar-trigger.svelte--refwas exposed as a bindable prop but never bound to the underlying element. Now binds viabind:refon the Button, matching the convention used by the other sidebar primitives. - Stale state warnings in
content/[id]/edit/+page.svelte-- initial form values now captured viauntrack()to silence Svelte 5'sstate_referenced_locallywarning while preserving the original behavior. - Unused imports/variables removed from
scripts/add-browser-frame.tsandroutes/docs/+layout.svelte.
pnpm.onlyBuiltDependenciesadded topackage.json. pnpm 10's modern approval mechanism for native modules (better-sqlite3, sharp, esbuild, @node-rs/argon2) -- replaces the legacy.npmrcapprove-builds=flag, which pnpm 10 ignores. Without this, fresh installs leave better-sqlite3 unbuilt and tests fail.@types/nodeadded as a devDependency. SvelteKit 2.59's generated.svelte-kit/tsconfig.jsonnow references thenodetype definitions; without it,pnpm checkwarns.- shadcn-svelte chart component re-generated. layerchart 2.0.0-next.48 ships with shadcn-svelte 1.2; the older local copy referenced
getTooltipContext, which was reorganized in newer layerchart prereleases.
- All 33 unit tests pass
pnpm check-- 0 errors, 0 warningspnpm lint-- cleanpnpm build-- production build succeeds
Initial release. Full-featured admin dashboard with custom auth, RBAC, built-in documentation site, and a complete admin toolset.
- 16-page built-in documentation at
/docswith dedicated layout and sidebar navigation - Sections: Introduction, Getting Started, Project Structure, Authentication, Database, Routing, Components, Theming, User Management, Content Management, Analytics, Notifications, Settings, Testing, Deployment, API Reference
- Responsive docs layout with mobile hamburger menu
- DashboardPack premium promotion integrated throughout (header button, sidebar card, page callouts)
- Tailwind Typography plugin (
@tailwindcss/typography) for proper prose formatting
- Custom session management with SHA-256 hashed tokens (raw token in HttpOnly cookie, hash in DB)
- Argon2id password hashing via @node-rs/argon2
- Auto-extending sessions (30-day lifetime, refreshes at 15 days remaining)
- Session metadata tracking (user agent, IP address) for security auditing
- Optional OAuth login (Google + GitHub) via Arctic -- environment-driven, no errors when disabled
- Password reset flow with hashed tokens and expiry
- Screen lock page requiring password re-entry
- Auth guard on all protected routes via
(app)/+layout.server.ts - Session validation on every request via
hooks.server.ts
- Three roles: Admin, Editor, Viewer with distinct permission levels
- First registered user automatically assigned Admin role
- Role promotion/demotion with confirmation dialogs
- Permission matrix display on roles page
- KPI cards with animated counters (easeOutExpo easing) for users, sessions, pages, and notifications
- Area chart for user registration trends (LayerChart v2)
- Bar chart for content status breakdown
- Pie/donut chart for user role distribution
- Recent activity feed with latest registrations and content updates
- Full CRUD with server-side data table (sort, search, paginate)
- Configurable page sizes and column sorting
- Admin-only user creation dialog with role assignment
- Delete confirmation dialogs
- CSV and JSON export
- Page editor with title, slug, content, and template fields
- Three templates: Default, Landing, Blog
- Publishing workflow: Draft, Published, Archived
- Auto-generated slugs from titles
- Filterable and sortable content table with pagination
- CSV and JSON export
- Tabbed interface: Users, Content, Sessions, Notifications
- User growth line/area charts
- Content distribution bar and pie charts
- Session count trends
- Read vs. unread notification ratios
- In-app notification system (info, warning, error, success types)
- Notification bell with unread count badge in top nav
- Popover preview of recent notifications
- Full notifications page with mark-as-read and delete
- Bulk operations: mark all read, delete all read
- Table browser with row counts
- Schema viewer (column names, types, constraints)
- Data export per table (CSV/JSON)
- Admin-only access restriction
- Profile settings (display name, email, avatar URL)
- Password change with current password verification
- Session management (view all sessions, revoke individual or all others)
- App-level key-value settings stored in DB
- Dark/light mode with system preference detection (mode-watcher)
- Command palette (Cmd+K) with navigation, search, and quick actions
- Go Pro sidebar CTA with crown icon and PRO badge linking to DashboardPack
- Documentation link in sidebar navigation
- Page view transitions via View Transitions API
- Responsive layout with collapsible sidebar on mobile
- Dark/light mode with localStorage persistence
- Auto-generated breadcrumb navigation from URL pathname
- Quick-access apps grid menu
- Toast notifications via Svelte Sonner
- Reusable data table pagination component
- Custom error page
- OpenGraph and Twitter meta tags via svelte-meta-tags
- Auto-generated XML sitemap endpoint
- Svelte 5 runes API throughout ($props, $state, $derived, $effect)
- Tailwind CSS 4 with OKLCH color system, @theme directive, and Typography plugin
- shadcn-svelte component library
- Drizzle ORM with SQLite (WAL mode) and typed schema
- Vitest unit tests with in-memory SQLite test database
- Playwright E2E test setup
- ESLint 9 + Prettier code quality tooling
- Database seeder with sample data (50 users, 65 pages, 33 notifications)
- pnpm as package manager
- SvelteKit 2.50 + Svelte 5 + TypeScript 5
- Tailwind CSS 4 + @tailwindcss/typography + shadcn-svelte + tw-animate-css
- Drizzle ORM + better-sqlite3
- @oslojs/crypto + @oslojs/encoding + @node-rs/argon2
- Arctic (OAuth)
- LayerChart v2 (D3-based charts)
- mode-watcher, svelte-sonner, svelte-meta-tags
- Vitest + Playwright
2026-02-08-- Initial scaffold: SvelteKit + Svelte 5 + TypeScript2026-02-08-- Configure pnpm build approvals2026-02-09-- Add Tailwind CSS v4, shadcn-svelte with zinc OKLCH theme, and core UI components2026-02-09-- Add Drizzle ORM with SQLite, users and sessions schema2026-02-09-- Add Lucia Auth v3 with Drizzle adapter, session hooks, and type definitions2026-02-09-- Add dashboard layout shell with sidebar, topbar, breadcrumbs, and KPI cards2026-02-09-- Add dark/light mode toggle with ModeWatcher persistence2026-02-09-- Add login, register, and logout auth pages with Argon2 password hashing2026-02-09-- Add protected routes with auth redirect and dynamic user data in sidebar2026-02-10-- Implement Arctic OAuth (Google + GitHub)2026-02-10-- Add README with screenshots and project documentation2026-03-07-- Add 16-page built-in documentation site at /docs2026-03-07-- Add @tailwindcss/typography for docs prose formatting2026-03-07-- Add Go Pro sidebar CTA with DashboardPack UTM tracking2026-03-07-- Add Documentation link in sidebar navigation2026-03-07-- Add DashboardPack premium template screenshots to README2026-03-07-- Add comprehensive CHANGELOG2026-03-07-- Bump version to 1.0.0