Skip to content

Releases: FortAwesome/react-fontawesome

v3.2.0

06 Feb 02:24

Choose a tag to compare

3.2.0 (2026-02-06)

Features

  • feat(types): export CSSVariables type for user consumption by @charles4221 in #622

Bug Fixes

  • fix(env): support for defined process but undefined process.env by @charles4221 in #616

Chores

  • Add a deprecation notice to the title and titleId props by @vivshaw in #612
  • chore(deps): upgrade all dev deps by @charles4221 in #621
  • Switch order of spread to allow given props to override by @robmadole in #615

New Contributors

Full Changelog: v3.1.1...v3.2.0

v3.1.1

28 Nov 05:29

Choose a tag to compare

3.1.1 (2025-11-28)

Bug Fixes

  • WCAG: allow custom role attribute on svgs like previous versions (ef4986b)

Documentation

  • remove irrelevant upgrade guide from 0.1-0.2x (7d41077)

Chores

v3.1.0

03 Oct 00:54

Choose a tag to compare

3.1.0 (2025-10-03)

Features

  • custom cssPrefix support (ad42835)
  • layers: add support for layers with FontAwesomeLayers component (2c84902)

Bug Fixes

  • better export path for CustomPrefixProvider (663cd25)
  • browser-support: don't use string.replaceAll to fix safari 12 support (1776e3a)

Testing

  • layers: add unit tests for FontAwesomeLayers (d31480b)
  • utils: unit tests for withPrefix utility (982f649)

Documentation

  • add inline documentation for CustomPrefixProvider (46f69d4)
  • remove .env requirement (c942c6a)

Chores

  • release: use @semantic-release/exec for multi-publish rather than third-party plugin (5a47e13)

Release 3.0.2

01 Sep 04:03

Choose a tag to compare

3.0.2 (2025-09-01)

Bug Fixes

  • constants: resolve JSON import errors for vite/remix users (850a804)
  • test: flaky converter performance test in CI (8f43f0e)
  • WCAG: correctly read aria-label and ensure aria-hidden is false when label present (19ddeb3)

Testing

  • converter: fix unit test for aria-label handling (8c49cdc)
  • remove flaky test (f9605ab)
  • remove unnecessary test conditionals for v5 (fd5bf9b)

Chores

  • don't include release notes in release commit (78ce3f8)
  • dx: integrate semantic-release and commitlint (de5b958)
  • remove dependency on semver (066019b)
  • update release config for better changelogs (7d2c242)

CI/CD

  • actions: refactor CI workflow to split some jobs out of matrix (d0d1fb6)
  • actions: use commitlint github action (4ab8726)
  • use public npm registry for npm ci (69ea57b)

Release 3.0.1

27 Aug 02:34

Choose a tag to compare

Bug Fixes

  • Added additional module resolution configs in package.json (b078d99)
  • Refactored SVGCore version checks to use dynamic import to fix #589 (bc7cad0)

Full Changelog: 3.0.0...3.0.1

Release 3.0.0

22 Aug 06:56

Choose a tag to compare

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: 0.2.6...3.0.0

Release 0.2.6

22 Aug 01:30

Choose a tag to compare

Fixed

  • check for existence of process before reading process.env (#585)

Full Changelog: 0.2.5...0.2.6

Release 0.2.5

15 Aug 07:56

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.2.4...0.2.5

Release 0.2.4

15 Aug 02:05

Choose a tag to compare

What's Changed

  • Allow passing undefined to optional properties with exactOptionalPropertyTypes by @jdufresne in #574
  • Update TypeScript to use the React.JSX namespace by @jdufresne in #571

New Contributors

Full Changelog: 0.2.3...0.2.4

Release 0.2.3

23 Jul 13:00

Choose a tag to compare

Changed

  • Font Awesome Pro+ icons are now available with an active Pro+ subscription.

  • Removed example directory and files

  • Deprecated fa-fw prop

Added

  • Added widthAuto prop

  • Added rotateBy prop