Repository navigation
v1.2.0 — Raw Driver Layer + Full DSN Stabilization
🚀 Overview
This release introduces the Raw Driver Layer across all adapters and completes the final stabilization of DSN parsing and driver routing.
It is one of the most important internal upgrades since v1.1.0, enabling full visibility, advanced debugging, and preparing the architecture for upcoming Failover Routing (Phase 16).
🔥 Highlights
1. Unified Raw Driver Access
Each adapter now exposes the underlying native driver:
| Adapter | Raw Driver |
|---|---|
| MySQL (PDO) | PDO |
| MySQL (DBAL) | Doctrine\DBAL\Connection |
| MongoDB | MongoDB\Database |
| Redis | Redis (phpredis) / Predis\Client |
New API:
$driver = $adapter->getDriver();Fully consistent across all adapters.
2. DSN Stabilization (PDO + Doctrine URL)
Major DSN improvements:
-
Safe parsing of complex passwords (
@,:,;,%,/,?) -
Rewritten Doctrine DSN validator (no parse_url limitations)
-
Enforced consistent normalization for:
- host
- port
- database
- user/pass
- driver
- options
3. Correct Driver Routing
Driver selection is now explicit and profile-aware:
MYSQL_<PROFILE>_DRIVER=pdo
MYSQL_<PROFILE>_DRIVER=dbal
Matching behavior for all profiles:
mysql.main, mysql.logs, mysql.reporting, mysql.billing, etc.
4. Stabilized MySqlConfigBuilder
- Normalized DTO output
- Accurate DSN/Registry/Legacy merge
- Fix for null database edge case
- Strict value extraction for both DSN formats
- Fully deterministic config generation
5. Updated Test Suites
Added complete Phase 15 tests:
RawDriverRoutingTestRawAccessTestMysqlDsnParserTest(rewritten)- Updated integration tests
- Updated real MySQL tests (local & CI safe)
All suites pass cleanly.
🧩 No Breaking Changes
This is a fully backward-compatible release.
Existing DSN configs, environment variables, and registry setups continue to work without modification.
📈 Status
- Tests: 100% green
- Stability: Excellent