- 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
BufferedProtocol
instances usingsock_recv_into
was 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
InvalidStateError
to 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.install
now monkey patchesasyncio.SafeChildWatcher
togbulb.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_soon
andcall_later
, the same as asyncio.
- gbulb will no longer occasionally leak memory when used with threads.
gbulb.install
to 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.
GtkEventLoop
andGtkEventLoopPolicy
have been moved togbulb.gtk
- API BREAKAGE No more
threads
,default
orfull
parameters for event loop policy objects. gbulb now does nothing with threads. - API BREAKAGE
gbulb.get_default_loop
has 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