Skip to content

v2.10.3

Choose a tag to compare

@tommyknocker tommyknocker released this 21 Nov 14:06
· 180 commits to master since this release

Release v2.10.3

Release Date: November 21, 2025

🎉 Major Features

Project Initialization Wizard (pdodb init)

The fastest way to get started with PDOdb! Interactive wizard for quick project setup:

  • Interactive configuration wizard for database connection settings
  • Support for MySQL, PostgreSQL, SQLite, and MSSQL (SQLSRV) drivers
  • Configuration file generation (.env or config/db.php)
  • Automatic directory structure creation
  • Cache dependency validation with helpful warnings

Repository and Service Generators

  • pdodb repository make <name> - Generate repository classes
  • pdodb service make <name> - Generate service classes with dependency injection
  • Automatic primary key detection

Database Monitoring (pdodb monitor)

Monitor your database performance:

  • pdodb monitor queries - Show active queries
  • pdodb monitor connections - Show active connections
  • pdodb monitor slow [threshold] - Show slow queries
  • Cross-dialect support (MySQL, MariaDB, PostgreSQL, MSSQL, SQLite)

Migration Dry-Run Improvements

pdodb migrate up --dry-run now shows actual SQL queries that would be executed, not just comments!

Cache Management Enhancements

  • pdodb cache invalidate <pattern> - Invalidate cache entries by pattern
  • Persistent cache statistics with atomic operations
  • Universal cache type detection for all PSR-16 implementations

🔧 Improvements

  • Architecture Refactoring: Moved dialect-specific logic to dialect implementations (Open/Closed Principle)
  • MSSQL Driver Standardization: Removed mssql alias, use only sqlsrv everywhere
  • Dialect-Specific DDL Query Builders: Full support for MySQL, PostgreSQL, MSSQL, and SQLite specific types
  • Bash Completion Script: Tab completion for all pdodb CLI commands
  • CLI Version Auto-Detection: Automatically detects version from git tags

🐛 Bug Fixes

  • Fixed Redis connection error handling in CacheFactory
  • Fixed MSSQL monitoring example in GitHub Actions
  • Fixed configuration parameter normalization (database vs dbname)
  • Fixed duplicate default values in CLI prompts

📊 Quality Metrics

  • All tests passing: 2491 tests, 8468 assertions across all dialects
  • Code quality: PHPStan level 9, PHP-CS-Fixer compliant
  • Backward compatibility: 100% maintained (except removed mssql alias)

📚 Documentation

  • Updated README with pdodb init as the fastest way to start
  • Updated examples to use sqlsrv instead of mssql
  • Added comprehensive changelog entry

🔗 Links


Installation:

composer require tommyknocker/pdodb

Quick Start:

vendor/bin/pdodb init