Releases: FortAwesome/wordpress-fontawesome
Release 4.0.0-rc15
MAJOR UPDATE, some breaking changes for developers. Improves conflict detection, adds support for kits and internationalization.
- Includes auto-upgrade logic so that most users can upgrade with no impact, except those that have "registered client" themes or plugins. Users who had previously enabled the "remove unregistered clients" option should verify that the auto-upgrade worked successfully - check that your icons are appearing correctly. If not, run the Conflict Scanner from the Troubleshoot tab.
- New conflict detection and resolution: The new conflict detection scanner can be enabled to more precisely discover conflicting versions of Font Awesome and provides more granular conflict resolution.
- Expanded error handling with detailed reports in the web console for more advanced diagnostics.
- Adds support for Kits.
- Adds comprehensive internationalization in both PHP and JavaScript.
- New design of the admin UI.
- Developers: Significant changes to the way the settings are handled internally: Font Awesome will always load in the way the WordPress admin chooses. Registered themes or plugins may register preferences (which are displayed to the admin), but the site admin will determine the configuration.
- Developers: Registered client plugins and themes need to be updated before they will work as expected.
- Developers: The PHP API contains significant changes. See the GitHub README for an overview and the PHP API docs for details. This release is intended as a final API-changing release before stabilizing the API at 4.0.0. Once 4.0.0 is released, it will follow semantic versioning best practices.
Pre-pre-release of 4.0.0 from a development branch
This is a preliminary pre-release.
Release 4.0.0-rc13
Improve diagnostic output for unhandled errors.
Release 4.0.0-rc12
Bug fix: Fix loading of admin page assets when removal of unregistered clients is enabled.
Release 4.0.0-rc11
Bug fix: enqueue Font Awesome assets in admin and login areas, not just in the front end
Release 4.0.0-rc10
Attempt to fix a problem where the admin settings is sometimes being confused by unexpected output from the WordPress server. This condition has been reported when certain other plugins are active, and (possibly) when PHP output buffering works differently than this plugin expects.
Release 4.0.0-rc9
-
Enhance Font Awesome version 4 compatibility: add shimming of the version 4 font-family to enable
version 4 icons defined as pseudo-elements to be rendered via the version of Font Awesome 5 loaded
by this plugin. -
Add warnings to the admin UI to indicate that using svg and pseudo-elements may result in slow
performance, and that svg with pseudo-elements and version 4 compatibility is not supported at all.
Release 4.0.0-rc8
-
Remove all composer dependencies, which were just Spyc (Yaml), Semver, and GuzzleHttp
This is being done to eliminate possible namespace collisions between modules loaded by this
plugin and those that may be loaded by other plugins that are activated along side this one.
Our use of these third party libraries was only minor anyway, so eliminating them seemed better
than trying a more complicated namespacing solution. -
Put all of this plugin's code into a FortAwesome namespace, for similar reasons. This is a breaking
change for any client themes or plugins -
Convert the v3 icon map from yaml to a PHP associative array
-
Update some developer docs: passing arguments to phpunit running in the container
-
Fix up testing and mocking approaches, given changes in HTTP client: using wp_remote_get
instead of GuzzleHttp Client -
Breaking: Move version specification out of the load_spec and into options
-- Design change: clients no longer register version constraints
-- Version is set based only on the options set by the site admin from the admin settings page,
with a default of 'latest' that resolves to the most recent version available from
fontawesome.com/api/releases
-
Several methods like FontAwesome::options() now throw Exceptions when they would
otherwise return invalid responses -
Refactor reset_db() into test support module
-
Use reset_db() in more tests to avoid false negatives from db pollution by other tests running
in the same test suite. -
Update integration testing plugins and theme with version and namespace changes
-
Breaking: Re-implement FontAwesome::satisfies() and satisfies_or_warn() without reliance
on Semver.Since we're not using the Semver library any more, we're also not using semantic versions any
more wherever checking occurs. Replaced this with a basic (good enough) form of
version constraints. -
Remove methods like get_latest_semver() that have become obsolete with semver changes
-
Remove semver related properties from the json that is returned from the config controller
to the React admin client. -
Deprecate the FontAwesome::load_spec() method
The changes in this PR have made it more clear that it's probably time to re-organize and
re-name a lot. This method name and the "load_spec" concept are foremost in need of
such clean-up and clarification. In the meantime, comments have been added in the code
and this accessor method has been deprecated to encourage developers not to rely on it.
Everything it provides is otherwise available in more reliable ways, namely the other accessor
methods like FontAwesome::version(). -
Update API documentation to emphasize best practices with respect to registering requirements.
In a nutshell: don't constrain unless you must. -
Breaking: remove the load_spec parameter from font_awesome_enqueued action
Because of the misnomer that "load_spec" has become, rather than suggesting that client
code can rely upon that load_spec to comprehensively represent the metadata of the load,
developers should query the FontAwesome object's accessor methods.
The font_awesome_enqueued action remains useful because it represents the time in the life
cycle of the plugin's loading process when those accessor methods can be invoked and relied
upon to provide accurate data. -
Update webpack-dev-server version to satisfy GitHub security warning
-
Update cdn domains management url in the client
-
Improve configuration exception handling
Add a mechanism for bubbling up exceptions with user-facing notices, such as configuration
errors upon attempts to save options in the admin UI that would produce invalid results.An example scenario: requiring webfont, v4shim, and a version earlier than 5.1.0.
(No v4shim is available in that scenario, so a descriptive error is displayed in the admin UI,
the result of a FontAwesome_ConfigurationException bubbling up from deep in the server code.) -
Change logic for updating db state: do not save options unless the entire load and enqueue
succeeds. Previously, we weren't factoring in the possibility that conflicts may arise even after
a successful load spec is computed, because an otherwise successfully computed load spec
might still conflict with the site owner's selected options, such as version. Moving version from
load spec to options highlighted this problem. -
Update Deactivator module to cleanup all db state on plugin deactivation
-
Add fa_method() and v4shim() accessor methods to the FontAwesome object
Release 4.0.0-rc7
Change resource names for scripts and links to avoid conflict with other themes and plugins
that happen to use the same resource name font-awesome.
This was causing our detection of "unregistered clients", and thus also their removal, to fail.
Release 4.0.0-rc6
Fix error when updating options on admin page: handle null releaseProviderStatus in cases where the
release provider does not have to make a network request to update release metadata.