Skip to content

Fixed documentation inaccuracies surfaced during v3.0.0 release review.#373

Merged
AlexSkrypnyk merged 2 commits into
masterfrom
feature/v3-doc-polish
May 29, 2026
Merged

Fixed documentation inaccuracies surfaced during v3.0.0 release review.#373
AlexSkrypnyk merged 2 commits into
masterfrom
feature/v3-doc-polish

Conversation

@AlexSkrypnyk
Copy link
Copy Markdown
Collaborator

@AlexSkrypnyk AlexSkrypnyk commented May 29, 2026

Summary

Documentation inaccuracies surfaced during the v3.0.0 release review are fixed across README.md, CONTRIBUTING.md, and UPGRADING.md. All changes are documentation only - no PHP was modified. The fixes bring the docs into alignment with what actually ships in v3: the EntityStub API, the kernel test suite, the real composer test script, stable accessor names, and the actual mix of test frameworks in use.

Changes

README.md

Banner note - removed "under heavy development for version 3.x" wording and the link to the now-closed #312 epic. Replaced with a concise statement of what v3 supports (Drupal 10/11, PHP 8.2+) and a pointer to the 2.x branch for users who need it.

Quickstart example - the example used the v2 (object) [...] cast which throws TypeError against v3's typed nodeCreate(EntityStubInterface $stub) signature. Updated to use new EntityStub('node', 'article', [...]) with the required use statement, and demonstrated capturing the return value.

CONTRIBUTING.md

"Actively working on 3.x" announcement block - removed. v3 work is complete.

"What are we testing?" section - the section previously told contributors there were no Drupal-installation tests yet, and that kernel tests were planned for v3.x. The kernel test suite (tests/Drupal/Tests/Driver/Kernel/) ships in v3 with 14 test files. Rewrote the section to describe both unit and kernel test suites accurately, and dropped a stale "PhpSpec specs (legacy)" bullet - the spec/ directory does not exist in v3. The phpspec/prophecy-phpunit Composer dep remains, but only as a transitive runtime requirement of Drupal core's KernelTestBase; it is not a PhpSpec BDD framework reference.

Commands table - composer test was listed as "PHPUnit + PhpSpec" but the actual test script in composer.json is PHPUnit only. Updated the table to match composer.json exactly and added composer test-coverage. Also dropped the XDEBUG_MODE=off prefix from the inline phpunit example.

UPGRADING.md

Historical prerelease note - an intra-v3 note explained that classifier() was renamed to getFieldClassifier() before 3.0.0-alpha1. Per project convention, docs describe what IS, not what WAS. Replaced the paragraph with a single sentence stating the current accessor name and how it fits the existing naming pattern.

Before / After

README.md quickstart

Before:

use Drupal\Driver\DrupalDriver;

// Create a node.
$node = (object) [
  'type' => 'article',
  'uid' => 1,
  'title' => $driver->getRandom()->name(),
];
$driver->nodeCreate($node);

After:

use Drupal\Driver\DrupalDriver;
use Drupal\Driver\Entity\EntityStub;

// Create a node.
$node = new EntityStub('node', 'article', [
  'uid' => 1,
  'title' => $driver->getRandom()->name(),
]);
$saved = $driver->nodeCreate($node);
$nid = $saved->getId();

README.md banner

Before:

Note: This master branch is under heavy development for version 3.x. Drupal 6 and 7 support has been dropped. For the 2.x maintenance line, use the 2.x branch. See the 3.x epic for details and progress.

After:

Note: v3 supports Drupal 10 and 11 on PHP 8.2+. Sites that need Drupal 7 or PHP 8.1 should pin to the 2.x branch. See UPGRADING.md for the v2 to v3 migration guide.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 29, 2026

📝 Walkthrough

Walkthrough

Documentation updates across three files clarify v3.x release finalization: CONTRIBUTING.md removes outdated roadmap notes and refines test infrastructure descriptions; README.md updates version support guidance and fixes usage examples with proper EntityStub instantiation; UPGRADING.md corrects CoreInterface accessor naming.

Changes

v3.x Release Documentation

