- psycopg2-binary: Replaced
psycopg2(built from source) withpsycopg2-binary- Eliminates the need for PostgreSQL development headers and a C compiler at install time
- Simplifies installation across platforms with a pre-compiled binary wheel
- Default Configuration Values: Added default values for optional database configuration parameters
query_timeout: Default 5000 milliseconds (5 seconds)session_tmp_buffer: Default 128 MBssl: Default 'disable'connect_timeout: Default 10 seconds- Fixes issue where example
01-logical-replicationwould not work without explicit configuration
- Connection Retry: Removed configurable connect retry sleep time
- Connection retry sleep time is now statically set to 1 second
- Simplifies configuration by removing
connection_retry_sleepparameter
- Configuration Documentation: Updated configuration documentation to reflect correct units and types
- Corrected
query_timeoutunit from Seconds to Milliseconds - Corrected
ssltype from boolean to enum (disable|allow|prefer|require) - Updated default values to match implementation
- Simplified multi-database configuration examples to show only required parameters
- Corrected
- GitHub Actions: Added GitHub Actions CI workflow
- Runs tests on push and pull request events
- Includes pytest with coverage reporting
- Validates module build and installation
- Stable release tested and verified
- All features from Version 1.0rc1 are now production-ready
-
Multi-Database Support: Added support for multiple database endpoints with automatic load balancing
- Configure multiple database hosts in configuration
- Connections automatically distributed across available endpoints
-
Threading Models: Support for both threaded and non-threaded deployment scenarios
threadedmode (default): Thread-safe connection handling with locks for traditional multi-threaded web serversnon-threadedmode: Removes locking overhead for single-threaded applications, eliminating GIL contention- Configurable threading model via configuration
-
FalconAS Compatibility: Full compatibility with FalconAS Python Application Server
- 1 Process == 1 Python Interpreter (threading-less) model
- Effectively solves GIL issues through non-threaded configuration mode
- Optimized for process-per-request architectures
- Configuration Enhancements:
- Threading model configuration
-
Documentation: Complete rewrite of documentation to reflect new features
- Comprehensive Sphinx-based documentation
- Configuration guides and examples
-
API Improvements: Better error handling and connection management
- Enhanced exception handling with specific error classes
- Improved connection iteration and management
- Improved threading-model stability / thread locking
-
Testing: Added pytest-based unit test suite
- Tests for threaded and non-threaded connection handling
- Tests for single and multiple database endpoint configurations
- Tests for connection rotation and pool management
-
CI/CD: Added GitHub Actions workflow
- Pylint code analysis for Python 3.8, 3.9, and 3.10
- Add Handler.commit() procedure used for autocommit=False connections
- Finish Documentation including Docstrings
- Fix Metadata