Changelog¶
All notable changes to gntplib will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.0.0] - 2025-12-20¶
Added¶
Python 3 Modernization
Full Python 3.7+ support with type hints
Removed Python 2 compatibility code
Modern async/await syntax for Tornado support
Enhanced Security
Cryptographically secure random generation using
secretsmoduleIncreased minimum salt size from 4 to 8 bytes
Better key validation and error messages
Improved Documentation
Complete Sphinx documentation with Furo theme
Comprehensive API reference with examples
Detailed tutorials and guides
ReadTheDocs integration
New Features
Resource.from_file()andResource.from_url()convenience methodsBetter error handling with specific exception types
Enhanced logging support throughout
Validation for all input parameters
Developer Experience
Comprehensive docstrings for all public APIs
Type hints for better IDE support
More informative error messages
Better separation of concerns in code organization
Changed¶
Breaking Changes
Minimum Python version is now 3.7
Notifierclass deprecated in favor ofPublishernotify()function deprecated in favor ofpublish()RawIcondeprecated in favor ofResourceAsyncIcondeprecated in favor ofAsyncResource
API Improvements
PublisherreplacesNotifier(with backwards compatibility)publish()replacesnotify()(with backwards compatibility)More consistent naming conventions
Better parameter names (e.g.,
event_defsinstead of mixed types)
Internal Changes
Reorganized module structure
Split large modules into focused components
Improved code quality and maintainability
Better test coverage
Fixed¶
Proper UTF-8 handling in Python 3
Resource hashing now works correctly with both bytes and strings
Connection cleanup is more reliable
Better error handling for edge cases
Deprecated¶
Notifierclass (usePublisherinstead)notify()function (usepublish()instead)RawIconclass (useResourceinstead)AsyncNotifierclass (useAsyncPublisherinstead)AsyncIconclass (useAsyncResourceinstead)
[0.5.0] - 2020-XX-XX¶
Previous version with Python 2/3 compatibility
See git history for details