# Changelog ## [2.9.0] - 2025-12-02 ### Comprehensive Dependency Updates & Linting Modernization This release brings all dependencies to their absolute latest versions with enhanced SCSS linting support and zero security vulnerabilities. ### Key Improvements #### All Dependencies Updated to Latest - **Webpack 5.103.0** - Latest Webpack with performance improvements - **ESLint 9.39.1** - Latest ESLint with modern flat configuration - **Sass 1.94.2** - Latest Sass compiler with improved features - **TypeScript 5.9.3** - Latest TypeScript compiler - **Stylelint 16.26.1** - Latest SCSS/CSS linting - **Chart.js 4.5.1** - Latest charting library with bug fixes - **Day.js 1.11.19** - Latest date manipulation library #### Enhanced SCSS Linting - **Added stylelint-config-standard-scss** - Proper SCSS-specific linting support - **Updated .stylelintrc.json** - Configured for SCSS syntax compatibility - **Zero Linting Errors** - Both JavaScript and SCSS pass all checks #### Security & Quality - **Zero Security Vulnerabilities** - All dependencies audited and secure - **Fixed node-forge vulnerabilities** - Updated to v1.3.2 (ASN.1 fixes) - **Fixed js-yaml vulnerabilities** - Updated to v4.1.1/v3.14.2 (prototype pollution fixes) - **Clean Build Output** - No errors or warnings in production build ### Technical Details **Major Dependencies Updated:** - @babel/core: 7.28.3 → 7.28.5 - @babel/eslint-parser: 7.28.0 → 7.28.5 - @babel/preset-env: 7.28.3 → 7.28.5 - @babel/runtime: 7.28.3 → 7.28.4 - @eslint/js: 9.34.0 → 9.39.1 - @typescript-eslint/eslint-plugin: 8.42.0 → 8.48.1 - @typescript-eslint/parser: 8.42.0 → 8.48.1 - chart.js: 4.5.0 → 4.5.1 - cross-env: 10.0.0 → 10.1.0 - dayjs: 1.11.18 → 1.11.19 - eslint: 9.34.0 → 9.39.1 - globals: 16.3.0 → 16.5.0 - html-webpack-plugin: 5.6.4 → 5.6.5 - jsvectormap: 1.6.0 → 1.7.0 - postcss-preset-env: 10.3.1 → 10.4.0 - sass: 1.92.0 → 1.94.2 - sass-loader: 16.0.5 → 16.0.6 - stylelint: 16.23.1 → 16.26.1 - stylelint-config-standard: 38.0.0 → 39.0.1 - typescript: 5.9.2 → 5.9.3 - webpack: 5.101.3 → 5.103.0 **New Dependencies:** - stylelint-config-standard-scss: 16.0.0 - SCSS-specific linting rules **Build Tools Updated:** - copy-webpack-plugin: 13.0.0 → 13.0.1 - mini-css-extract-plugin: 2.9.3 → 2.9.4 - postcss-loader: 8.1.1 → 8.2.0 ### Build Status - Zero build errors - Zero build warnings - Zero security vulnerabilities - JavaScript linting: 0 errors, 0 warnings - SCSS linting: 0 errors, 0 warnings - Production build: Compiled successfully ### Compatibility - Node.js 14+ (tested with latest versions) - All modern browsers supported - Mobile-responsive functionality maintained - Dark mode functionality preserved --- ## [2.8.1] - 2025-09-03 ### Latest Dependency Updates & Security Enhancements This release brings all dependencies up to their latest stable versions, focusing on Bootstrap 5.3.8 upgrade, enhanced security, and improved development tooling for optimal performance and maintainability. ### Key Improvements #### Framework & Core Updates - **Bootstrap 5.3.8** - Updated from 5.3.7 with latest bug fixes and improvements - **Webpack 5.101.3** - Latest Webpack with enhanced performance optimizations - **ESLint 9.34.0** - Updated to latest ESLint with modern flat configuration support - **Sass 1.92.0** - Latest Sass compiler with improved performance and features - **Day.js 1.11.18** - Updated lightweight date manipulation library #### Development & Build Tools - **TypeScript ESLint Support** - Added TypeScript 5.9.2 and @typescript-eslint packages for enhanced code quality - **Modern ESLint Configuration** - Created comprehensive tsconfig.json for TypeScript ESLint integration - **Zero JavaScript Linting Errors** - Fixed all ESLint issues in webpack configuration files - **Enhanced Development Experience** - Improved hot module replacement and build performance #### Security & Quality - **Zero Security Vulnerabilities** - All dependencies updated with comprehensive security audit - **jsvectormap 1.7.0** - Updated vector map library with latest features and improvements - **Build System Optimization** - Improved webpack configuration with proper trailing commas and code style - **Development Server Enhancements** - Stable development server with hot reload functionality ### Technical Details **Major Dependencies Updated:** - bootstrap: 5.3.7 → 5.3.8 - webpack: 5.101.0 → 5.101.3 - eslint: 9.33.0 → 9.34.0 - sass: 1.90.0 → 1.92.0 - dayjs: 1.11.13 → 1.11.18 - jsvectormap: 1.6.0 → 1.7.0 - @eslint/js: 9.33.0 → 9.34.0 **Build Tools Updated:** - @babel/core: 7.28.0 → 7.28.3 - @babel/runtime: 7.28.2 → 7.28.3 - copy-webpack-plugin: 13.0.0 → 13.0.1 - html-webpack-plugin: 5.6.3 → 5.6.4 - mini-css-extract-plugin: 2.9.3 → 2.9.4 - postcss-loader: 8.1.1 → 8.2.0 - postcss-preset-env: 10.2.4 → 10.3.1 **New Additions:** - @typescript-eslint/parser: 8.42.0 - TypeScript ESLint parser support - @typescript-eslint/eslint-plugin: 8.42.0 - TypeScript ESLint rules - typescript: 5.9.2 - TypeScript compiler for enhanced development ### Build Status - Zero build errors - Zero build warnings - Zero security vulnerabilities - JavaScript linting: 0 errors, 0 warnings - Development server: Running successfully - Hot module replacement: Functional ### Compatibility - Node.js 14+ (tested with latest versions) - All modern browsers supported - Mobile-responsive functionality maintained - Dark mode functionality preserved ## [2.8.0] - 2025-08-11 ### Dependency Modernization & Security Updates This release focuses on modernizing the build system, updating dependencies to their latest stable versions, and removing deprecated packages to ensure better security and performance. ### Key Improvements #### Build System Enhancements - **Replaced deprecated file-loader with Webpack 5 native asset modules** - Modernized asset handling using Webpack 5's built-in capabilities - **Moved @babel/runtime to production dependencies** - Properly configured runtime dependencies for production builds - **Fixed all import/export warnings** - Resolved module resolution issues for cleaner builds #### Major Dependency Updates - **Upgraded cross-env from v7 to v10** - Latest version with ESM support and TypeScript improvements - **Updated all Babel packages to v7.28.0** - Latest stable Babel 7 release - **Updated TypeScript to v5.9.2** - Latest TypeScript with improved type checking - **Updated Webpack to v5.101.0** - Latest Webpack 5 with performance improvements - **Updated ESLint to v9.33.0** - Latest ESLint with new rules and fixes #### Security & Maintenance - Updated all FullCalendar components to v6.1.19 - Updated all development dependencies to latest stable versions - Removed non-existent test.html reference from build configuration - Fixed stylelint configuration compatibility issues ### Technical Details **Removed Deprecated Packages:** - `file-loader` - Replaced with Webpack 5 asset/resource modules **Updated Dependencies:** - @babel/core: 7.27.4 → 7.28.0 - @babel/runtime: 7.27.6 → 7.28.2 (moved to production dependencies) - @eslint/js: 9.29.0 → 9.33.0 - @typescript-eslint/eslint-plugin: 8.36.0 → 8.39.0 - @typescript-eslint/parser: 8.36.0 → 8.39.0 - @fullcalendar/*: 6.1.17 → 6.1.19 (all packages) - cross-env: 7.0.3 → 10.0.0 - eslint: 9.29.0 → 9.33.0 - typescript: 5.8.3 → 5.9.2 - webpack: 5.99.9 → 5.101.0 - And various other minor updates ### Build Status - Zero build errors - Zero build warnings - All linting rules pass successfully - Production build size remains optimized ## [2.7.1] - 2025-07-10 ### Bug Fixes & Improvements - Minor version bump with maintenance updates - Enhanced code quality and stability improvements - Updated documentation and changelog formatting ## [2.7.0] - 2025-07-09 ### jQuery-Free Release + NPM Package Publication This release represents a **major performance milestone** - complete removal of jQuery dependency and all jQuery-based plugins, resulting in a modern, lightweight, and significantly faster admin template. ### NPM Package Available **Adminator is now available as an npm package!** ```bash # Install via npm npm install adminator-admin-dashboard # Or install via yarn yarn add adminator-admin-dashboard ``` **Package Information:** - **Package Name**: `adminator-admin-dashboard` - **Registry**: https://www.npmjs.com/package/adminator-admin-dashboard - **Size**: 5.7 MB (includes complete source + built assets) - **Contents**: Source code, production builds, documentation, and all dependencies **What's included:** - Complete source code (`src/` directory) - Pre-built production assets (`dist/` directory) - All dependencies and development tools - Comprehensive documentation (CLAUDE.md, CHANGELOG.md) - Ready-to-use HTML templates **Usage:** ```bash # After installation, navigate to package directory cd node_modules/adminator-admin-dashboard # Install dev dependencies for customization npm install # Start development server npm start ``` This release represents a **major performance milestone** - complete removal of jQuery dependency and all jQuery-based plugins, resulting in a modern, lightweight, and significantly faster admin template. ### Performance Improvements **Bundle Size Reduction:** - **~600KB Reduction**: Complete elimination of jQuery and jQuery-dependent plugins - **Faster Load Times**: Native DOM manipulation for optimal performance - **Modern Architecture**: ES6+ class-based components with zero legacy overhead **Removed jQuery Dependencies:** - `jquery` (3.7.1) - Replaced with vanilla JS DOM manipulation - `jquery-sparkline` (2.4.0) - Replaced with Chart.js mini charts - `bootstrap-datepicker` (1.10.0) - Replaced with HTML5 date inputs + vanilla JS - `datatables` (1.10.18) - Replaced with vanilla JS table component - `easy-pie-chart` (2.1.7) - Replaced with vanilla JS SVG pie charts - `jvectormap` (2.0.4) - Replaced with vanilla JS SVG world map ### Modern JavaScript Implementations **100% Vanilla JavaScript Architecture:** - **Component System**: Modern class-based components (Sidebar, Charts, etc.) - **DOM Utilities**: jQuery-like functionality using native JavaScript (`src/assets/scripts/utils/dom.js`) - **Event Management**: Native event handling with modern delegation patterns - **Mobile Optimization**: Touch-friendly interactions without jQuery overhead **Feature-Complete Replacements:** **Charts & Visualizations:** - **Chart.js Sparklines**: Mini charts with full theme support and better performance - **SVG Pie Charts**: Custom circular progress indicators with animations - **Enhanced Line Charts**: Interactive charts with tooltip support and responsive design **Interactive Components:** - **Vanilla DataTables**: Full-featured table with sorting, pagination, and search - **HTML5 Date Pickers**: Enhanced native date inputs with Day.js integration - **Vector Maps**: JavaScript-based world map with markers and theme support - **Sidebar Navigation**: Smooth animations and touch-friendly mobile interactions **UI Enhancements:** - **Mobile Search**: Full-width search overlay with enhanced touch experience - **Dropdown Management**: Improved mobile dropdown behavior with overlay handling - **Responsive Design**: Better mobile viewport handling and gesture support ### Technical Achievements **Architecture Modernization:** - **ES6+ Classes**: Modern component architecture replacing jQuery plugins - **Module System**: ES6 import/export for better code organization - **Type Safety**: Enhanced error handling and parameter validation - **Performance**: Eliminated jQuery overhead and improved runtime efficiency **Theme Integration:** - **Dark Mode Support**: All new components fully support light/dark theme switching - **CSS Variables**: Component styling integrated with existing theme system - **Consistent Design**: Maintained visual consistency while improving performance **Developer Experience:** - **Clean Console**: Removed all development console notices and debugging output - **ESLint Compliance**: All code follows modern ESLint 9.x flat config standards - **Maintainable Code**: Well-documented, modular architecture for future enhancements ### Zero Breaking Changes **Seamless Migration:** - **Visual Consistency**: All components maintain identical visual appearance - **API Compatibility**: Existing functionality preserved with better performance - **Theme Support**: Full compatibility with existing dark/light mode system - **Mobile Experience**: Enhanced mobile interactions with no breaking changes ### Component Improvements **Enhanced Functionality:** - **Charts**: Better responsiveness and theme integration - **Tables**: Improved sorting and pagination performance - **Date Pickers**: Enhanced mobile experience with native HTML5 inputs - **Maps**: Better rendering performance and theme consistency - **Navigation**: Smoother animations and better touch handling ### Code Quality **Production Ready:** - **Clean Output**: No console debugging statements in production code - **Linting**: All JavaScript files pass ESLint 9.x with modern standards - **Performance**: Optimized for speed with minimal DOM manipulation - **Accessibility**: Maintained accessibility features without jQuery dependencies ### Files Modified **Core Application:** - `src/assets/scripts/app.js` - Complete jQuery removal and modern component integration - `src/assets/scripts/components/Sidebar.js` - Vanilla JS sidebar with animations - `src/assets/scripts/components/Chart.js` - Chart.js implementation replacing jQuery Sparkline - `src/assets/scripts/utils/dom.js` - jQuery-like utilities using vanilla JavaScript **New Implementations:** - Enhanced mobile search functionality - Vanilla JavaScript data table component - HTML5 date picker enhancements - SVG-based vector maps - Modern dropdown and popover handling ### Migration Notes **Automatic Migration:** - No code changes required for existing projects - All functionality automatically upgraded to vanilla JavaScript - Theme system remains fully compatible - Mobile experience enhanced without breaking changes **Performance Benefits:** - Immediate ~600KB bundle size reduction - Faster initial page load - Improved runtime performance - Better mobile experience ## [2.6.1] - 2025-07-26 ### Dependency Updates - Updated `bootstrap` 5.3.6 → 5.3.7 - Updated `postcss` 8.5.5 → 8.5.6 - Updated `stylelint` 16.20.0 → 16.21.0 ## [2.6.0] - 2025-06-21 ### Dark Mode Release This release introduces a comprehensive dark mode system with seamless theme switching and component integration. ### New Features **Complete Dark Mode System:** - **Smart Theme Toggle**: Bootstrap-based switch with sun/moon icons and "Light/Dark" labels - **OS Preference Detection**: Automatically detects and applies user's preferred color scheme - **Persistent Theme Storage**: Remembers user's theme choice across sessions - **Instant Theme Switching**: Real-time theme updates without page reload **Theme-Aware Components:** - **Chart.js Integration**: Dynamic color schemes for all chart types with proper contrast - **FullCalendar Support**: Dark-mode aware calendar with proper border and text colors - **Vector Maps**: Custom color palettes for both light and dark themes - **Google Maps**: Theme-specific styling for landscapes, highways, and POI markers - **Sparkline Charts**: Optimized color sets for dark mode visibility - **Skycons Weather Icons**: Adaptive colors for better dark mode contrast **CSS Architecture:** - **CSS Custom Properties**: Comprehensive variable system for consistent theming - **Semantic Color Naming**: Intuitive color variables (--c-text-base, --c-bkg-card, etc.) - **Component Isolation**: Each component respects global theme variables - **Responsive Design**: Theme switching works seamlessly across all screen sizes **Visual Enhancements:** - **Adaptive Logo**: SVG logo automatically adjusts colors based on theme - **Smart Contrast**: Proper text/background contrast ratios in both themes - **Border Consistency**: Unified border colors throughout the interface - **Loading States**: Theme-aware loaders and progress indicators ### Technical Improvements **Architecture Updates:** - **Theme Utility Module**: New `src/assets/scripts/utils/theme.js` with comprehensive theme management - **CSS Variables File**: New `src/assets/styles/utils/theme.css` with light/dark color schemes - **Component Integration**: Updated all major components to support theme switching - **Event System**: Custom events for theme change notifications **Performance Optimizations:** - **Efficient Switching**: Minimal DOM manipulation for theme changes - **CSS Variable Updates**: Leverages browser-native CSS custom properties - **Memory Management**: Proper cleanup of theme-related event listeners - **Build Integration**: Theme assets are properly bundled and optimized ### User Experience **Intuitive Controls:** - **Accessible Toggle**: Proper ARIA labels and keyboard navigation support - **Visual Feedback**: Clear indication of current theme state - **Smooth Transitions**: CSS transitions for theme switching (where appropriate) - **Consistent Placement**: Theme toggle integrated into header navigation **Smart Behavior:** - **First-Time Detection**: Respects OS dark mode preference on first visit - **Cross-Session Persistence**: Theme choice remembered across browser sessions - **Fallback Handling**: Graceful degradation when localStorage is unavailable - **Dynamic Updates**: All components update immediately when theme changes ### Development Experience **Documentation:** - **Theme API**: Comprehensive methods for theme management - **Color Guidelines**: Standardized color usage across components - **Component Examples**: Updated examples showing theme-aware components - **Migration Guide**: Instructions for theme integration in custom components ### Enhanced Components **Charts & Data Visualization:** - Chart.js with dynamic color schemes - Sparkline charts with theme-optimized colors - Easy Pie Charts with adaptive styling - Vector maps with custom dark mode palettes **Interactive Elements:** - FullCalendar with proper dark mode borders - DataTables with theme-consistent styling - Date pickers with adaptive colors - Form elements with dark mode support **Maps & Location:** - Google Maps with custom dark mode styling - Vector maps with region-specific color schemes - Marker and overlay theme integration ### Breaking Changes None. This release is fully backward compatible. ### Migration Guide Existing projects will automatically inherit dark mode capabilities. No code changes required. **Optional Enhancements:** - Add `data-theme` attribute handling for custom components - Use CSS variables from `theme.css` for consistent coloring - Listen for `adminator:themeChanged` events for custom theme handling ### Files Added/Modified **New Files:** - `src/assets/scripts/utils/theme.js` - Theme management utility - `src/assets/styles/utils/theme.css` - CSS variables and color schemes **Enhanced Files:** - All HTML pages updated with theme-aware components - Component JavaScript files updated for theme integration - SCSS files enhanced with CSS variable usage - Logo SVG updated for theme compatibility ## [2.5.0] - 2025-06-16 ### Major Modernization Release This release represents a comprehensive modernization of the entire build toolchain and development stack. ### Dependency Updates **Phase 1 - Safe Updates:** - Updated `chart.js` 4.4.2 → 4.5.0 - Updated `shx` 0.3.3 → 0.4.0 - Added `eslint-formatter-table` for better linting output **Phase 2 - Moderate Updates:** - Updated `sass-loader` 14.2.1 → 16.0.5 - Updated `postcss-preset-env` 9.6.0 → 10.2.3 - Updated `stylelint-config-standard` 36.0.1 → 38.0.0 - Fixed `stylelint` command syntax for latest version **Phase 3 - Major Breaking Changes:** - Updated `copy-webpack-plugin` 12.0.2 → 13.0.0 - Updated `babel-loader` 9.2.1 → 10.0.0 - Updated `webpack-cli` 5.1.4 → 6.0.1 - Updated `eslint` 8.57.1 → 9.29.0 **Latest Dependencies Update:** - Updated all Babel packages to v7.27.x - Updated FullCalendar packages to v6.1.17 - Updated Bootstrap to v5.3.6 - Updated webpack ecosystem (webpack 5.99.9, webpack-dev-server 5.2.2) - Updated PostCSS to v8.5.5 - Updated Sass to v1.89.2 - Updated Stylelint to v16.20.0 - Plus 22 total dependency updates ### Configuration Changes **ESLint 9.x Migration:** - Migrated from `.eslintrc.json` to `eslint.config.mjs` (flat config) - Removed incompatible `eslint-config-airbnb-base` and `eslint-plugin-import` - Created modern ESLint configuration with equivalent rules - Updated line endings for cross-platform compatibility **Build System Improvements:** - Enhanced webpack configuration compatibility - Improved CSS processing pipeline - Better development server performance **Package Management:** - Fixed `package.json` to reflect exact installed dependency versions - Removed incompatible ESLint packages from dependencies - Ensured version alignment between installed and declared packages **Phase 5.1 - Date Library Migration:** - **REMOVED** `moment` 2.30.1 (67KB) - unused legacy dependency - **ADDED** `dayjs` 1.11.13 (2KB) - modern 97% smaller alternative - Created comprehensive `DateUtils` module with modern date handling - Updated FullCalendar to use Day.js for dynamic date generation - Enhanced date picker functionality with Day.js validation - Bundle size reduction: ~65KB saved - Zero breaking changes - Day.js provides same API coverage ### Development Experience - **Node.js Support**: Now requires Node.js 18.12.0+ (compatible with v23.11.0) - **Modern tooling**: All dependencies updated to latest stable versions - **Zero security vulnerabilities**: Complete security audit clean - **Improved performance**: Faster builds and development server - **Better linting**: Modern ESLint 9.x with flat config - **Enhanced CSS**: Latest PostCSS and Sass versions ### Security & Quality - All dependencies audited and updated to latest secure versions - Zero known security vulnerabilities - Modern linting rules for better code quality - Updated copyright notices to 2025 ### Documentation - Updated README with modern setup instructions - Enhanced development workflow documentation - Added comprehensive changelog entries ### Breaking Changes - **Node.js**: Minimum version now 18.12.0 - **ESLint**: Configuration format changed from eslintrc to flat config - **Development**: Some webpack-cli commands removed (init, loader, plugin) ### Migration Guide For projects upgrading from v2.1.0: 1. Ensure Node.js version is 18.12.0 or higher 2. Run `npm install` to get updated dependencies 3. ESLint configuration is automatically updated 4. No code changes required for existing projects ## [2.1.0] - Upgraded all dependencies ## [2.0.0] ### Changed - Upgrade to Bootstrap 5 ## [1.1.0] ### Changed - Upgrade to webpack 5 ## [1.0.0] ### Added - Intial release