Layer / File(s) Summary
Test infrastructure & commands documentation
CONTRIBUTING.md
Removed the top v3.x note, rewrote "What are we testing?" to list PHPUnit unit and PHPUnit kernel (SQLite) tests, updated the example test command, and refreshed composer lint, composer lint-fix, composer test descriptions and added composer test-coverage.
Version support and usage examples
README.md
Replaced the old master-note with a v3-specific version/support note referencing the 2.x branch and UPGRADING.md, added Drupal\Driver\Entity\EntityStub import, and rewrote the node creation example to instantiate EntityStub and extract the created node ID with getId().
CoreInterface accessor documentation
UPGRADING.md
Clarified the field-classifier accessor is getFieldClassifier() and removed the historical mention of the classifier() prerelease name.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 I hopped through lines of docs today,
Clarified tests and showed the way.
EntityStub now plays its part,
v3 notes tidy, tidy heart.
Hooray for clean docs — a rabbit's yay! 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main purpose of the PR: fixing documentation inaccuracies discovered during v3.0.0 release review. It directly relates to the changes in README.md, CONTRIBUTING.md, and UPGRADING.md.
Linked Issues check ✅ Passed The PR directly addresses documentation objectives from epic #312, including updating README for v3 support statement, correcting CONTRIBUTING.md testing section, and updating UPGRADING.md with current API details.
Out of Scope Changes check ✅ Passed All changes are documentation-only updates (README.md, CONTRIBUTING.md, UPGRADING.md) directly aligned with #312 release documentation requirements. No out-of-scope code changes are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/v3-doc-polish

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

Code coverage (threshold: 95%)



Code Coverage Report Summary:
  Classes: 58.82% (20/34)
  Methods: 89.63% (216/241)
  Lines:   96.34% (1212/1258)

Per-class coverage
Drupal\Driver\Alias\CreationAliasRegistryTrait               100.00%
Drupal\Driver\Alias\RolesAlias                                87.50%
Drupal\Driver\BlackboxDriver                                 100.00%
Drupal\Driver\Core\Alias\AuthorAlias                          90.00%
Drupal\Driver\Core\Alias\ParentTermAlias                      88.24%
Drupal\Driver\Core\Alias\VocabularyMachineNameAlias           88.89%
Drupal\Driver\Core\Core                                       96.06%
Drupal\Driver\Core\Field\AbstractHandler                      95.74%
Drupal\Driver\Core\Field\AddressHandler                       94.83%
Drupal\Driver\Core\Field\BooleanHandler                      100.00%
Drupal\Driver\Core\Field\DaterangeHandler                    100.00%
Drupal\Driver\Core\Field\DatetimeHandler                     100.00%
Drupal\Driver\Core\Field\DefaultHandler                      100.00%
Drupal\Driver\Core\Field\EmbridgeAssetItemHandler              0.00%
Drupal\Driver\Core\Field\EntityReferenceHandler               94.44%
Drupal\Driver\Core\Field\EntityReferenceRevisionsHandler      86.05%
Drupal\Driver\Core\Field\FieldClassifier                      94.44%
Drupal\Driver\Core\Field\FileHandler                         100.00%
Drupal\Driver\Core\Field\ImageHandler                        100.00%
Drupal\Driver\Core\Field\LinkHandler                          94.00%
Drupal\Driver\Core\Field\ListFloatHandler                    100.00%
Drupal\Driver\Core\Field\ListHandlerBase                     100.00%
Drupal\Driver\Core\Field\ListIntegerHandler                    0.00%
Drupal\Driver\Core\Field\ListStringHandler                     0.00%
Drupal\Driver\Core\Field\NameHandler                          96.36%
Drupal\Driver\Core\Field\OgStandardReferenceHandler            0.00%
Drupal\Driver\Core\Field\SmartdateHandler                    100.00%
Drupal\Driver\Core\Field\SupportedImageHandler               100.00%
Drupal\Driver\Core\Field\TextHandler                         100.00%
Drupal\Driver\Core\Field\TextLongHandler                     100.00%
Drupal\Driver\Core\Field\TextWithSummaryHandler              100.00%
Drupal\Driver\Core\Field\TimeHandler                          91.67%
Drupal\Driver\DrupalDriver                                    98.86%
Drupal\Driver\DrushDriver                                    100.00%
Drupal\Driver\Entity\EntityStub                              100.00%
Drupal\Driver\Exception\BootstrapException                   100.00%
Drupal\Driver\Exception\CreationAliasResolutionException       0.00%
Drupal\Driver\Exception\Exception                            100.00%
Drupal\Driver\Exception\UnsupportedDriverActionException     100.00%

@AlexSkrypnyk AlexSkrypnyk merged commit 9b83f4a into master May 29, 2026
13 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/v3-doc-polish branch May 29, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Epic: DrupalDriver 3.x

1 participant