- Unix socket handling was corrected to support changes in Python 3.13. (#176)
- PyGObject support was pinned to an upper version less than 3.50.0. (#185)
- #138, #139, #140, #141, #142, #143, #144, #145, #146, #147, #148, #149, #150, #151, #152, #153, #154, #155, #156, #157, #158, #159, #160, #161, #162, #163, #164, #165, #166, #167, #168, #170, #172, #173, #175, #178, #180, #181, #182, #183, #184
- Support for driving
BufferedProtocolinstances usingsock_recv_intowas added. (#58) - Support for Python 3.12 was added. (#76)
- Support for Python 3.13 was added. (#76)
- Support for using a generator as a co-routine has been removed, in line with the change in behavior in Python 3.12. Python 3.11 and earlier will still support this usage, but it is no longer verified as part of GBulb. (#78)
- Support for Python 3.7 was removed. (#137)
- The README badges were updated to display correctly on GitHub. (#136)
- #68, #70, #71, #72, #74, #75, #77, #79, #80, #81, #82, #83, #84, #85, #86, #90, #91, #92, #93, #94, #95, #96, #97, #98, #99, #100, #101, #103, #104, #105, #106, #107, #108, #109, #112, #113, #114, #115, #118, #119, #120, #121, #122, #123, #124, #125, #126, #127, #128, #129, #130, #131, #132, #133, #134, #135
- Support for Python 3.11 was added. (#61 <https://github.com/beeware/gbulb/issues/61`__)
- Initial support for Python 3.12 was added. (#69 <https://github.com/beeware/gbulb/issues/69`__)
- The GTK event loop no longer forces the use of the default GLib main context on every instance. (#59 <https://github.com/beeware/gbulb/issues/59`__)
- #62, #64
- Corrected the import of
InvalidStateErrorto fix an error seen on Python 3.8+. (#56) - Reverted the fix from #47; that change led to file descriptor leaks. (#52)
- Added support for Python 3.10. (#50)
- Corrects a problem where a socket isn't forgotten and causes 100% CPU load. (#47)
- #49
- Support for 3.7, for real this time. Thank you Philippe Normand!
- Support for 3.7.
- Preliminary Windows support. Please note that using subprocesses is known not to work. Patches welcome.
- Support for 3.4 and below has been dropped.
- Implemented child watcher setters and getters to allow writing tests with
- asynctest for code using gbulb.
gbulb.installnow monkey patchesasyncio.SafeChildWatchertogbulb.glib_events.GLibChildWatcher, to ensure that any library code that uses it will use the correct child watcher.
- Fixed a sporadic test hang.
- Fixed breakage on Python versions older than 3.5.3, caused by 0.5.0. Thanks Brecht De Vlieger!
- Fixed issue with readers and writers not being added to the loop properly as a result of Python Issue 28369.
- gbulb will no longer allow you to schedule coroutines with
call_at,call_soonandcall_later, the same as asyncio.
- gbulb will no longer occasionally leak memory when used with threads.
gbulb.installto simplify installation of a GLib-based event loop in- asyncio:
- Connecting sockets now works as intended
- Implement
call_soon_threadsafe- Lots of tests
- API BREAKAGE No implicit Gtk import anymore.
GtkEventLoopandGtkEventLoopPolicyhave been moved togbulb.gtk - API BREAKAGE No more
threads,defaultorfullparameters for event loop policy objects. gbulb now does nothing with threads. - API BREAKAGE
gbulb.get_default_loophas been removed - Permit running event loops recursively via
.run()
- Default signal handling of SIGINT
gbulb.wait_signal.cancel()now obeys the interface defined byasyncio.Future
- Initial release