v3.0.0 - Major Release
π A complete architectural evolution with powerful new features, improved performance, and enhanced developer experience
ποΈ Architecture & Performance
Styling System Migration
- β‘ Migrated to Vanilla Extract CSS - Replaced styled-components with Vanilla Extract for zero-runtime CSS-in-TypeScript, resulting in significantly improved performance and type-safe styling
- π¨ Type-Safe Design Tokens - Comprehensive token system with sprinkles utilities for consistent styling across components
Context System Redesign
- π Unified Context Provider - Consolidated multiple context providers into a single optimized
TimelineContextProvider
, reducing complexity and improving render performance - π Optimized Re-renders - Smart memoization strategies with separated static config, dynamic state, and computed values
- π‘ Enhanced Developer Experience - Simpler API with
useTimelineContext()
hook replacing multiple context hooks
Build & Tooling Improvements
- π οΈ Modern Build Pipeline - Updated Vite configuration with enhanced tree-shaking and bundle optimization
- π Code Quality - Added Stylelint configuration, enhanced ESLint rules, and improved TypeScript strict mode compliance
β¨ New Features
Grouped Configuration API
<Chrono
layout={{ cardWidth: 450, responsive: { enabled: true } }}
interaction={{ keyboardNavigation: true, autoScroll: true }}
display={{ borderless: false, toolbar: { sticky: true } }}
animation={{ slideshow: { enabled: true, duration: 4000 } }}
/>
- π Logical Organization - Props grouped into 9 intuitive categories:
layout
,interaction
,content
,display
,media
,animation
,style
,accessibility
,i18n
- π Backward Compatible - All v2.x props continue to work with automatic mapping to new API
- π‘ Better Autocomplete - Improved IDE support with structured prop hierarchy
Google Fonts Integration
- π€ Dynamic Font Loading - Seamless Google Fonts integration with automatic optimization and caching
- π― Granular Control - Configure font families, weights, and styles per element (titles, subtitles, card text)
- β‘ Performance Optimized - Intelligent font preloading and fallback strategies
Comprehensive Internationalization
- π 40+ Configurable Text Elements - Complete i18n coverage across 11 categories (navigation, search, toolbar, media, accessibility, etc.)
- π Template String Support - Dynamic text interpolation with variables (e.g., "Page {current} of {total}")
- π Smart Fallbacks - Intelligent default text resolution with only-override-what-you-need approach
Fullscreen Mode
- π₯οΈ Cross-Browser Support - Full-screen timeline experience with vendor prefix handling for all major browsers
- β¨οΈ Keyboard Shortcuts - ESC to exit, consistent behavior across all modes
- π― Portal Optimization - Proper portal container management for fullscreen-aware components
Enhanced Dark Mode
- π 25+ Theme Properties - Comprehensive dark mode support including button states, shadows, glows, and search highlighting
- π¨ Automatic Color Adaptation - Intelligent contrast handling for readability
- π Runtime Theme Switching - Seamless dark/light mode transitions with
onThemeChange
callback
Advanced UI Controls
- π Sticky Toolbar - Optional sticky positioning for toolbar with configurable placement
- π Customizable Search - Configurable search input widths and toolbar positioning
- π΄ Borderless Card Variant - Clean, minimal card design for modern interfaces
- π Text Density Control - Dynamic card remeasurement when switching between compact/detailed views
π¨ UX Improvements
Navigation & Interaction
- β¨οΈ Enhanced Keyboard Navigation - Improved focus management with better visual feedback
- π― Smart Popover Positioning - Context-aware popover placement with fullscreen awareness
- π Smooth Slideshow Transitions - Refined card animations and progress indicators
- π±οΈ Better Touch Support - Optimized touch targets and gesture handling for mobile devices
Visual Refinements
- π¬ Polished Animations - Smoother card reveals and transitions with respect for
prefers-reduced-motion
- π¨ Improved Icon System - Modernized icon components with consistent sizing (16x16px standard)
- π Layout Enhancements - Better responsive breakpoint behavior and continuous timeline line in vertical mode
- β¨ Text Overlay Improvements - Minimize/maximize controls for text-heavy content
Media Handling
- π· Optimized Image Loading - Intersection observer-based lazy loading for better performance
- π₯ Video Player Controls - Enhanced video playback with proper state management
- πΌοΈ Responsive Media Sizing - Automatic media adaptation to card dimensions
π§ͺ Testing & Quality
Test Infrastructure
- ποΈ Visual Regression - Comprehensive visual testing for UI consistency
- π Improved Coverage - Expanded test suite with integration tests for build output and demo app
Code Quality
- β TypeScript Strict Mode - Enhanced type safety with strict mode compliance across all components
- π Comprehensive Validation - Theme property validation with edge case coverage
- π Performance Testing - Added performance benchmarks for large datasets
π Documentation & Developer Experience
Documentation
- π Enhanced README - Comprehensive documentation with use cases, examples, and migration guides
- π Props Reference - Complete props documentation with type definitions and examples (
PROPS-REFERENCE.md
) - πΊοΈ Migration Guide - Detailed v2 to v3 migration guide with code examples
Developer Tools
- π¨ Redesigned Demo Site - Modern demo experience with full-width layouts and interactive examples
- π§ Development Commands - Comprehensive pnpm scripts for building, testing, and linting
- π¦ Package Management - Updated to pnpm 10.15.1 for faster installs and better dependency management
π§ Breaking Changes
β οΈ While all v2.x props remain supported, some internal APIs have changed
- Styled Components Removal - Internal styled-components have been replaced with Vanilla Extract (no impact on public API)
- Context Structure - Internal context structure changed from multiple providers to unified provider (no impact if using public hooks)
- Node.js Requirement - Minimum Node.js version updated to 18+
- TypeScript - Enhanced type definitions may require TypeScript 4.0+ for full support
π Bug Fixes
Navigation & Scrolling
- Fixed slideshow media deadlock preventing smooth transitions
- Resolved keyboard navigation issues with proper focus management
- Fixed auto-scroll behavior in slideshow mode to properly scroll cards into view
- Improved slideshow link-style "read more" button UX
Layout & Rendering
- Fixed kitchen sink page layout inconsistencies
- Resolved nested timeline rendering and icon positioning issues
- Fixed responsive breakpoint behavior for vertical alternating mode
- Corrected popover positioning issues in fullscreen mode
Theme & Styling
- Fixed dark mode text color inconsistencies across components
- Resolved CSS variable fallback issues in text overlay mode
- Fixed timeline card point colors not respecting theme overrides
- Improved contrast and readability in dark mode
Search & Focus
- Fixed search focus management issues
- Resolved search highlight color in dark mode
- Improved search "no results" state handling
π Migration Guide
Seamless Upgrade Path
All existing v2.x code continues to work without changes:
// β
v2.x syntax still works
<Chrono
cardWidth={400}
disableNavOnKey={false}
borderLessCards={true}
/>
// π v3.x grouped API (recommended)
<Chrono
layout={{ cardWidth: 400 }}
interaction={{ keyboardNavigation: true }}
display={{ borderless: true }}
/>
Recommended Actions
- β Update React to 18.2+ if not already
- β Review new grouped API for cleaner code organization
- β Explore new features: Google Fonts, i18n, fullscreen mode
- β Test dark mode with new theme properties
- β Update TypeScript definitions if using custom types
π¦ Dependencies
Major Updates
- β¬οΈ Upgraded all packages to latest stable versions
- β¬οΈ React 18+ and React 19 compatibility
- β¬οΈ Vite 7.x for improved build performance
- β¬οΈ Tailwind CSS 4.x (demo site)
Removed Dependencies
- β Removed unused dependencies for cleaner dependency tree
- β Removed styled-components as peer dependency (still supported for backward compatibility)
- β Removed Cypress and related testing dependencies. we will be moving to playwright pretty soon
π Acknowledgments
Special thanks to all contributors who helped make v3.0 possible through bug reports, feature requests!
π Resources
- π Full Documentation
- π Props Reference
- π¨ Migration Guide