Skip to content

Commit d39940a

Browse files
committed
chore: prepare release v2.11.0
- Update CHANGELOG.md with v2.11.0 release notes - Update CLI version to 2.11.0 in Application.php - Update version links in CHANGELOG.md
1 parent 1a8c02a commit d39940a

File tree

2 files changed

+113
-3
lines changed

2 files changed

+113
-3
lines changed

CHANGELOG.md

Lines changed: 111 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,115 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.11.0] - 2025-11-28
11+
12+
### Added
13+
- **Oracle Database Support** - Full support for Oracle Database (OCI driver):
14+
- Complete Oracle dialect implementation with all query builder features
15+
- Support for Oracle-specific data types and functions
16+
- CLOB handling for large text fields in WHERE, ORDER BY, and DISTINCT clauses
17+
- Oracle-specific SQL formatting (INSERT ALL, FILTER clause, etc.)
18+
- Support for recursive CTEs, window functions, and advanced Oracle features
19+
- `normalize_row_keys` option for automatic column name normalization
20+
- Oracle examples and comprehensive test coverage
21+
- Oracle CI integration in GitHub Actions with Oracle Instant Client installation
22+
23+
- **PdoDb::fromEnv() Method** - Unified .env file support:
24+
- Static method `PdoDb::fromEnv(?string $envPath = null)` for easy database connection from .env files
25+
- Automatic .env file detection (respects `PDODB_ENV_PATH` environment variable)
26+
- Support for all database dialects and configuration options
27+
- Reusable `EnvLoader` class for .env parsing logic
28+
29+
- **PHP Extension Validation** - Automatic validation of required PHP extensions:
30+
- `ExtensionChecker` class validates required PDO extensions before connection
31+
- Helpful error messages with installation suggestions for missing extensions
32+
- Support for all database dialects (MySQL, PostgreSQL, SQLite, MSSQL, Oracle)
33+
- Integration with `DialectRegistry` for automatic extension checking
34+
35+
- **Extended .env File Support** - Support for all dialect-specific options in .env files:
36+
- Oracle-specific options (`PDODB_SERVICE_NAME`, `PDODB_SID`)
37+
- All database-specific configuration options can be set via environment variables
38+
- Unified .env parsing across CLI tools and application code
39+
40+
- **Connection Management CLI Commands** (`pdodb connection`):
41+
- `pdodb connection list` - List all configured database connections
42+
- `pdodb connection test [name]` - Test database connection(s)
43+
- `pdodb connection info [name]` - Show detailed connection information
44+
- Support for multiple named connections
45+
46+
- **Database Seeds Functionality** (`pdodb seed`):
47+
- `pdodb seed create <name>` - Create seed file
48+
- `pdodb seed run [name]` - Run seed files
49+
- Support for database seeding in development and testing
50+
51+
- **Dump Command Backup Features** (`pdodb dump`):
52+
- Compression support (gzip, bzip2)
53+
- Auto-naming with timestamps
54+
- Backup rotation with configurable retention
55+
- Enhanced backup management capabilities
56+
57+
- **Table Management Commands** (`pdodb table`):
58+
- `pdodb table count [table]` - Count rows in table(s) with improved formatting
59+
- `pdodb table sample <table> [limit]` - Get random sample rows from table
60+
61+
- **Comprehensive Test Coverage**:
62+
- Extended test coverage to 85%+
63+
- Tests for CLI commands (MigrateCommand, ModelCommand, DbCommand, UserCommand)
64+
- Tests for DDL builders (MySQL, PostgreSQL, MSSQL, SQLite)
65+
- Tests for RepositoryGenerator, ServiceGenerator, MigrationGenerator
66+
- Tests for CacheManager, ConnectionCommand, MonitorManager
67+
- Tests for edge cases and error handling
68+
69+
### Changed
70+
- **Oracle Compatibility Improvements**:
71+
- Improved Oracle support for TRUE/FALSE, CAST, GREATEST, and LEAST functions
72+
- Enhanced REGEXP_MATCH, COALESCE, and NULLIF support for Oracle
73+
- Improved CLOB handling in formatIfNull, formatRepeat, and formatReverse
74+
- Added formatUnionOrderBy() for Oracle ORDER BY in UNION queries
75+
- Better date handling in INSERT ALL statements
76+
- Cursor pagination support for Oracle
77+
78+
- **Refactoring**:
79+
- Removed dialect-specific logic from general classes (ConditionBuilder, concat() method)
80+
- Moved dialect-specific logic to dialect implementations
81+
- Improved code organization and maintainability
82+
83+
### Fixed
84+
- **Oracle CI in GitHub Actions**:
85+
- Fixed Oracle Instant Client installation (version 23.26.0.0.0)
86+
- Fixed apt-get exit code 8 handling
87+
- Fixed pdo_oci and oci8 extension compilation
88+
- Fixed Oracle Instant Client SDK installation for headers
89+
- Improved error handling and diagnostics
90+
91+
- **Oracle CLI Examples**:
92+
- Fixed BaseCliCommand::buildConfigFromEnv() to check PDODB_SERVICE_NAME/PDODB_SID for Oracle
93+
- Added setEnvFromConfig() helper function for CLI examples
94+
- Fixed environment variable propagation for Oracle examples
95+
- All Oracle CLI examples now work correctly in GitHub Actions
96+
97+
- **Oracle Examples**:
98+
- Fixed recursive CTE examples
99+
- Fixed type helpers and JSON basics
100+
- Fixed window functions and CTEs
101+
- Fixed INSERT ALL dates and FILTER clause CLOB handling
102+
- Fixed cursor pagination
103+
104+
- **Other Fixes**:
105+
- Fixed Memcached adapter creation in CacheFactory
106+
- Fixed foreign key constraint handling in DDL examples for MySQL/MariaDB
107+
- Fixed PHPStan errors
108+
- Fixed test assertions and improved test reliability
109+
110+
### Documentation
111+
- Added Oracle Database installation instructions
112+
- Fixed all documentation links to use correct file names with numeric prefixes
113+
- Created bidirectional links between documentation and examples
114+
- Optimized README.md for better readability
115+
- Updated TOC with missing sections
116+
- Added CLI Tools section to table of contents
117+
- Added bash completion installation instructions
118+
10119
## [2.10.3] - 2025-11-21
11120

