1.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
This release is fully backward compatible. Installing testgres will automatically install all required components.
To avoid any problem with upgrade of exists installation of testgres, it is recommended to specify the option "--force-reinstall" options during setup of new version.
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