Update 3/6/21: Better Font Awesome 2.0.0 has been released! Please see the wordpress.org support thread for details.
I finally got around to updating Better Font Awesome to support Font Awesome v5! This update includes many changes, and it’s important to get plenty of real user testing before publishing the update to the WordPress plugin repo. If you’d like to help test, please download and install the latest beta here:
- v2.0.0 release candidate
- No material changes
- fixes missing icons by restoring
fadefault legacy prefix
- enables v4 legacy shim by default for upgrades (folks who enabled another beta version already will still need to manually enable the “Include v4 CSS shim” option via Settings > Better Font Awesome)
- Decreases remote fetch timeout from 10s to 3s to mitigate performance risk
- Ensures admin notice is dismissible
- fixes missing icons by restoring
v2.0.0-beta6 (missing some legacy icons)
See below for testing instructions. . .
Slightly longer version
Over 2 years ago, I updated the Better Font Awesome WordPress plugin to support Font Awesome v5, which required some non-trivial updates due to the way the v5 icon data structure had changed. I published a similar blog post asking for testers. Shortly after that, however, the fine folks over at Font Awesome made some changes to their asset naming/structure that my integration didn’t support, and I never got back around to fixing things, since the changes would have required some even less trivial updates to my code, and my life had gotten a bit busier (namely a new full time job). So I put plugin development entirely on hold.
Fast forward a couple years, and 2 keys things recently changed:
- Font Awesome now offers an amazing GraphQL API! This means fetching Font Awesome icon data is waaaaay easier.
- I had a baby! This (surprisingly) means I had some bandwidth while on paternity leave to make the (now far simpler due to the GraphQL API) plugin updates required to get things working.
This update features some significant additions and removals:
- Support for Font Awesome v5
- Integration with Font Awesome GraphQL API for all data dependencies (this improves performance now that we only have to make one external call)
- Integration with Font Awesome CDN for all CSS
- Option to include the v4 Font Awesome CSS shim to support older icons
- Updated hard-coded fallback Font Awesome version (latest version the time of writing: 5.14.0)
- Modified version check frequency to a saner 24 hour interval
- Fixes for legacy jQuery errors
- More/better unit tests to ensure things are working as expected
- Ability to select a specific version of Font Awesome to use. The plugin now always uses the latest version. I hope this isn’t controversial, but I don’t see a great use case for forcing older versions, especially with the ability to use the v4 shim.
- Ability to select minified vs. unminified assets. There’s really no reason to include unminified 3rd-party CSS.
- All dependencies on jsDelivr. This CDN served us well, however it’s just simpler to use Font Awesome’s own CDN, and testing indicates it’s just as performant.
- Download the latest beta version
- Make sure you have some way to access the filesystem on your server (FTP, SSH, automated build/deploy, etc). Nothing is expected to act wonky, but if it does, it’s always nice to be able to quickly disable the plugin.
- Install the downloaded version (either via the admin or direct upload)
- Start testing!
Things to test
- Code review
- Does installation go smoothly?
- Do you get any errors during the process?
- Go to
Settings → Better Font Awesome
- Are your settings preserved?
- Does the settings page indicate the latest version of Font Awesome is being used?
- Are you able to modify all settings as expected?
- Go to
- Icon output
- Do all icons appear as expected?
- If you enable the v4 CSS shim on the settings page, do legacy v4 icons all appear as expected?
- Anything else you notice?
First of all – THANK YOU FOR TESTING! I very much appreciate your help
If you do come across any issues or outstanding questions, please create a new thread on the official support page and prefix the title with
[Beta Test]. I will be monitoring these support threads closely and will do my best to respond to any feedback as quickly as possible.