All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Adding block assertions to strings.
- Allow partial matching of HTML content by xpath selectors.
- Add a shutdown handler to the installation script to prevent silent fatals.
- Ensure factories can be used with data providers.
- Adding date query builder for posts.
- Adds a trait to easily silence remote requests during testing.
- Improve the messaging of assertions when testing.
- Ensure that attribute and action methods are deduplicated in service providers.
- Fix issue with custom post types/taxonomies and factories not resuming the correct post type/taxonomy after creation.
- Improved the performance of the
with_image()
method on attachment factories.
- Added
with_active_plugins()
method to the installation manager to set the active plugins after installation. - Added the
install_plugin()
method to the installation manager to install a plugin from WordPress.org or a remote URL.
- Fixed an issue where the console kernel was not booting unless running
wp mantle
directly.
- Add better support for a query modifier on a relationship.
- Add
whereRaw()
for querying against raw attributes in a SQL query.
- Fixed an issue when saving multiple models.
No changes, just a re-release to fix a bad tag.
- Introduce a flexible Application Bootloader.
- Allow dynamic instance of a model to be created without defining the model class.
- Add facade docblocks and phpdoc block generation script.
- Stringable and updated Str class.
- Vendor Publishable Assets.
- Add first_or_new/first_or_create/update_or_create methods.
- New assertion helpers.
- Adding PHP 8.2 support.
- Allow JSON to be POST-ed to requests when testing.
- Adding chunk()/chunk_by_id()/each()/each_by_id() methods to the query builder, fixing order by aliases.
- Add dump/dumpSql/dd/ddSql to the query builder.
- Add testing for prefer-lowest.
- Add snapshot testing.
- Fix an error when typehinting and using request variables.
- Fix generator namespaces.
- Fix http-client content_type method by @nlemoine.
- Ensure that REST API headers are persisted when testing.
- Remove Guzzle HTTP and move to WordPress Http Client.
- Refresh application routing and add tests.
- Improve the handling of various arguments to with_terms().
- Refactor Factories for simplicity and to combine with testing factories.
- Updating factory generators/stubs.
- Requiring
symfony/console
, upgrading topsr/log
3.0. - Ensure that faker can always generate Gutenberg blocks.
- @nlemoine made their first contribution in #409
Full Changelog: https://github.com/alleyinteractive/mantle-framework/compare/v0.11.3...v0.12.0
- Allow the default database configuration to be customized via environment
variables:
WP_DB_NAME
,WP_DB_USER
,WP_DB_PASSWORD
,WP_DB_HOST
.
- Add back-support for WordPress 6.0 when testing.
- Add support for using SQLite in tests (opt-in).
- Add support for rsync-ing mu-plugins and adding object-cache.php during testing.
- Assorted fixes from/to support PHPStan (we're now at level 5 with plans to increase).
- Remove any reference to
LazyCollection
.
- Add a
with_image()
helper to create an attachment with a real image.
- Remove duplicate
rsync_exclusions
keys inRsync_Installation
. - Handle some edge cases when running wp-cli on VIP
- Fixing issue with core test case shim.
- Set better defaults for registering meta.
- Improving rsyncing and phpunit path detection during unit tests.
- Introduce a WP_UnitTestCase class and a core shim to the testing framework.
- Improve reporting of stray HTTP requests during unit tests.
- Allow json to be dumped from the testing response.
- Make
wp_insert_post
returnWP_Error
. - Fix an error with the trace not passing through.
- Fix
get_facade_accessor
signature.
- Fix a fatal error when the build directory doesn't exist.
- Remove Laravel Mix support. Switch to asset loader that aligns with shared company configuration.
- Ensure --url doesn't throw an error on bin/mantle
- Fix issue with custom namespace in application.
- Upgrading to
voku/portable-ascii
v2 to fix conflicted version withilluminate/support
.
- Improvements to database factories: adds
with_meta()
to all supported types, addswith_posts()
to term factory. - Upgrading to Symfony 6 and Illuminate/View 9
- Allow
Mantle\Testing\Mock_Http_Response
to be converted toMantle\Http_Client\Response
- Support streamed HTTP responses in the client and fake.
- Add
maybe_rsync_content
during testing. - Add
--delete
when rsyncing content during testing. - Work to make Mantle a bit more isolated.
- Fix for testing installation.
- Allow more flexible control over incorrect usage and deprecations
- Add support for rsync-ing a codebase from within the testing suite
- Fixes for WordPress 6.1
- Adding support for testing commands
- Add support for an isolated console mode
- Use the existing WP_CORE_DIR if one exists
- Display trace for incorrect usage/deprecation notices
- Authentication assertions and tests
- **Fix:*- Set default to string incase of missing location.
- Adding assertions for element missing/existing.
- Middleware for testing factories.
- Asset assertions and improvements.
- Support for mix pulling in dependencies.
- Cast the item to an array inside of only_children.
- Adding keywords to trigger --dev.
- Separate requires based on what they include.
- Compatibility layer for Refresh_Database and Installs_WordPress.
- Adding alleyinteractive/wp-filter-side-effects to mantle-framework/database
- Ensure tests have a permalink structure by default.
- Adding only_children() method to collections.
- Update to
alleyinteractive/composer-wordpress-autoloader
v1.0.0. - Overhaul queue system, add support for closures to be dispatched to the queue asynchronously.
- Remove Caper package in favor of https://github.com/alleyinteractive/wp-caper.
- Fixing issue with testing library
- Fixing issue with Http Client.
- Fixing issue with testing installation callback.
- Prevent external requests during unit testing in #293
- Adding macroable to responses in #292
- Bump actions/cache from 3.0.4 to 3.0.5 by @dependabot in #294
- Bumping asset manager in #295
- Update testkit to include URL Generator in #296
- Add request before/after callbacks in #298
- Cleaning up the flag/argument, simplify to flag/argument/option in #297
- Including mantle-framework/http-client with testing in #299
- Fix Asset_Manager bug on asset() by @anubisthejackle in #300
- Adding an Installation_Manager to facilitate installation in #302
- Adding Conditionable Method Chaining in #304
- Adding support for Mock_Http_Sequence inside an array in #303
- Adding Concurrent Http Client Request Support in #301
- Bumping composer autoloader to v0.6 in #306
Fixing a miss-tagged version.
- Allow testing framework factory to return models pull/276
- Define Post Model Terms Fluently
- Add is_json/headline to Str
- Adding a With_Faker trait
- Adding Assert JSON Structure
- Make all headers lowercase for easier comparison when testing
- Create new Testkit cases: Integration and Unit Test by @anubisthejackle in #269
- Adding create_ordered_set helper in #271
- Allow control over the temporary URL expiration in #272
- Allow attributes to register hooks in #273
- Registering listeners with attributes in #275
- Fix Faker deprecation warnings about accessing methods as parameters by @anubisthejackle in #270
- Ensure WP_MULTISITE can be passed properly in #274
0.1.0 - 2022-04-19
Initial release of the Mantle Framework 🎉