standard-cv/CHANGELOG.md
Tudor Stanciu 6a183d479a Merged PR 105: Full upgrade: Vite and Typescript migration
feat: add mock CV data and setup testing environment

- Created a mock CV data file for testing purposes.
- Added a setup file for testing with @testing-library/jest-dom.
- Implemented a ThemeProvider component to manage themes and favicons.
- Added unit tests for theme utility functions.
- Replaced JavaScript theme constants with TypeScript constants.
- Refactored theme hooks to TypeScript and improved favicon handling.
- Removed deprecated JavaScript files and replaced them with TypeScript equivalents.
- Introduced a new TypeScript types file for better type safety.
- Set up TypeScript configuration files for the project.
- Configured Vite for building and testing the project.
2025-08-10 15:30:08 +00:00

4.1 KiB

Changelog

All notable changes to the Standard CV project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.0.0] - 2025-08-10

🚀 Major Release - Complete Rewrite

This release represents a complete rewrite and modernization of the Standard CV library with breaking changes.

Added

  • TypeScript Support: Full TypeScript rewrite with comprehensive type definitions
  • Modern Build System: Migrated from Babel to Vite for faster builds and better DX
  • Enhanced Theme System:
    • 10 professionally designed themes
    • CSS custom properties for dynamic theming
    • URL-based theme switching support
    • Rainbow theme with gradient effects
  • Improved Component Architecture:
    • Modular component design with better separation of concerns
    • Theme provider pattern for better theme management
    • Flexible data structure with comprehensive TypeScript interfaces
  • Testing Infrastructure:
    • Vitest + React Testing Library setup
    • Comprehensive test coverage
    • Visual regression testing capabilities
  • Modern Styling:
    • Complete CSS rewrite with modern patterns
    • CSS custom properties for theming
    • Improved responsive design
    • Better print styles
    • Accessibility improvements
  • Developer Experience:
    • ESLint + Prettier configuration
    • Husky pre-commit hooks
    • Comprehensive documentation
    • Type-safe development

🔄 Changed

  • BREAKING: Completely new API and data structure
  • BREAKING: New import paths and component structure
  • BREAKING: Minimum React version now 18+
  • BREAKING: Now requires TypeScript-aware bundler
  • Improved component performance with modern React patterns
  • Better tree-shaking support for reduced bundle size
  • Enhanced accessibility with ARIA labels and semantic HTML

🗑️ Removed

  • BREAKING: Removed jQuery dependency
  • BREAKING: Removed legacy theme variants
  • BREAKING: Removed old Babel-based build system
  • Removed old PropTypes validation (replaced with TypeScript)

🛠️ Dependencies

  • Updated to React 18+
  • Removed heavy dependencies (jQuery, etc.)
  • Added modern development dependencies (Vite, TypeScript, etc.)
  • Minimal runtime dependencies for better performance

📚 Documentation

  • Complete README rewrite with examples
  • Added comprehensive TypeScript documentation
  • Added component architecture diagrams
  • Added migration guide from v1.x
  • Added licensing information and terms

🔒 License

  • Changed from MIT to proprietary license
  • Added commercial licensing requirements
  • Personal use remains free for non-commercial purposes

[1.0.4] - 2023-XX-XX

🔄 Changed

  • @flare/react-hooks upgrade

[1.0.3] - 2023-XX-XX

🔄 Changed

  • @flare/react-hooks upgrade

[1.0.2] - 2023-XX-XX

🔄 Changed

  • Packages update

[1.0.1] - 2023-XX-XX

🔄 Changed

  • Made user interface more responsive based on window size

[1.0.0] - 2023-XX-XX

Added

  • Initial version of standard-cv React component
  • Basic CV layout with header, sections, and footer
  • Theme support with CSS custom properties
  • Responsive design
  • FontAwesome icons integration
  • Bootstrap 4 styling

Migration from 1.x to 2.x

Due to the complete rewrite, migration from v1.x requires significant changes:

  1. Update your data structure to match the new TypeScript interfaces
  2. Update import statements to use the new component exports
  3. Update CSS imports to use the new styling system
  4. Add TypeScript support to your project for the best experience
  5. Review and update any custom styling to work with the new CSS architecture

For detailed migration guidance, please refer to the Migration Guide (coming soon).


Note: Version 2.0.0 represents a significant architectural improvement that provides better performance, type safety, and developer experience. While it requires migration effort, the benefits include better maintainability, modern tooling, and professional licensing options.