React Font Awesome 3.0.0

3.0.0

Release 3.0.0

Added 1
  • Better type definitions to each prop including examples of usage
Changed 9
  • Rewrote the entire library from plain JavaScript to TypeScript
  • Replaced rollup with tsup for providing both ESM and CJS exports from one TypeScript source
  • Upgraded eslint from v6 to v9 with Flat Config and modernised ESLint config, plugins and rules
  • Refactored all unit tests from react-test-renderer to @testing-library/react
  • Upgraded all development dependencies to latest versions
  • Optimised FontAwesomeIcon by reducing per-render function calls and memory allocations
Fixed 4
  • Accessibility ID generation (titleId, maskId) for SSR ensuring consistent ID across server and client renders
  • TypeScript errors when styling duotone icons with CSS variables
  • aria-hidden attribute to be false if there is a non-empty aria-label attribute
  • Large number of npm audit issues by removing and updating dependencies
Removed 5
  • Support for FontAwesome versions below v6
  • Support for Node versions below 20.x
  • Support for React versions below 18.x
  • Support for browser versions that do not support the ES2020 standard, specifically JavaScript built-in globalThis
  • prop-types dependency in favour of colocated typings for React component props

From React Font Awesome

BREAKING
  • Dropped support for end-of-life FontAwesome versions (below v6), Node versions (below 20.x) and React versions (below 18.x)
  • Dropped support for browser versions that don't support the ES2020 standard, namely JavaScript built-in: globalThis
Changes
  • Rewrote the entire library from plain JavaScript to TypeScript
  • Replaced rollup with tsup for providing both ESM and CJS exports from one TypeScript source
  • Removed prop-types in favour of colocated typings for React component props
  • Added better type definitions to each prop including examples of usage
  • Upgraded eslint from v6 to v9, rewrote config as Flat Config, modernised ESLint config, plugins and rules
  • Refactored all unit tests from the deprecated react-test-renderer to the industry standard @testing-library/react
  • Upgraded all other development dependencies to latest versions as of release date
  • Optimised FontAwesomeIcon by reducing per-render function calls and memory allocations
  • Optimised classList function by removing runtime semver checks and array operations
  • Optimised converter with a full rewrite for significant performance increases (~70%)
  • Moved inline class strings from getClassListFromProps to pre-computed maps
Bug Fixes
  • Fixed accessibility ID generation (titleId, maskId) for SSR ensuring a consistent ID across server and client renders (#93, #550, #573)
  • Fixed TypeScript errors when styling duotone icons with CSS variables (#509)
  • Fixed aria-hidden so it is false if there is a non-empty aria-label attribute (#126)
  • Resolved large number of npm audit issues by removing and updating dependencies
New Contributors

Full Changelog: https://github.com/FortAwesome/react-fontawesome/compare/0.2.6...3.0.0

View original

Upgraded? How did it go?

Discussion