gio
Rust bindings for the Gio library
0.22.8
35M downloads/mo
#1537 most downloaded on crates.io
gtk-rs/gtk-rs-core
What this package is like to depend on
Last release 1 months ago
29 Jun 2026
Ships fairly regularly
a new release about every 4 weeks
Rarely documented
notes for 7 of 74 stable releases
2 versions withdrawn
withdrawn after publishing
10 years old
79 releases · first in 2016
13 releases in the last 12 months
see the full history below
Release timeline
79 releases · Jun 2016 to Jun 2026Releases
latest 60 of 79-
0.22.829 Jun 2026Release notes
Open source →Alba Mendez: fix typo in ObjectExt::property_value docs Sebastian Dröge: Update gir / gir-files Regenerate with latest gir / gir-files gio: Add forgotten socket_msg_flags modules to lib.rs Add various missing Gir.toml checks Remove various unused dependencies gio: Fix code style gio-unix: Fix order of types in Gir.toml gio: Add missing `unsafe` Add AI contribution policy section to the README.md Update Cargo.lock Update versions to 0.22.8 Tau Gärtli: Add safe wrapper for g_log_writer_default_set_debug_domains Tomoaki Kawada: glib: gate `BookmarkFile` with `cfg(feature = "v2.76")` glib: remove `g_bookmark_file_copy` polyfill glib: require `A: 'static` in `Variant::from_data[_with_type][_trusted]` -
0.22.627 Apr 2026Release notes
Open source →Dario Marino Saccavino: gio-unix: Do not expose DesktopAppInfo on macos Sebastian Dröge: glib: Move compile tests from trybuild2 to trybuild glib-macros: Move compile tests from trybuild2 to trybuild Update Cargo.lock glib-win32: Fix docs build Regenerate with latest gir-files win32: Mark `get_package_installation_directory_of_module()` as manual glib: Add new `v2_90` version feature glib: Fix a couple of new clippy warnings glib-win32: Add back deprecated versions of package installation directory functions Update versions to 0.22.6 github-actions[bot]: Update gir-files -
0.22.512 Apr 2026Release notes
Open source →Arun Mani J: glib: Create safe bindings for `BookmarkFile` Martin Nordholts: gio: Add "D-Bus" and "DBus" to Cargo.toml keywords and description gio: Remove "gio" from package.keywords Sebastian Dröge: Update versions to 0.22.5 -
0.22.405 Apr 2026Release notes
Open source →Bilal Elmoussaoui: glib: Allow setting FINAL/DEPRECATED flags ci: Only run compile tests on glib crate Fix typos job Ignacio Casal Quinteiro: glib-win32: fix export of function Sebastian Dröge: Update gir / gir-files Regenerate with latest gir / gir-files rustfmt: Update to 2024 edition glib: Make sure to acquire the main context and make it thread default in `MainContext::block_on()` glib: Add various `#[allow(deprecated)]` to `glib::wrapper!` for when the parent class/interface is deprecated Update versions to 0.22.4 -
0.22.228 Feb 2026Release notes
Open source →Julian Sparber: glib: Implement From<PtrSlice<GStringPtr> for StrV glib: Implement From<StrV> for PtrSlice<GStringPtr> Sebastian Dröge: gio: Mark `Socket::from_raw_socket()` as unsafe Wladimir Palant: glib-macros: Silence “redundant closure” clippy warning in closure!/closure_local! -
0.22.121 Feb 2026Release notes
Open source →Sebastian Dröge: gio: Re-add accidentally removed UNIX APIs that are still part of gio itself gio: Remove non-existing UNIX functions from Gir.toml -
0.22.020 Feb 2026Release notes
Open source →Bernhard M. Wiedemann: glib-macros: Use BTreeMap instead of HashMap Biagio Festa: glib-macros/async_test: unwrap result when setting default context glib-macros/async_test: dont move main context within closure glib/bytes: relax start offset constraint for `from_bytes` Bilal Elmoussaoui: ci: Switch from gsvbuild to MSVC Generate bindings for win32/unix GLib/Gio Build new crates on CI gio/unix: Remove the manual fallback for MountEntry glib: Lower host dep requirement glib/unix: Add missing futures feature gio/unix: Ignore a clippy lint gio: Comment out a test & drop UnixFdMessage gio/tests: Remove no longer useful headers gio: Move various config options to gio-unix glib: Remove no longer needed manual ffi functions glib/sys: Don't generate UnixPipe Regenerate with fixed GIR files glib/source: Fix imports on Win32 glib/win32: Add missing imports gio/win32: Manually implement streams gio/win32: Add a type for GNetworkMonitorBase and drop duplicated manual ones gio/win32: Add missing dep deny: Drop no longer needed skips Add missing licenses Adapt to rust nightly docs changes gio: Move test to gio-unix gdk-pixbuf: Ignore another clippy lint Fix docs for new crates Force update windows-sys for new crates win32: Always depend on windows-sys win32: Guard std::os::windows usage gio/win32: Add missing feature Re-export preludes glib: Use 'static lifetime for nick/name Use 'a lifetime instead glib: Mark push_thread_default as renamed Casey Jao: Clarify the GObject subclass mechanism Add missing comment markers Update glib/src/subclass/mod.rs Clarify Rust-C analogy for external interface Improve diagram Fix alignment François Laignel: gio: fix compilation with beta toolchain Guillaume Gomez: Update `trybuild2` version to `1.3.0` Marc-André Lureau: glib: fix GStringBuilder::copy_into glib-macros: make proc-macro-crate optional glib: add 'futures' feature workspace: use glib default-features = false Maximiliano Sandoval: image: Add python3-requests binding_group: Rename transform fns to with_value binding_group: Add lifetimes to BindingBuilder fns binding_group: Add transforms with concrete types binding_group: Add test for concrete transforms Philipp Jungkamp: gio: Fix segfault in ListStore::find_with_equal_func gio: Add exit_code methods to ApplicationCommandLine gio: Remove {set,get}_exit_status from Gir generation gio: Fix ApplicationCommandLineExtManual draft glib: Add logging bridge for structured logs Renyi Zhao: glib: Fix misuse of operator in subtract_days pango: Fix out-of-bounds access in itemize functions graphene: Fix UB in intersect_triangle by validating t_out before assume_init cairo: Add bounds check for nth in region_get_rectangle to prevent UB cairo: Fix integer overflow in create_for_data's len check glib: Fix UB in spawn_async_with_pipes by validating success before assume_init Rose Davidson: cairo: Fix return type for cairo_script_create_for_stream. cairo: write-to-stream callbacks should accept const pointers to data Sebastian Dröge: Post release version bump Deploy 0.21 docs and drop 0.15 docs glib: Fix new clippy warnings glib: Only build regex compiletests if the corresponding feature is enabled glib: Fix segfault in `List::retain()` glib: Compare lengths in `<StrV as PartialEq<[&str]>>::eq` too glib: Null-terminate on every iteration in `PtrSlice::extend_from_slice` glib: Avoid more integer overflows when reserving space in `PtrSlice` / `Slice` / `StrV` Update Cargo.lock gio: Make etag in `File::replace_contents_async()` optional glib-macros: Make main context the thread-default one in `#[async_test]` pango: Generate new `FontColor` enum pango: Add new `v1_57` feature ci: Don't build pango with `--all-features` for now glib: Fix pointer signedness gio: `DataInputStream::read_line_async()` can return `None` slices gio: Use correct finish function for `DataInputStream::read_line_utf8_async()` Update Cargo.lock Allows windows-sys 0.61 too Update Cargo.lock deny: Update pango: Fix off-by-one in assertion for `pango::itemize()` glib: Update expected compiler error texts in compiletests for rustc 1.90 glib: Fix some new 1.90 clippy warnings Update dependencies glib: Fix typo in comment gio: Fix typo in docs Update MSRV to 1.86 Update all dependencies Switch MSRV CI to 1.86 glib: Fix typo in docs ci: Only run glib-macros tests on stable gio: Remove pointless, empty build.rs glib: Fix `Regex::match` API glib: Add some missing debug assertions to the `Regex` API gio: Fix GSettings test Update gir Regenerate with latest gir Remove `--cfg docsrs` from the Cargo.tomls Update docs.rs hacks in cairo-sys build.rs Don't pass `--cfg docsrs` via RUSTFLAGS on the CI glib: Clean up `Regex` tests Update various dependencies glib-sys: Add type aliases for all the GLib types Update MSRV to 1.92 Fix new clippy warnings Update Cargo.lock Update versions to 0.22.0-alpha.1 Add missing package metadata to Unix/Win32 crates Add more missing package metadata to Unix/Win32 crates Lower local workspace dependencies to any alpha version Add workspace dependencies for Unix/Win32 crates Untangle Win32/Unix crate dependencies some more gio-win32: Fix FFI crate name Run `cargo fix --edition` Update to edition 2024 Change various code to avoid too early dropped temporaries glib-macros: Fix downgrade macro gio: Remove unnecessary parenthesis around type Remove unnecessary unsafe blocks Update gir Regenerate with latest gir gio: Fix indentation glib: Allow wrapper macro to expand unsafe blocks Fix a couple of new clippy warnings Update versions to 0.22.0-alpha.2 Update Cargo.lock Update to `resolver = "3"` glib: Mark `setenv()` / `unsetenv()` as unsafe Update GLib 2.88 version requirement to >= 2.87 and 2.86 to >= 2.86 glib-unix: Mark g_closefrom() as unsafe gio: Generate new API gio: Add missing v2_88 feature ci: Run glib/gio tests with v2_88 Update Cargo.lock Update versions to 0.22.0-alpha.2 cairo: Use dynamically linked x11-dl crate instead of x11 glib: Move some Windows-specific unsafe code in unsafe functions into unsafe blocks Update gir Regenerate with latest gir gio: Add back `Socket::from_raw_fd()` / `::from_raw_socket()` Update gir Regenerate with latest gir Update dependencies Update versions to 0.22.0 Sebastian Wiesner: Impl AsFd for FileDescriptorBased Implement Display for ObjectPath Add subscribe_to_signal Use "named" parameters for subscribe_to_signal Add receive_signal and receive_signal_parameters Add simple example about DBus signals Tau Gärtli: Generate Gio.DBusObjectManagerClient Move customized auto-generate code to manual Combine impls Mark as send+sync Ignore C APIs Manually implement interface-proxy-properties-changed Suppress doc alias from checker Split constructors to simplify signature Update gir and no longer needed remove manual impls Regen other crates Split sync methods into overloads with and without fn Split async+callback methods into overloads with and without fn Overloads for new_for_bus gio: Make DBusProxy subclassable gio: Add object manager example Thibault Saunier: glib: Add Error::with_domain constructor and code getter Tomoaki Kawada: glib: Fix overflow in `StrV::reserve` when checking capacity glib: Fix overflow in `StrV::extend_from_slice` when checking capacity glib: Null-terminate on every iteration in `StrV::extend_from_slice` glib: Compare lengths in `<StrVRef as PartialEq<[&str]>>::eq` Zachary S: glib: Don't drop `T` if `ThreadGuard<T>` is dropped on the wrong thread. glib: Don't double-panic if `ThreadGuard::into_inner` is called on the wrong thread. fbrouille: Add gio::IOModule and gio::IOModuleScope Add gio::File Fix gio::file::measure_disk_usage Add an example for gio::Vfs implementation Add gio::subclass::FileEnumerator async vfuncs -
0.22.0-alpha.305 Feb 2026 pre-releaseNothing published for this version
-
0.22.0-alpha.210 Jan 2026 pre-releaseNothing published for this version
-
0.22.0-alpha.101 Jan 2026 pre-releaseNothing published for this version
-
0.21.502 Dec 2025Nothing published for this version
-
0.21.430 Oct 2025Nothing published for this version
-
0.21.217 Sep 2025Nothing published for this version
-
0.21.109 Aug 2025Nothing published for this version
-
0.21.015 Jul 2025Nothing published for this version
-
0.20.1220 Jun 2025Nothing published for this version
-
0.20.1116 May 2025Nothing published for this version
-
0.20.1013 May 2025Nothing published for this version
-
0.20.916 Feb 2025Nothing published for this version
-
0.20.716 Dec 2024Nothing published for this version
-
0.20.612 Nov 2024Nothing published for this version
-
0.20.530 Oct 2024Nothing published for this version
-
0.20.426 Sep 2024Nothing published for this version
-
0.20.112 Aug 2024Nothing published for this version
-
0.20.010 Jul 2024Nothing published for this version
-
0.19.819 Jun 2024Nothing published for this version
-
0.19.527 Apr 2024Nothing published for this version
-
0.19.408 Apr 2024Nothing published for this version
-
0.19.319 Mar 2024Nothing published for this version
-
0.19.213 Feb 2024Nothing published for this version
-
0.19.004 Feb 2024Nothing published for this version
-
0.18.409 Dec 2023Nothing published for this version
-
0.18.303 Nov 2023Nothing published for this version
-
0.18.214 Sep 2023Nothing published for this version
-
0.18.101 Aug 2023Nothing published for this version
-
0.18.023 Jul 2023 withdrawnNothing published for this version
-
0.17.1006 Jun 2023Nothing published for this version
-
0.17.921 Apr 2023Nothing published for this version
-
0.17.414 Mar 2023Nothing published for this version
-
0.17.306 Mar 2023Nothing published for this version
-
0.17.221 Feb 2023Nothing published for this version
-
0.17.008 Feb 2023Nothing published for this version
-
0.16.716 Dec 2022Nothing published for this version
-
0.16.612 Dec 2022Nothing published for this version
-
0.16.313 Nov 2022Nothing published for this version
-
0.16.223 Oct 2022Nothing published for this version
-
0.16.019 Oct 2022Nothing published for this version
-
0.15.1227 Jun 2022Nothing published for this version
-
0.15.1126 Apr 2022Nothing published for this version
-
0.15.1019 Mar 2022Nothing published for this version
-
0.15.708 Mar 2022Nothing published for this version
-
0.15.620 Feb 2022Nothing published for this version
-
0.15.506 Feb 2022Nothing published for this version
-
0.15.431 Jan 2022Nothing published for this version
-
0.15.324 Jan 2022Nothing published for this version
-
0.15.216 Jan 2022Nothing published for this version
-
0.15.115 Jan 2022Nothing published for this version
-
0.15.014 Jan 2022 withdrawnNothing published for this version
-
0.14.809 Oct 2021Nothing published for this version
-
0.14.613 Sep 2021Nothing published for this version