Skip to content

Merge 5.next into 6.x#8320

Merged
dereuromark merged 73 commits into
6.xfrom
6.x-merge-5.next
Jul 15, 2026
Merged

Merge 5.next into 6.x#8320
dereuromark merged 73 commits into
6.xfrom
6.x-merge-5.next

Conversation

@dereuromark

Copy link
Copy Markdown
Member

Merges 5.next into 6.x to bring forward documentation updates.

Conflict resolutions

  • appendices/migration-guides.md - kept the 6.x content (cakephp60 rector rules, 6.0 guide links). Fixed a 6 0 -> 6.0 label typo and kept the version-agnostic PHPUnit Upgrade link.
  • core-libraries/caching.md - union of both sides: kept 6.x's new PhpEngine section and restored 5.next's improved ApcuEngine section (6.x had dropped the ApcuEngine details while still listing APCu as an available engine).
  • .vitepress/toc_en.json - kept 6.x's sidebar structure (6.0 guides under Appendices), consistent with the 6.x migration-guides index page. Dropped the 5.x collapsed group that auto-merge had leaked in.

Reverted auto-merge regressions

5.next had removed CI tooling that 6.x still uses, and a plain merge would have deleted it from 6.x. Restored to the 6.x versions:

  • .github/check-links.cjs, .github/check-toc-links.cjs, .github/cspell.json, .github/.markdownlint-cli2.jsonc, .github/markdownlint-rules/no-space-after-fence.cjs
  • .github/workflows/docs-validation.yml, .github/workflows/deploy_6.yml
  • package-lock.json - 5.next introduced lockfile churn with an identical package.json; kept the 6.x lock.

Brought forward from 5.next

  • .vitepress/config.js Plugins nav dropdown
  • toc_ja.json 5.0 guide reorder
  • Documentation updates across ORM, form helper, locking, events, i18n, request/response, and more.

No files deleted; 6.0 guides and the PhpEngine docs remain intact.

josbeir and others added 30 commits March 28, 2026 09:36
* Initial attempt reusable workflow

* Use proper tools-ref (during tests)

* Target 5.x branch
* re-organize plugins to navbar

* Also adjust JA toc
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Precision about OptionParser 'separator'

Clarified requirement for 'separator' option to require 'multiple' to be true.

* Fix grammar in option-parsers.md documentation

---------

Co-authored-by: Mark Scherer <dereuromark@users.noreply.github.com>
Adds documentation for the new portable stringAgg() method, covering
per-driver translation and supported ordering.
Adds documentation for the new except() and exceptAll() methods on
SelectQuery, covering supported platforms for EXCEPT ALL.
# Conflicts:
#	docs/en/appendices/5-4-migration-guide.md
Document Connection::afterCommit() and deferred commit events
Right now the names of the options aren't easy to scan. Having a list
with code formatting on the option names improves readability.
* Update docs for request detectors

* Fix typo
Extend conventions.md with Enum, Mailer and Form class conventions so
the page reflects current CakePHP 5.x application structure:

- Add Enum class example (src/Model/Enum/ArticleStatus) with file path,
  PSR-4 row, reference table row, file tree entry and SQL column example
