Skip to content

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 04:32
· 72 commits to main since this release

[2.1.0] - 2026-08-06

πŸš€ Features

  • (connection) Detect dropped connections where statements actually run, and recover
  • (query) Let an adapter rewrite a column's SQL, not just bind to it
  • (query) Query vectors by distance, and index them at all
  • (connection) Add cross-platform named (advisory) locks
  • (query) Query into JSON columns instead of only storing them
  • (query) Apply global filters to every query on a model
  • (observability) Notify observers around every query
  • (mysql) Cover MySQL 9's native VECTOR, not just MariaDB's

πŸ› Bug Fixes

  • (cache) Follow nested queries when collecting a result's table dependencies
  • (cache) Let every formatter share one shared-tier entry for the same rows
  • (config) Resolve bare PDO option names, and accept the PropulsionPDO name as a classname
  • (test) Give the MySQL testcontainer long enough to finish its first boot
  • (criteria) Compare a criterion's chained clauses by value, not by identity
  • (om) Read the modified-column list generated code still writes
  • (query) Find the query class of a namespaced relation again
  • (generator) Stop each quick build unregistering the last one's adapter
  • (connection) Make advisory locks work on MSSQL and MariaDB at all
  • (connection) Stop a connection pinning the configuration it was built with
  • (reverse) Stop MySQL reverse-engineering losing decimals and defaults
  • (harness) Make the no-Docker suite order-independent

🚜 Refactor

  • (config) Extract the strict readers QueryCacheConfig grew
  • (connection) Drop the engine branch from GET_LOCK's infinite wait

πŸ“š Documentation

  • Record the connection-config, reconfiguration and criterion-equality fixes
  • (known-issues) Sharpen the order-dependence entry, and how to measure it

πŸ§ͺ Testing

  • (harness) Name the test that leaks a transaction, instead of timing out 300 others
  • (observability) Stop asserting an unquoted table name in observed SQL
  • Cover the pager, the on-demand collection and the config contract
  • (validator) Assert what the validators actually do
  • (harness) Name and repair the test that unregisters others' adapters
  • (harness) Stop the fixture-switching tests dropping everyone's adapters

βš™οΈ Miscellaneous Tasks

  • (mariadb) Give MariaDB its own full-suite job, and fix the test it caught
  • Measure coverage on every database job, with pcov