1.12.0
Pre-release1.12.0
Overview
Testgres 1.12.0 introduces a modular architecture, splitting the codebase into three specialized packages while maintaining full backward compatibility.
Breaking Changes
None - This release is fully backward compatible. Installing testgres will automatically install all required components.
New Architecture
Package Structure
Testgres has been reorganized into three packages:
-
testgres - Main package with full PostgreSQL testing functionality
-
testgres.os_ops - Operating system operations (NEW)
- Repository: https://github.com/postgrespro/testgres.os_ops
- Package: https://pypi.org/project/testgres.os-ops/
- Can be installed independently if you only need OS functionality
-
testgres.common - Base structures and exception classes (NEW)
- Repository: https://github.com/postgrespro/testgres.common
- Package: https://pypi.org/project/testgres.common/
- Shared foundation for testgres and testgres.os_ops
Migration Guide
No action required. Update testgres as usual:
pip install --upgrade testgresAll satellite packages will be installed automatically, and your existing code will work without modifications.
For new users needing only OS operations:
pip install testgres.os-opsBug Fixes
-
Fixed critical bug in LocalOperations::rmdirs (#287)
- Resolved directory removal issues in LocalOperations
- PR: #288 by @dmitry-lipetsk
-
Fixed typo in exceptions module
- PR: #290 by @ProjectMutilation
Improvements
Documentation
- Refreshed README and RST documentation
- Updated documentation to reflect new architecture
- PR: #291 by @mikhail-marutyan
CI/CD Enhancements
-
Added Python 3.12 and 3.13 support
- CI now tests against Python 3.12 and 3.13
- PR: #293 by @dmitry-lipetsk
-
Added PostgreSQL 18 support
- CI now tests against PostgreSQL 18
- PR: #294 by @dmitry-lipetsk
Testing
This release has been thoroughly tested in production environments and works as expected with the new modular structure.
New Contributors
Welcome to our new contributors! 🎉
- @ProjectMutilation made their first contribution in #290
- @mikhail-marutyan made their first contribution in #291
Future Plans
- testgres.postgres-configuration integration
- Planning to integrate the testgres.postgres-configuration package into testgres core
- This will provide enhanced PostgreSQL configuration management capabilities
Notes
- Satellite package names (testgres.os_ops, testgres.common) may be revised in future releases based on community feedback
- If you encounter any issues with the new structure or have suggestions for improvement, please open an issue
Full Changelog
For a complete list of changes, see: 1.11.1...1.12.0
Version: 1.12.0
Supported Python Versions: 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
Supported PostgreSQL Versions: 10 - 18