- Add Form (src/Form/*Form.php) and Mailer (src/Mailer/*Mailer.php) to
  the src/ directory table and the PSR-4 naming table
- Fix Enum docs anchor (#enum-type) and replace misleading created_at
  column example with is_processed (CakePHP defaults to created/modified)
LordSimal and others added 28 commits May 13, 2026 09:36
* add docs about new table entity assertion

* add docs about new table entity assertion
Adds a 'Getting Arrays Instead of Entities' section covering findUnhydrated()
as the type-safe replacement for find()->disableHydration(), updates the
buffered-results and mapReduce examples to use it, and records the new
feature plus the disableHydration() deprecation in the 5.4 migration guide.
… default, subcommand validation, enumOptions

Adds docs and 5.4 migration guide entries for several 5.next merges:

- PluralRules::setRule() / resetRules() for custom Gettext plural rules.
- EnumLabelTrait + Label attribute for derived translated enum labels.
- FormHelper now wraps hidden CSRF / FormProtection blocks with the HTML5
  boolean hidden attribute instead of inline style display:none, so the
  default markup is strict-CSP compatible.
- CLI rejects unknown positional tokens after a parent command that has
  sibling subcommands, surfacing typos instead of silently dropping them.
- FormHelper::enumOptions() is now public for building select options from
  a backed enum without entity context.
Full detail is already on the linked Subcommand Validation section in the
console-commands docs, so the migration guide just needs to flag the
behavior change and point at it.
Document 5.4 features: PluralRules, EnumLabelTrait, FormHelper hidden, subcommand validation, enumOptions
Document Table::findUnhydrated() and SelectUnhydratedQuery
The merged findUnhydrated() docs referenced the class as
SelectUnhydratedQuery, but the core adds it as UnhydratedSelectQuery
(Unhydrated + SelectQuery, matching the SelectQuery/InsertQuery/
UpdateQuery/DeleteQuery family).
Move the migration guides and upgrade tool docs to 'getting started'
instead of 'appendices'. These docs are an entrypoint for returing
developers. I've also retitled the migrations-guide page to focus more
on the upgrading process.
Added instructions to install the required PHP extension for FrankenPHP.
* Add locking documentation

* Add locking migration note
Adds a "Redacting Sensitive Values from Query Logs" subsection under
the existing Query Logging section in `orm/database-basics.md` and a
matching entry in the 5.4 migration guide's Database changes.

Covers what the hook is for (any secret bound as a parameter ends up
in every surface that consumes a LoggedQuery), how to register one,
which exit points it covers (`interpolate()`, `getContext()`,
`jsonSerialize()`), and the silent-fallback behaviour for redactors
that throw or return a malformed value.
* Move Migration guides under 'getting started' in toc (#8307)

Move the migration guides and upgrade tool docs to 'getting started'
instead of 'appendices'. These docs are an entrypoint for returing
developers. I've also retitled the migrations-guide page to focus more
on the upgrading process.

* Add PHP extension installation step in Dockerfile (#8295)

Added instructions to install the required PHP extension for FrankenPHP.

* Remove stray merge marker

---------

Co-authored-by: Mark Story <mark@mark-story.com>
Co-authored-by: blieb <540248+blieb@users.noreply.github.com>
* Fix formatting of email configuration keys

* [ja] - Fix formatting

* Add missing email-configurations anchor in ja translation

The link [設定](#email-configurations) in ja/core-libraries/email.md pointed
to an anchor that was never carried over from the English source, breaking
documentation link validation. Mirror the explicit anchors from en/email.md
(email-configuration before ## 設定, email-configurations before ### 設定プロファイル).

---------

Co-authored-by: Mark Scherer <dereuromark@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.15.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.8...8.5.15)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Harmonize FormHelper option-key docs to unquoted code spans

Follow-up to the email page cleanup: the FormHelper options documentation
wrote each option key as a quoted code span (`'type'`, `'url'`, ...). Drop
the surrounding quotes so the keys render as `type`, `url`, ... matching the
style used elsewhere in the docs.

Only the option key being defined by each bullet is changed. Literal string
values shown in the descriptions (`'get'`, `'post'`, `'reset'`, ...) keep
their quotes, since those denote actual string literals passed by the user.
Applied to both the English and Japanese pages so the key lists stay in sync.

* Add missing anchor targets in ja FormHelper page

The Japanese FormHelper page links to English-slug anchors (e.g.
#general-control-options, #create-radio-button, #datetime-options) that the
English page exposes via explicit <a id> tags and English heading slugs. The
Japanese headings slugify differently, so none of these targets existed and
44 internal links were dangling.

Add the matching explicit anchors before the corresponding Japanese sections.
The two option groups #datetime-options and #time-options have no English
counterpart; anchor them at the date- and time-related option subsections
they are clearly meant to reference.
* Correct class name formatting in locking.md

* Escape namespace separators and keep class name bold

A single backslash before `L` was treated as a Markdown escape, eating the
`L` and breaking the header. Escape the namespace separators with double
backslashes and keep the short class name bold, matching every other page
(e.g. caching.md, views.md).

---------

Co-authored-by: Mark Scherer <dereuromark@users.noreply.github.com>
…8318)

The CMS quickstart bundled `bin/cake migrations migrate` in the same
copy-paste block as the bake commands. The baked articles_tags migration
needs a manual fix first (the composite primary key columns are generated
as auto-increment, which MySQL rejects), but that warning came after the
migrate step. Copying the whole block ran migrate before the fix and failed.

Move the migrate step to after the composite primary key warning so the
order is: bake, correct the migration, then migrate.
* Document that withStringBody() requires returning the response or disabling auto-render

* Fix MD031 blank line around fenced code block
The ORM method is Table::unhydratedFind(), not findUnhydrated(). The 5.4
migration guide, release notes and the retrieving-data guide referenced the
wrong name, so copy-pasting produced a Call to undefined method error.
Match the index page order and reflect the logical flow: run the
upgrade process first, then consult per-version migration changes.
# Conflicts:
#	.vitepress/toc_en.json
#	docs/en/appendices/migration-guides.md
#	docs/en/core-libraries/caching.md
Match the 5.x/5.next English sidebar layout: migration guides live in a
collapsed group at the end of Getting Started rather than flat under
Appendices. Drop the PHPUnit Upgrade link from the group and index.
@dereuromark
dereuromark merged commit b36ef6f into 6.x Jul 15, 2026
6 checks passed
@dereuromark
dereuromark deleted the 6.x-merge-5.next branch July 15, 2026 14:49
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.