automattic/wordbless
WorDBless allows you to use WordPress core functions in your PHPUnit tests without having to set up a database and the whole WordPress environment
0.6.1
7.5M downloads/mo
#2158 most downloaded on Packagist
Automattic/wordbless
What this package is like to depend on
Last release 5 days ago
18 Aug 2026
Release timing varies
gaps range from 3 weeks to 1.9 years
Most releases are documented
notes for 10 of 13 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
13 releases · first in 2020
1 release in the last 12 months
see the full history below
Release timeline
13 releases · Sep 2020 to Aug 2026Releases
latest 13-
0.6.118 Aug 2026Release notes
Open source →What's Changed
- Bump phpunit/phpunit from 9.6.22 to 9.6.33 by @dependabot[bot] in #82
- Add AGENTS.md and clear UserMeta between tests by @kraftbj in #83
- Load: Define ABSPATH before SQLite cleanup and scope cleanup to sqlite engine by @kraftbj in #85
- Allow WordPress 7.0 in roots/wordpress constraint by @kraftbj in #84
- Use Composer event object to determine WordPress installation path. by @zinigor in #86
- chore: pin third-party GitHub Actions to commit SHAs by @mahangu in #89
- Bump composer/composer from 2.9.7 to 2.10.2 by @dependabot[bot] in #91
- Bump the actions-major group with 2 updates by @dependabot[bot] in #90
- Fix: minor grammatical issues in README.md by @mehrazmorshed in #87
- CI: Fix flaky composer-normalize step and pin WordPress version legs by @kraftbj in #92
WordPress 7.0 support
The
roots/wordpressconstraint is now^6.6 || ^7.0, so projects using WorDBless can run their tests against WordPress 7.0. This is the headline change: 0.6.0 capped you at WordPress 6.x, and the widened constraint has been sitting on trunk untagged since February.CI now runs all three test suites against pinned WordPress 6.6 and 7.0 legs in addition to the lowest/locked/highest matrix, so neither major loses coverage when the next one ships.
Other notes
Metadatafor users is now cleared between tests, matching what already happened for options, posts, post meta, and users. If a test relied on user meta surviving from one test method to the next, it will need to set that meta up explicitly.WorDBless\Composer\InstallDropin::copy()now takes the ComposerEventobject and readsextra.wordpress-install-dirfrom the root package, so a custom WordPress install directory gets thedb.phpdrop-in in the right place. Used as documented, as apost-install-cmdandpost-update-cmdscript handler, this needs no change on your side. Any code callingInstallDropin::copy()directly will need to pass the event.The SQLite cleanup in
Load::load()only runs for thesqliteengine now, andABSPATHis defined before it runs.New Contributors
- @dependabot[bot] made their first contribution in #82
- @zinigor made their first contribution in #86
- @mahangu made their first contribution in #89
- @mehrazmorshed made their first contribution in #87
Full Changelog: 0.6.0...0.6.1
-
0.6.022 Apr 2025Release notes
Open source →What's Changed
This allows WorDBless to work in two modes -- no database (default) or with SQLite by passing an argument to the
Load::init()function. This uses the SQLite implementation plugin being developed for potential Core inclusion. A known issue is that the SQLite plugin does not expect to be used for new installs without an existing MySQL database, so the first run of using SQLite will emit some noise about the DB not being found until it switches over to attempting SQLite.Full Changelog: 0.5.3...0.6.0
-
0.5.315 Apr 2025 -
0.5.215 Apr 2025Release notes
Open source →What's Changed
- Metadata: Fix return value for Metadata::get when
$singleis true by @manzoorwanijk in #77 - Fix warning with WordPress 6.8 by @anomiex in #78
New Contributors
- @manzoorwanijk made their first contribution in #77
Full Changelog: 0.5.1...0.5.2
- Metadata: Fix return value for Metadata::get when
-
0.5.126 Mar 2025 -
0.5.012 Feb 2025Release notes
Open source →What's Changed
- Move phpunit-polyfills to dev-requirements by @heiglandreas in #66
- Bump to PHP 7.2 and WP 6.6 by @kraftbj in #67
- Allow custom upload directories by @kraftbj in #70
New Contributors
- @heiglandreas made their first contribution in #66
Full Changelog: 0.4.2...0.5.0
-
0.4.215 Mar 2023Release notes
Open source →What's Changed
- Use Yoast PHPUnit Polyfill by @kraftbj in #61
- Add db_server_info method by @nateweller in #63
- Upgrade PHPStan and use Composer v2 by @szepeviktor in #62
New Contributors
- @nateweller made their first contribution in #63
Full Changelog: 0.4.1...0.4.2
-
0.4.103 Oct 2022Release notes
Open source →What's Changed
- Use TAB characters in README by @szepeviktor in #57
- Fix failing test under PHP8 and provide a fallback value for string by @cezarpopa in #59
New Contributors
- @cezarpopa made their first contribution in #59
Full Changelog: 0.4.0...0.4.1
-
0.4.014 Sep 2022Release notes
Open source →The package that WorDBless pulls WordPress updated their process to no longer ship the
wp-contentdirectory, which means no longer will all the default themes from Twenty Ten onward will be downloaded!The downside is this breaks the historical way WorDBless is installed.
When updating to 0.4.0, you will need to update your package's
composer.jsonto use the new command:"scripts": { "post-install-cmd": "WorDBless\\Composer\\InstallDropin::copy", "post-update-cmd": "WorDBless\\Composer\\InstallDropin::copy" },Thanks to @oskosk, @lhkowalski, and @dkmyta for the original report.
What's Changed
- update examples on readme by @leogermani in #49
- Remove redundant check from Post::insert_post by @szepeviktor in #50
- Remove zero empty-check from insert_post by @szepeviktor in #51
- Resolve wp-content folder failure on install by @kraftbj in #54
- Fix autoloading by @leogermani in #56
New Contributors
Full Changelog: 0.3.1...0.4.0
-
0.3.107 Jul 2021Release notes
Open source →Fixes update_option for default options and fix
wp_untrash_posttests for WordPress 5.6 -
0.3.002 Dec 2020Nothing published for this version
-
0.2.001 Dec 2020Nothing published for this version
-
0.1.016 Sep 2020Nothing published for this version