Changelog¶
All notable changes to Neonize will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Changed¶
- Breaking (async): Replaced deprecated
asyncio.get_event_loop()andasyncio.new_event_loop()with modernasyncio.get_running_loop()pattern NewAClient.loopis nowNoneuntilconnect()is called (was previously set viaget_event_loop()in__init__)ClientFactory.loopis nowNoneuntilrun()is called (was previously set to a separatenew_event_loop())event_global_loopinevents.pyis now lazily initialized viaset_event_loop()duringconnect()(was previouslyasyncio.new_event_loop()at module level)- All examples updated to use
asyncio.run()instead ofloop.run_until_complete()
Fixed¶
- Events never being dispatched in single-client mode because
event_global_loopwas created but never started (run_forever()was commented out) DeprecationWarningon Python 3.10+ andRuntimeErroron Python 3.12+ caused byasyncio.get_event_loop()in non-async context- Event loop mismatch between single-client (default loop) and event dispatch (
new_event_loop())
Added¶
set_event_loop()function inevents.pyfor lazy event loop initialization- Comprehensive documentation about event loop handling and migration guide in FAQ
- Comprehensive MkDocs documentation
- Enhanced type hints and documentation strings
[0.3.12] - 2024-12-06¶
Current Version¶
For the complete changelog, visit the GitHub Releases page.
Version History¶
Major Releases¶
- 0.3.x - Current stable series
- 0.2.x - Legacy support
- 0.1.x - Initial releases
Upgrade Guide¶
Upgrading to 0.3.x¶
No breaking changes from 0.2.x series. Simply upgrade:
| Bash | |
|---|---|
Contributing¶
See Contributing Guide for information on how to contribute to Neonize.