Skip to content

Upgrade to React 19 #272

@jwaspin

Description

@jwaspin

Upgrade to React 19

Upgrade React and React DOM from v18.3.1 to v19.x for latest features, performance improvements, and long-term support.

Current Status

  • React 19 released December 2024 (14 months mature)
  • All dependencies ready for React 19
  • defaultProps deprecation already fixed in previous PR

Why

  • React 18 approaching end-of-support phase
  • React 19 is production-ready and widely adopted
  • Better performance and optimizations
  • Future-proof the application
  • Unlock new React features

Prerequisites

  • React Redux v9 upgrade completed
  • Material-UI v6 upgrade completed
  • All tests passing on current versions

Tasks

  • Update react to ^19.0.0
  • Update react-dom to ^19.0.0
  • Update @types/react to ^19.0.0
  • Update @types/react-dom to ^19.0.0
  • Run pnpm install
  • Review React 19 migration guide
  • Check for ref-related changes
  • Run full test suite: pnpm test
  • Run linter: pnpm lint
  • Test encryption/IndexedDB features thoroughly
  • Test all views and user workflows
  • Verify no hydration warnings (StrictMode)
  • Update CHANGELOG.md with React version

Acceptance Criteria

  • All 221 tests pass
  • No linting errors
  • No React warnings in console
  • All features work correctly:
    • Account creation/management
    • Transaction CRUD operations
    • Statement generation
    • Recurring transactions
    • Category management
    • Data encryption/decryption
    • Import/Export functionality
  • No performance regressions

Notes

  • defaultProps already migrated to ES6 defaults (✅ done)
  • No class components in codebase (✅ hooks only)
  • Expected to be smooth upgrade
  • Estimated effort: 1-2 hours including thorough testing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions