All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
- Block scaffolding code did not export functions correctly.
- Integrated our block plugin support package into the plugin base for easier use and maintenance.
- New
forge make:block
command to easily scaffold a new block. - New
forge setup:block-build
command to easily scaffold the block build process. - Abstract
Job
class for creating long-running background tasks. - Abstract
Bulk_Action
class for quickly scaffolding new bulk actions. - Abstract
Multisite_Tab
class for quicklt scaffolding a new tab in the network admin website edit view.
- AssetManager was not hooking the static implementation but the abstract.
- Issue where wakeup and clone methods would throw error on PHP8.
- New
AssetManager
class to simplify loading of assets.
BasePlugin
is now a standard class that can be called, not just abstract.
- A new plugin slug variable, used to create automatic action hooks.
- New lifecycle action hooks.
- Updated base plugin to support loading of blocks via the updated Block API.
- Rest endpoint abstract would force a type that WordPress doesn't, causing an error.
- New bootable list to hook things on init faster.
- New integration with our Block Plugin Support trait that will autoload the blocks if the trait is present.
- Make logger abstract and with configurable paths.
- Moved console dependency to dev.
- Moved to minimum PHP 7.4 with typehinted code.
- Customizer stub has correct namespace and class name.
- Loading of admin columns works properly.
- Relaxed Symfony console requirements so that it plays nice with php scoper.
- Support for PHP 8.
- New
forge
CLI for easy scaffolding. - Scaffolding for separating field groups into own classes for better organization. Add them to a data store by adding the class to an array.
- Scaffolding for customizer sections. Just add them to an array in the base plugin class to load.
- Scaffolding for adding FacetWP facets. Just add them to an array in the base plugin class to load.
- Renamed classes and folders to consistently use CamelCase.
- Simplified loading of data stores and rest endpoints, now just add them to the respective arrays in the base plugin class. No trait or boot method needed.
- The
fields()
method on data stores should no longer be used, instead replaced by loading field group classes via the$field_groups
property.
Has_Data_Stores
trait, which is no longer needed.Has_Rest_Endpoints
trait, which is no longer needed.Queries_Interface
interface, which was never used.
- Helper methods for getting ACF data for boolean, term ID and dates.
- We now honor our dependency checker method in the constructor call.
- In
Data_Store_WP
an action was hooked tobm_events_init
. This has been removed.
- Spelling mistake where property
$database_version
was misspelt. - Textdomains were not loading properly, this is now fixed.
- The datastore exception class was not named properly, causing it to fail.
- Adding routes with REST was forced to return an array, should not need to return anything.
- REST endpoints calls a load function, but the load function wasn't present.
- An issue where abstract classes where not resolving the static values.
- An issue where the base plugin classes loaded from "self" and not "static".
First Version