You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

8.7 KiB

Changelog

[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-01-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