Skip to content

⭐ v1.1.0 — Unified Registry & DSN Builders + Full Multi-Profile Resolution

Choose a tag to compare

@Maatify Maatify released this 15 Nov 20:31
· 66 commits to main since this release

⭐ v1.1.0 — Unified Registry, DSN Builders & Full Multi-Profile Resolution

This release delivers the most important architectural upgrade since v1.0.0, introducing a fully unified configuration engine, dynamic JSON registry, and complete multi-profile support across MySQL, MongoDB, and Redis.

Adapters are now powered by a consistent, predictable, and enterprise-grade config pipeline:

Registry → DSN → Builder → Legacy ENV → Defaults


🚀 What’s New

🔧 1. Dynamic JSON Registry

  • Added RegistryConfig.php
  • Supports external JSON config with secure path injection (DB_REGISTRY_PATH)
  • Full override priority above DSN + legacy ENV
  • Schema validation + caching

🧩 2. Unified DSN Builders

New builders for:

  • MySqlConfigBuilder
  • MongoConfigBuilder
  • RedisConfigBuilder

Builders now handle:

  • DSN parsing (PDO + Doctrine)
  • Automatic host/port/user/pass/db extraction
  • Registry merging
  • Profile-aware overrides

🟦 3. Multi-Profile Architecture

Full support for unlimited profiles:

mysql.main
mysql.logs
mysql.analytics
mysql.billing

mongo.main
mongo.logs
mongo.activity

redis.cache
redis.session

Adapters resolve dynamically, even for unknown/custom profiles.

⚙️ 4. Resolver Enhancements

  • Clean driver selection (pdo/dbal/phpredis/predis)
  • Profile caching for Mongo + MySQL
  • DSN-first resolution across all adapters

🧪 Testing & Stability

All new test suites pass with 100% success:

  • MysqlProfileResolverTest
  • MongoProfileResolverTest
  • RedisDsnAdapterTest
  • RegistryConfigTest

🔥 Phase 13 improved project stability to ~95%
thanks to unified builders, DSN fixes, and registry priority.


📦 Files Added

src/Core/Config/RegistryConfig.php
src/Core/Config/MySqlConfigBuilder.php
src/Core/Config/MongoConfigBuilder.php
src/Core/Config/RedisConfigBuilder.php
docs/phases/README.phase13.md

🛠 Files Updated

EnvironmentConfig.php
BaseAdapter.php
DatabaseResolver.php
MySQLAdapter.php
MySQLDbalAdapter.php
MongoAdapter.php
RedisAdapter.php
PredisAdapter.php

📘 Documentation

  • Updated env.md for DSN-first + multi-profile architecture

  • Added advanced examples:

    • Failover/Cluster
    • Slim/Laravel/Console integration
    • JSON/YAML registry configuration
  • Updated main README usage examples


🪄 Backward Compatibility

✔ Legacy .env variables fully supported
✔ No breaking API changes
✔ DSN or registry automatically takes priority when provided


🏁 Final Notes

v1.1.0 finalizes Phases 10 → 13 and establishes a strong foundation for:

  • Phase 14: Failover Routing
  • v1.2.0: Runtime Registry Hot Reload
  • v2.0.0: Async/Swoole adapter engine

This is the most stable and scalable version of maatify/data-adapters to date.