Skip to content

Release 3.1.0 - #521

Merged
JanJakes merged 2 commits into
trunkfrom
release/v3.1.0
Oct 8, 2026
Merged

JanJakes merged 2 commits into
trunkfrom
release/v3.1.0

Conversation

@JanJakes

@JanJakes JanJakes commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Release 3.1.0

Prepares the version numbers and release notes for 3.1.0.

Changelog draft:


SQLite Database Integration 3.1 is here! 🎉

This release improves database storage and configuration and fixes several MySQL compatibility issues.

What's new

Version 3.1 improves how WordPress sites store, locate, and protect their SQLite databases. It also fixes SQL behavior and export compatibility:

  • Randomized database paths: The default database location is now a randomized directory under wp-content/database/, recorded in wp-content/database/db-path.php. (#502)
  • DB_PATH: Configure the database with one full-path constant, also available at runtime for integrations. (#512)
  • SQL compatibility: Fix IF() condition evaluation and make TRADITIONAL enable its component SQL modes. (#518, #509)
  • WordPress table collations: Default to utf8mb4_unicode_520_ci for new tables created with WordPress's charset settings, improving exports to MariaDB. Existing tables keep their recorded collation. (#514)
  • Documentation: A new plugin README and expanded FAQ explain database storage and secure configuration. (#520)

For more information about database paths and secure configuration, read the database storage guide.

Upgrading to 3.1

Upgrading an existing SQLite site is straightforward:

  1. Back up your SQLite database.
  2. Update the plugin to version 3.1.

Existing .ht.sqlite and .ht.sqlite.php databases move to the randomized layout automatically unless a database file path is explicitly configured.

To properly secure the database, set DB_PATH in wp-config.php to an absolute file path outside the web root that your web server does not expose. Its directory must be writable by PHP. Changing DB_PATH does not move an existing database.

Breaking changes

Review these changes if you use custom database settings or integrations:

  • Database paths: Default database files now move to randomized paths under wp-content/database/. Explicitly configured file paths stay unchanged. Integrations, including backup and migration tools, must read DB_PATH after WordPress loads instead of assuming a fixed filename.
  • Legacy constants: DB_DIR and DB_FILE are now deprecated. They and the previously deprecated FQDB and FQDBDIR remain supported, but DB_PATH takes precedence. Conflicting values trigger warnings.
  • Absolute paths: Relative database file and directory paths are now rejected. :memory: remains available for in-memory databases.

Thank you

Thank you to everyone who contributed, tested, and helped update integrations.

Changes since 3.0.2: v3.0.2...v3.1.0


PR comparison: v3.0.2...release/v3.1.0

Next steps

  1. Review the release changes and changelog draft.
  2. Merge this pull request to complete the release.

Merging will automatically build the plugin ZIP, create a GitHub release, and deploy to WordPress.org.

@JanJakes JanJakes self-assigned this Oct 8, 2026
@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 7 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1146e141-b2cf-4a5a-9bc8-7ec46c2f21dc
📥 Commits

Reviewing files that changed from the base of the PR and between 43f3988 and fe96570.

📒 Files selected for processing (3)
  • packages/mysql-on-sqlite/src/version.php
  • packages/plugin-sqlite-database-integration/load.php
  • packages/plugin-sqlite-database-integration/readme.txt
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Mirror the approved release notes using the readme.txt formatting from 3.0.0.

#521
@JanJakes
JanJakes merged commit 6546e45 into trunk Oct 8, 2026
24 checks passed
@JanJakes
JanJakes deleted the release/v3.1.0 branch October 8, 2026 14:57
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.

1 participant