Skip to content

Sync with upstream trunk (3 commits) - #7

Open
batonac wants to merge 3 commits into
d1-supportfrom
upstream-sync
Open

Sync with upstream trunk (3 commits)#7
batonac wants to merge 3 commits into
d1-supportfrom
upstream-sync

Conversation

@batonac

@batonac batonac commented Aug 12, 2026

Copy link
Copy Markdown
Member

Automated sync of WordPress/sqlite-database-integration@trunk into d1-support.

This pull request tracks every upstream commit that has not landed on d1-support yet.
It is updated in place as upstream moves, and merges itself once the merge is clean and
every check is green. While it is open, it needs a person.

Upstream commits (3)

Merge conflicts (1 files)

d1-support cannot absorb these changes automatically, so this branch mirrors the
upstream trunk and no checks will run until the conflicts are resolved:

  • packages/mysql-on-sqlite/tests/bootstrap.php

Resolve them by merging the base branch into this one:

git fetch origin
git checkout -B upstream-sync origin/upstream-sync
git merge origin/d1-support   # resolve the conflicts, then commit
git push origin upstream-sync

Branch shape: mirror. Maintained by upstream-sync.yml. Closing this pull request is not permanent — the next scheduled run reopens it. Disable the workflow to stop the sync.

## Summary

Makes the PHP packages ready for Composer installation and discovery.

The changes provide these outcomes:

- **Declare runtime requirements and autoloading** for MySQL on SQLite.
- **Make the MySQL proxy installable independently**, with the SQLite
driver available as an optional backend and development dependency.
- **Complete package metadata and licensing** for MySQL on SQLite, the
MySQL parser, and the MySQL proxy.
- **Prepare standalone package subtree archives** that retain each
package manifest while excluding tests and generated test data.
- **Document and validate standalone installation paths** in package
documentation and CI.
- **Run workflows on the repository’s `trunk` branch.**

## Why

The package manifests did not fully declare their runtime requirements,
autoloading, relationships, or distribution metadata. The proxy also
depended on a repository-local loader path, which prevented standalone
Composer use.
## Summary

Reject invalid `BIT` column defaults instead of preserving unnormalized
input in the emulated information schema. Unsupported values now return
MySQL-compatible error 1067.

## Why

The `BIT` default accepted any value beginning with a valid prefix and
stored the original value. `SHOW CREATE TABLE` later emitted that value
without quoting, allowing untrusted text to become executable SQL in a
generated MySQL dump.

This is a hotfix that requires valid literal forms and rejects anything
that cannot be safely normalized. Broader default validation based on
the AST and full column definition should be done as a follow-up, also
for other types.

This prevents untrusted SQL from being embedded in generated MySQL DDL
during migration.
## Release `3.0.0-rc.9`

Version bump and changelog update for release `3.0.0-rc.9`.

**Changelog draft:**
* Reject invalid BIT column defaults
([WordPress#487](WordPress#487))
* Make Composer packages installable
([WordPress#486](WordPress#486))
* Remove INET_ATON WordPress dependency
([WordPress#485](WordPress#485))
* Restore database version support for older WordPress releases
([WordPress#484](WordPress#484))
* Finalize MySQL-on-SQLite 3.0 refinements
([WordPress#482](WordPress#482))
* Prefix SQLite-specific constructor options
([WordPress#481](WordPress#481))
* Unify emulated MySQL server identity
([WordPress#479](WordPress#479))
* Document the 3.0 driver API
([WordPress#477](WordPress#477))
* Expand PDO API coverage
([WordPress#471](WordPress#471))
* Refine the 3.0 API surface
([WordPress#469](WordPress#469))
* Add ANSI_QUOTES and SQL mode validation
([WordPress#452](WordPress#452))

**Full changelog:**
WordPress/sqlite-database-integration@v3.0.0-rc.8...release/v3.0.0-rc.9

## Next steps

1. **Review** the changes in this pull request.
2. **Push** any additional edits to this branch (`release/v3.0.0-rc.9`).
3. **Merge** this pull request to complete the release.

Merging will automatically build the plugin ZIP and create a [GitHub
release](https://github.com/WordPress/sqlite-database-integration/releases).

> [!NOTE]
> This is a **pre-release**. It will not be deployed to
[WordPress.org](https://wordpress.org/plugins/sqlite-database-integration/).
@batonac batonac added upstream-sync Automated sync with the WordPress upstream upstream-conflict Upstream sync needs a manual merge labels Aug 12, 2026
@batonac

batonac commented Aug 12, 2026

Copy link
Copy Markdown
Member Author

This sync does not merge cleanly into d1-support. 1 file(s) conflict:

  • packages/mysql-on-sqlite/tests/bootstrap.php

Checks cannot run until this is resolved — GitHub has no merge commit to test. Resolve
by merging the base branch into this one, and the pull request merges itself once the
suites go green:

git fetch origin
git checkout -B upstream-sync origin/upstream-sync
git merge origin/d1-support   # resolve the conflicts, then commit
git push origin upstream-sync
61501559e776

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upstream-conflict Upstream sync needs a manual merge upstream-sync Automated sync with the WordPress upstream

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants