Changelog
All notable changes to this project will be documented in this file. See
Conventional Commits for commit guidelines.
3.2.0 (2026-02-06)
Features
- types: export CSSVariables type for user consumption (0e68290)
Bug Fixes
- env: support for defined process but undefined process.env (243a273)
- remove some stray spaces (77f64d8)
- switch order of spread to allow given props to override (1f0690a)
- undo local package-lock change (7242428)
Chores
- add a deprecation notice to the title and titleId props (1953e29)
- deps: upgrade all dev deps (018fa1f)
- format: fix format issue in changelog (64b449d)
- format: ignore changelog from prettier as it is autogen'd (ec1c118)
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
- deps: fix GH advisory GHSA-5j98-mcp5-4vw2 (2cd0c3f)
- deps: regenerate lockfile (779488e)
- deps: upgrade all dev deps (b92e5a7)
- release: explicit registry in publish script (2aee952)
- release: fix semantic release config missing npm plugin (ebabf46)
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)
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)
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)
3.0.1 - 2025-08-27
Bug Fixes
- Added additional module resolution configs in
package.json (b078d99)
- Refactored SVGCore version checks to use dynamic import to fix #589 (bc7cad0)
3.0.0 - 2025-08-22
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
0.2.x
Previous 0.2.x change log available here
0.1.x
Previous 0.1.x change log available here