diff --git a/.distignore b/.distignore index efb0a9ab..4bcaa117 100644 --- a/.distignore +++ b/.distignore @@ -47,3 +47,10 @@ codeception.dist.yml codeception.slic.yml phpcs.xml .env.testing + +# JS unit tests, their mocks, and dev-only tool configs (TypeScript, shadcn/ui, slic). +__tests__/ +__mocks__/ +tsconfig.json +components.json +slic.json diff --git a/fakerpress.php b/fakerpress.php index 468a0e12..c59e5d89 100644 --- a/fakerpress.php +++ b/fakerpress.php @@ -3,7 +3,8 @@ * Plugin Name: FakerPress * Plugin URI: https://fakerpress.com * Description: FakerPress is a clean way to generate fake data to your WordPress installation, great for developers who need testing - * Version: 0.9.2 + * Version: 0.10.0 + * Requires at least: 6.6 * Author: Gustavo Bordoni * Author URI: https://bordoni.me * Text Domain: fakerpress diff --git a/package.json b/package.json index ab7e467b..81e4e4e9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fakerpress", "title": "FakerPress", - "version": "0.9.2", + "version": "0.10.0", "homepage": "https://fakerpress.com/", "repository": { "type": "git", diff --git a/readme.txt b/readme.txt index deb75af0..3c6f0c53 100644 --- a/readme.txt +++ b/readme.txt @@ -1,10 +1,10 @@ === FakerPress === Contributors: bordoni Tags: generator, dummy content, lorem ipsun, testing, developer -Requires at least: 5.5 +Requires at least: 6.6 Tested up to: 7.0 Requires PHP: 8.1 -Stable tag: 0.9.2 +Stable tag: 0.10.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Donate link: https://fakerpress.com/r/sponsor @@ -17,7 +17,7 @@ When creating a new theme or plugin, you always need to create a custom data set The goal of FakerPress is to fill this gap, offering a solution for both developers and WordPress users. -> **Note: This plugin requires PHP 8.1 or higher to be activated.** +> **Note: This plugin requires WordPress 6.6 and PHP 8.1 or higher to be activated.** [**Checkout our GitHub Repository**](http://fakerpress.com/r/github) @@ -167,7 +167,7 @@ For help with or questions about FakerPress, visit the [WordPress Plugin Forums] == Changelog == -= 0.10.0 — TBD = += 0.10.0 — 18 of October 2026 = * Feature - Rebuild every FakerPress admin page (Posts, Users, Terms, Comments, Attachments and Settings) in React with Tailwind CSS v4 and shadcn/ui, on top of the REST API; the Taxonomy and Meta Field Rules keep the familiar numbered, label-left layout and every meta type, including Date. [[#187](https://github.com/bordoni/fakerpress/pull/187)] * Fix - Meta Field Rules on generated attachments are now generated like on every other module, instead of each rule being stored raw under a numeric meta key. [[#187](https://github.com/bordoni/fakerpress/pull/187)] @@ -183,6 +183,8 @@ For help with or questions about FakerPress, visit the [WordPress Plugin Forums] * Tweak - Document every class, method and template to the WordPress coding standards, and correct docblocks that contradicted the code. [[#240](https://github.com/bordoni/fakerpress/pull/240)] * Tests - CI runs the Jest suite and a TypeScript check, and lints JS and CSS in separate steps, so one failure never hides another. [[#241](https://github.com/bordoni/fakerpress/pull/241)] * Tweak - Update the Composer dev dependencies with open security advisories (Composer, Guzzle, PSR-7, Symfony, Flysystem, PHP_CodeSniffer, PHPCSUtils and WPCS). [[#242](https://github.com/bordoni/fakerpress/pull/242)] +* Tweak - FakerPress now requires WordPress 6.6 or later, the first version that ships the React JSX runtime the new admin loads. Older sites would load blank admin pages, so WordPress now refuses to install this update or activate the plugin there. [[#245](https://github.com/bordoni/fakerpress/pull/245)] +* Tweak - Leave the Jest tests and mocks and the TypeScript, shadcn/ui and slic configs out of the plugin zip. [[#246](https://github.com/bordoni/fakerpress/pull/246)] = 0.9.2 — 20 of July 2026 = diff --git a/src/FakerPress/Plugin.php b/src/FakerPress/Plugin.php index 5f2b553e..1ff09af2 100644 --- a/src/FakerPress/Plugin.php +++ b/src/FakerPress/Plugin.php @@ -25,7 +25,7 @@ class Plugin { * * @var string */ - public const VERSION = '0.9.2'; + public const VERSION = '0.10.0'; /** * @since 0.6.0 diff --git a/src/FakerPress/Provider/WP_User.php b/src/FakerPress/Provider/WP_User.php index 833cb0f4..6ee928a8 100644 --- a/src/FakerPress/Provider/WP_User.php +++ b/src/FakerPress/Provider/WP_User.php @@ -79,7 +79,7 @@ public function user_nicename( ?string $nicename = null ): ?string { * * @since 0.1.0 * @since 0.6.2 Introduced type safety. - * @since TBD Keeps generated URLs within WordPress's 100-character limit. + * @since 0.10.0 Keeps generated URLs within WordPress's 100-character limit. * * @param string|null $url URL to use as is; null generates one of at most 100 characters. * diff --git a/tests/wpunit/Provider/WP_UserTest.php b/tests/wpunit/Provider/WP_UserTest.php index 3bbeb088..6552a9d7 100644 --- a/tests/wpunit/Provider/WP_UserTest.php +++ b/tests/wpunit/Provider/WP_UserTest.php @@ -2,7 +2,7 @@ /** * Tests for the WP_User provider. * - * @since TBD + * @since 0.10.0 * * @package FakerPress\Tests\Provider */ @@ -15,7 +15,7 @@ /** * Class WP_UserTest * - * @since TBD + * @since 0.10.0 */ class WP_UserTest extends \Codeception\TestCase\WPTestCase { diff --git a/tests/wpunit/REST/AdminPayloadsTest.php b/tests/wpunit/REST/AdminPayloadsTest.php index 0268f6fc..478556aa 100644 --- a/tests/wpunit/REST/AdminPayloadsTest.php +++ b/tests/wpunit/REST/AdminPayloadsTest.php @@ -2,7 +2,7 @@ /** * Tests that each generate endpoint accepts the payload the React admin sends. * - * @since TBD + * @since 0.10.0 * * @package FakerPress\Tests\REST */ @@ -22,7 +22,7 @@ * The payloads below mirror what `src/resources/packages/admin/lib/transform.ts` builds, sent as JSON * the way `@wordpress/api-fetch` sends them. HTTP is mocked, so attachments get a local JPEG. * - * @since TBD + * @since 0.10.0 */ class AdminPayloadsTest extends \Codeception\TestCase\WPTestCase { use REST_Test_Case; @@ -30,7 +30,7 @@ class AdminPayloadsTest extends \Codeception\TestCase\WPTestCase { /** * Body served for every mocked HTTP request. * - * @since TBD + * @since 0.10.0 * * @var string */ @@ -39,7 +39,7 @@ class AdminPayloadsTest extends \Codeception\TestCase\WPTestCase { /** * Content type served for every mocked HTTP request. * - * @since TBD + * @since 0.10.0 * * @var string */ @@ -48,7 +48,7 @@ class AdminPayloadsTest extends \Codeception\TestCase\WPTestCase { /** * A meta rule as the React rules UI sends it. * - * @since TBD + * @since 0.10.0 * * @var array */ @@ -61,7 +61,7 @@ class AdminPayloadsTest extends \Codeception\TestCase\WPTestCase { /** * Set up each test. * - * @since TBD + * @since 0.10.0 */ public function set_up(): void { parent::set_up(); @@ -85,7 +85,7 @@ public function set_up(): void { /** * Tear down each test. * - * @since TBD + * @since 0.10.0 */ public function tear_down(): void { remove_filter( 'pre_http_request', [ $this, 'mock_http_request' ], 10 ); @@ -95,7 +95,7 @@ public function tear_down(): void { /** * Serve the configured image for every HTTP request. * - * @since TBD + * @since 0.10.0 * * @param false|array $preempt Whether to preempt the request. * @param array $args HTTP request arguments. @@ -126,7 +126,7 @@ public function mock_http_request( $preempt, $args, $url ): array { /** * Dispatch a JSON request, as api-fetch does. * - * @since TBD + * @since 0.10.0 * * @param string $module Endpoint name, e.g. 'posts'. * @param array $body Request body. @@ -144,7 +144,7 @@ private function generate( string $module, array $body ): WP_REST_Response { /** * Assert a successful generation and return the generated IDs. * - * @since TBD + * @since 0.10.0 * * @param WP_REST_Response $response The response. * @param int $min Fewest items expected.