12121
### Added
@@ -1714,7 +1823,8 @@ Initial tagged release with basic PDO database abstraction functionality.
17141823

17151824
---
17161825

1717-
[Unreleased]: https://github.com/tommyknocker/pdo-database-class/compare/v2.10.3...HEAD
1826+
[Unreleased]: https://github.com/tommyknocker/pdo-database-class/compare/v2.11.0...HEAD
1827+
[2.11.0]: https://github.com/tommyknocker/pdo-database-class/compare/v2.10.3...v2.11.0
17181828
[2.10.3]: https://github.com/tommyknocker/pdo-database-class/compare/v2.10.2...v2.10.3
17191829
[2.10.2]: https://github.com/tommyknocker/pdo-database-class/compare/v2.10.1...v2.10.2
17201830
[2.10.1]: https://github.com/tommyknocker/pdo-database-class/compare/v2.10.0...v2.10.1

src/cli/Application.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ protected function detectVersion(): string
238238
}
239239

240240
// Ultimate fallback
241-
return '2.10.2';
241+
return '2.11.0';
242242
}
243243

244244
/**
@@ -248,7 +248,7 @@ protected function detectVersion(): string
248248
*/
249249
public function getVersion(): string
250250
{
251-
return $this->version ?? '2.10.2';
251+
return $this->version ?? '2.11.0';
252252
}
253253

254254
/**

0 commit comments

Comments
 (0)