🚀 Major Changes
Build System Modernization
- Complete tooling overhaul: Migrated from Rollup + Webpack + Babel to Vite for faster builds and better developer experience
- Testing modernization: Transitioned from Jest to Vitest for improved performance and native ESM support
- Removed SVG.js dependency: Replaced with a custom lightweight SVG utility, reducing bundle size and external dependencies
Performance Improvements
- Optimized object cloning - Significantly improved performance for data processing
- DOM query caching - Reduced redundant DOM lookups for better rendering performance
- Event delegation - Implemented event delegation pattern to improve event handling performance
- Treemap optimization - Enhanced Treemap-squared.js algorithm for better performance
🐛 Bug Fixes
- Fixed y-axis title getting cut off when using formatter (#5152)
- Fixed annotation rectangles drifting when browser zoom level is not 100%
- Fixed x-axis label repetition for very small numeric values (#5127)
- Fixed bar chart top rounding issues
- Fixed area chart fill color when using CSS variables
- Fixed shared tooltip showing invisible series
- Fixed stack-column-outline chart rendering issues
- Removed obsolete polyfills from all samples
- Converted Treemap to proper ES module export
- Created ChartFactory for future tree-shaking support
- Legend font-size now supports units other than pixels (rem, vh, etc.) (#5151)
Refactoring & Code Quality
- Refactored data handling architecture
- Applied code quality improvements across the codebase
- Improved unit test coverage across utility functions, datetime, and data processing modules
Testing Improvements
- Comprehensive unit test improvements across the library
- Enhanced E2E testing infrastructure
- Updated sample charts
💝 Contributors
Thank you to all contributors:
- @meronz - Annotation zoom fix
- @ptrgast - Greek locale improvements
- @unki - Legend font-size units fix
- @ZahidChandio - Multiple chart fixes