# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [4.0.0] - 2026-02-27 ### Major Refactor & Modernization This release delivers a comprehensive codebase modernization — ESLint 10 migration, jQuery fully removed, shared utilities extracted, legacy browser plugin dropped, CSS code-splitting enabled, accessibility improvements, and all dependencies updated to latest versions. ### Breaking Changes - **Removed `@vitejs/plugin-legacy`** — Legacy browser polyfills are no longer bundled. Target modern evergreen browsers only. Saved 133 packages and ~52KB per page. - **ESLint upgraded from 9 to 10** — Flat config only (no legacy eslintrc support). Three new rules enabled: `no-useless-assignment`, `no-unassigned-vars`, `preserve-caught-error`. - **`.eslintignore` removed** — Migrated into `eslint.config.js` `ignores` array (ESLint 10 requirement). - **jQuery fully removed** — `users.js` (the last jQuery consumer) rewritten to use DataTables 2.x vanilla JS API with `new DataTable()` and `DataTable.ext.search`. ### Added - **Shared toast utility** (`src/js/utils/toast.js`) — XSS-safe notification system replacing 10+ duplicate `showNotification()` functions across page modules - **Shared button-loading utility** (`src/js/utils/button-loading.js`) — Centralized loading state management using `WeakMap` to store original button content, replacing inline spinner patterns across all pages - **Skip-to-content link** in header for keyboard/screen reader navigation - **`prefers-reduced-motion`** media query to disable animations for users who prefer reduced motion - **CSS code-splitting** — Vite now produces separate CSS bundles per page instead of a single monolithic file (main CSS reduced from 438KB to 373KB) - **Production sourcemaps disabled** — Smaller production builds ### Changed - **All 18 dependencies updated to latest versions:** - Vite 7.2.6 → **7.3.1** - ESLint 9.39.1 → **10.0.2** (major upgrade) - @eslint/js 9.39.1 → **10.0.1** - Sass 1.94.2 → **1.97.3** - Prettier 3.7.3 → **3.8.1** - Terser 5.44.1 → **5.46.0** - FontAwesome 7.1.0 → **7.2.0** - FullCalendar packages 6.1.19 → **6.1.20** - DataTables packages 2.3.5 → **2.3.7** / 3.0.7 → **3.0.8** - Tom Select 2.4.3 → **2.5.2** - SortableJS 1.15.6 → **1.15.7** - eslint-plugin-prettier 5.5.4 → **5.5.5** - **10 page modules migrated** to shared `showToast()` and `setLoading()`/`resetLoading()` utilities: users, settings, checkout, influencer-finder, timeline, products, product-single, compose, email-details, influencer, influencer-profile - **37+ `!important` overrides removed** from SCSS by using `.dashboard-wrapper` ancestor selectors for specificity (datatables, buttons, header) - **`document.execCommand('copy')` replaced** with `navigator.clipboard.writeText()` in settings page - **Global `window.*` functions removed** in checkout and influencer-finder — replaced with module-scoped functions and event delegation - **Sass deprecation warnings silenced** via `silenceDeprecations` config (pragmatic until Bootstrap migrates from `@import` to `@use`) ### Improved - **Build time reduced** from ~9.5s to ~3.7s (removal of legacy transpilation) - **Total package count reduced** from 280 to 144 (removed 136 packages) - **DRY codebase** — eliminated ~800 lines of duplicated notification and button-loading code - **XSS prevention** — toast utility and users page use `textContent`-based HTML escaping - **Bundle sizes decreased** across migrated page modules (e.g., settings.js 6.28KB → 5.24KB, products.js 4.92KB → 4.04KB) ### Technical Notes - 0 lint errors, 3 expected warnings (console.log in logger utility) - Build verified and passing (3.69s) - 1 low-severity Quill vulnerability (GHSA-v3m3-f69x-jf25) — no safe upgrade path, cosmetic XSS only --- ## [3.1.0] - 2025-12-02 ### Security Fix & Dependency Updates This release addresses a security vulnerability and updates all dependencies to their latest versions. ### Security - **Fixed js-yaml prototype pollution vulnerability** (CVE-2023-44487) - Added override to force js-yaml 4.1.1 which patches the merge (`<<`) prototype pollution issue ### Changed - **Vite** updated from 7.1.11 to **7.2.6** - Latest stable with performance improvements - **ESLint** updated from 9.34.0 to **9.39.1** - Latest linting rules and bug fixes - **@eslint/js** updated from 9.34.0 to **9.39.1** - **Prettier** updated from 3.6.2 to **3.7.3** - Formatting improvements - **Sass** updated from 1.91.0 to **1.94.2** - Latest Dart Sass - **Terser** updated from 5.43.1 to **5.44.1** - Minification improvements - **FontAwesome** updated from 7.0.0 to **7.1.0** - New icons and fixes - **Chart.js** updated from 4.5.0 to **4.5.1** - Bug fixes - **DataTables packages** updated: - datatables.net from 2.3.3 to **2.3.5** - datatables.net-bs5 from 2.3.3 to **2.3.5** - datatables.net-responsive from 3.0.6 to **3.0.7** - datatables.net-responsive-bs5 from 3.0.6 to **3.0.7** ### Technical Notes - All 0 vulnerabilities reported by `npm audit` - Build process verified and working - No breaking changes from version 3.0.0 --- ## [3.0.0] - 2025-08-27 ### Major Update This is a comprehensive dependency update bringing the template to the latest 2025 standards with improved performance, security, and modern development experience. ### Changed - **Bootstrap** updated from 5.3.7 to **5.3.8** - Latest stable release with bug fixes and improvements - **Vite** updated from 7.0.6 to **7.1.3** - Performance improvements and better HMR - **Sass** updated from 1.89.2 to **1.91.0** - Latest Dart Sass with deprecation warnings for future compatibility - **@vitejs/plugin-legacy** updated from 7.1.0 to **7.2.1** - Better legacy browser support - **FullCalendar packages** updated from 6.1.18 to **6.1.19** (all modules) - @fullcalendar/core - @fullcalendar/bootstrap5 - @fullcalendar/daygrid - @fullcalendar/interaction - @fullcalendar/list - @fullcalendar/timegrid - **DataTables packages** updated to latest versions: - datatables.net from 2.3.2 to **2.3.3** - datatables.net-bs5 from 2.3.2 to **2.3.3** - datatables.net-responsive from 3.0.5 to **3.0.6** - datatables.net-responsive-bs5 from 3.0.5 to **3.0.6** - **Quill** updated from 2.0.2 to **2.0.3** - Rich text editor improvements - Template version bumped to **3.0.0** to reflect major dependency updates ### Added - Comprehensive **CLAUDE.md** file for AI-assisted development with Claude Code - Detailed architecture documentation - Step-by-step instructions for adding new features - Complete command reference for development workflow - **ESLint and Prettier** integration for code consistency - ESLint configuration with modern JavaScript rules - Prettier configuration for consistent formatting - Auto-fix scripts for both linting and formatting - Support for JS, HTML, SCSS, and Handlebars files - **Code Quality Utilities** - Custom logger utility replacing all console.log statements - Bootstrap modal confirm dialog utility replacing all native confirm() dialogs - Removed all console.log statements from production code - Replaced all confirm() dialogs with Bootstrap modals for better UX - Cleaned up over 3,600 linting issues automatically - Reduced linting issues from 3,600+ to just 10 (7 minor errors, 3 warnings) ### Improved - Build performance with latest Vite optimizations - Development experience with faster HMR - Browser compatibility with updated legacy plugin - Code editor support with detailed documentation ### Technical Notes - All dependencies verified for compatibility - Build process tested and working smoothly - Development server running without errors - Production build completing successfully - Sass deprecation warnings noted but not breaking (will be addressed in future update) ### Developer Experience - Better AI assistance with Claude Code documentation - Clear architecture overview for faster onboarding - Improved build times with Vite 7.1.3 - Enhanced debugging with source maps ## [2.0.1] - 2025-08-04 ### Changed - Updated Vite from 5.4.11 to 7.0.6 for next-generation frontend tooling - Updated Sass from 1.81.0 to 1.89.2 - Updated Terser from 5.37.0 to 5.43.1 - Updated @vitejs/plugin-legacy from 5.4.3 to 7.1.0 - Updated all dependencies to latest 2025 versions ### Fixed - Compatibility issues with latest dependency versions - Build configuration for Vite 7.x ## [2.0.0] - 2025-08-04 ### Added - Complete Bootstrap 5.3.7 migration from Bootstrap 4 - Vite 5.4.11 build system with Hot Module Replacement - Handlebars templating engine with reusable partials - ES6 module architecture throughout the application - New Dashboard Pages: - Finance Dashboard with financial metrics and charts - Sales Dashboard with funnel visualization and team performance - Influencer Dashboard with social media analytics - New Application Pages: - Calendar with FullCalendar 6 integration - User Management with DataTables and bulk actions - Timeline/Activity Feed with real-time updates - Comprehensive Settings page with 8 sections - New UI Components: - Typography showcase page - Advanced multiselect with Tom Select - Form validation examples - 404 Error page with modern design - Responsive sidebar with improved mobile navigation - Chart.js 4.5.0 integration for all chart types - DataTables with Bootstrap 5 styling - Export functionality for tables and timelines - Dark mode preparation in settings - Loading states and animations throughout - Success/error notifications system - Keyboard navigation support - SCSS architecture with component separation ### Changed - Migrated all JavaScript from jQuery to vanilla JavaScript - Updated all Bootstrap 4 classes to Bootstrap 5 - Replaced data-* attributes with data-bs-* for Bootstrap 5 - Modernized build process from webpack to Vite - Improved responsive design for all screen sizes - Enhanced performance with code splitting - Updated FontAwesome to version 7.0.0 - Redesigned header with better search placement - Improved sparkline charts in revenue widgets - Better mobile navigation with single hamburger menu - Updated all form components to Bootstrap 5 syntax - Modernized table styling and functionality - Enhanced sidebar active state management ### Removed - jQuery dependency completely removed - Bootstrap 4 and its dependencies - Outdated build tools and configurations - Legacy browser polyfills (replaced with Vite legacy plugin) - Redundant CSS classes and utilities - Old JavaScript patterns and jQuery plugins - Deprecated Bootstrap 4 components ### Fixed - Navigation menu active states across all pages - Mobile sidebar closing when interacting with dropdowns - Chart overflow issues in dashboard widgets - Sparkline positioning in revenue cards - Double hamburger menu on mobile devices - Badge styling in sidebar navigation - FontAwesome icon display in FullCalendar buttons - Mini calendar responsive behavior - DataTables responsive plugin integration - Form validation styling - Dropdown menu backgrounds - Various responsive design issues ### Security - Updated all dependencies to latest secure versions - Removed vulnerable jQuery version - Added Content Security Policy headers support - Implemented proper form validation - Added CSRF token support preparation ### Technical Details - Node.js 16+ required - npm 8+ required - ES6+ JavaScript features used - CSS Grid and Flexbox for layouts - CSS custom properties for theming - Async/await for asynchronous operations - Module pattern for code organization ## [1.0.0] - Previous Version ### Initial Release - Original Bootstrap 4 template - jQuery-based interactions - Basic dashboard functionality - Limited responsive features