Repository navigation
v0.4.0
·
132 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Added
- Add code duplication gate (
composer duplication:check) integrated intocomposer checkto detect golden SQL/fixture ID duplicates, duplicate test names, and hotspot regressions. - Add multiprocess SQLite write-contention probe (
composer probe:sqlite:contention) testing concurrent WAL database transactions,SQLITE_BUSYsurfacing, busy-timeout blocking, and 4-process write safety. - Add memory-stability soak scenarios for streaming cursors and batch writes, per-sample allocation metrics, and a 256 KiB retained-allocation memory gate.
- Add hot-path benchmark scenarios (
compile_allocationandterminal_reuse) and automated pairedv0.3.0baseline comparisons in CI. - Record
v0.3.0baseline manifest, duplication/complexity inventory, performance/stability evidence, and ADR-015 for PHP 8.2+ attribute floor policy.
Changed
- Consolidate MySQL and MariaDB dialect compilers behind a shared
@internalMySqlFamilyCompilerbase. - Unify clause condition construction into a single
BuildsConditionsdispatcher forwhere()andhaving(). - Centralize
insert(),insertMany(),update(), anddelete()write compilation and state validation inAbstractDialectCompiler. - Extract connection lifecycle, DSN validation, and PDO options into
@internalConnectionProfile. - Replace
func_num_args()overload dispatch with explicit sentinel defaults (MISSINGsentinel enum) and variadic catch-alls across clause methods, exposing reflection defaults while preserving exactwhere('col', null)behavior. - Replace magic strings in AST internal state with closed enums (
LockMode,LockModifier,JoinType). - Reuse stateless dialect compilers and executors per
Connectioninstance via@internalcompilerForQueryBuilding()andexecutorForQueryBuilding()accessors, cutting compilation and terminal allocations. - Shallow-clone condition and join state during query compilation snapshots (
QueryState::copyForCompilation()), optimizing hot-path aggregate rewrites. - Data-drive dialect golden assertions via JSON fixtures (
tests/Fixtures/Compiler/*.json) and consolidatePDOStatementtest doubles intoConfigurableStatement. - Formalize PHP 8.2 runtime floor checks in
composer checkwithcheck-platform-reqs, PHP linting, and PHPStan analysis floors.