New release, gio focused
Hi everyone!
Now is the time for a new Gtk-rs release! As said in the title, this time we focused our efforts on gio. A lot of types were missing, but thanks to this release, we made great improvements!
Of course, this isn’t all we worked on in this release. For instance, we added support for the newer libraries’ version, made a few things better and fixed some others.
We hope this new release will make your usage of Gtk-rs even better. Have fun !
Changes
For the interested ones, here is the list of the (major) changes:
sys:
- Fixed links in the README
- all around: disable print_system_libs in calls to pkg-config
- Generate GtkAtom and GIConv as disguised types
- Generate unions
- include LICENSE to sub-crates
- Regen with custom modules
- Generate more functions
- Revert “Remove callback_guard”
- Remove gir-files from crate
- Generate unions in sourceview-sys
- Remove unnecessary properties
- Make CI test sourceview, not examples
- Add MIT license file to sys crate
- Fix docs feature dependence
- Typed properties
glib:
- Implement StaticType for Type
- Revert “Deprecate CallbackGuard”
- Deprecate CallbackGuard
- boxed, shared, object: impl FromGlibPtrNone for const
- Add GIOCondition
- Remove Default impl for SourceId
- Simplify KeyFile::to_data
- Unignore markup_escape_text
- Fix Char tests on platforms where c_char is u8 instead of i8
- Const override
- Char wrapper 2
- Allow FnOnce for MainContext::invoke()
- Allow creating Bytes from any AsRef<[u8]> by copying or taking ownership of it
- Add bindings for g_file_test() and make use of it in the Path transla…
- Add Char wrapper; implement KeyFile::set_list_separator() with it
- Don’t call g_value_unset() on zeroed GValues
- Fix ToGlibContainerFromSlice impls for strings, boxed/object/shared s…
- Don’t leak the GList/GSList in the from_glib_full_as_vec() impls for …
- Various Path FFI improvements
- bump lazy_static to 1.0
- Add Value::from_type() to initialize an empty value from a Type
- Implement Value traits for Vec<String> more consistently
- Add ToGlibContainerFromSlice impls for *const GList / GSList
gio:
- Use single_version_file option
- bind IOErrorEnum
- Restore callback guard
- Bind TlsFileDatabase
- More Tls bindings: missing files
- Generate Seekable
- More tls bindings
- Generate File{Input,Output,IO}Stream automatically
- Async callbacks
- Remove callback_guard
- Make stub traits under feature=”dox” public to include in doc
- Fix doc build
- Fix-up Socket::create_source() implementation
- Add lots of Socket related bindings
- Remove unnecessary parentheses and properties
- trivial: GLib -> Gio in description
- Generate streams
- New types
- Typed properties
- Async code generation
- Revert “Remove callback_guard”
- Remove missed callback_guard
- Remove gir-files from crate
- Regen for Gdk-Pixbuf v2.36.8
- Fix Pixbuf::put_pixel when alpha channel disabled
- Fix PixbufFormat, regen Pixbuf
gdk:
- Revert missed file for “Remove callback_guard”
- Revert “Remove callback_guard”
- Remove unnecessary properties
- Typed properties
gtk:
- Generate WidgetPath
- Restore callback guard
- Change version for Gtk.PadActionType
- Fix TargetList::new implementation
- Expose gtk_clipboard_set_with_data.
- Regen for Gtk 3.22.26
- Remove unnecessary parentheses and add missed properties
- Add signal Overlay::get-child-position
- Add WidgetExt::add_tick_callback binding
- Add support for file chooser buttons
- Generate new types
- Change version for Gtk.StyleContextPrintFlags
- Fix button role version
- Typed properties
- Print operation
All this was possible thanks to the gtk-rs/gir project as well:
- Sort types and constants used in ABI tests by name at generation time.
- Support libraries with customized crate name when generating tests.
- Include constants from enums and bitfields in ABI validation.
- Cross validate constants in XML with those from C.
- Cross validate Rust ABI with C ABI.
- Cleanup redundant field names in struct initialization.
- Use GObject status when generating types
- Add single_version_file option
- Use info instead of println in codegen.
- Revert “Remove adding callback_guard”
- Add support for string constants
- codegen/build.rs: disable print_system_libs in calls to pkg-config
- Prioritize RecordType::Refcounted over other record types
- Fix panic on generating gdk-pixbuf-sys
- Add glib::Priority as custom type, replace priorities in async functi…
- Add support for async functions that have a non-trivial ..
- Remove adding callback_guard
- Alternative of General support for disguised types
- General support for disguised types, but enabled only for GdkAtom and…
- Allow generate record with g_boxed_copy and g_boxed_free
- Add repositories urls in head comment
- Update readme
- doc: allow specifying a separate target path
- Refactor imports.
- Cleanup unused and commented out code.
- Fix use declarations when generating code for glib.
- Fix clippy warnings
- Higher level API for XML parsing.
- Include default value in to_bool function.
- Allow non_snake_case to silence warnings in generated code.
- Unions: Remove feature-gate for stable rustc
- Union, Clone and Copy
- Update dependencies
- Fill missing c:type in fields in postprocessing phase.
- Fix property parent check
- Remove unnecessary parentheses in async trampoline result
- Avoid to generate variable names which are keywords
- Fix async for boxed
- Generate deprecated attribute on deprecated functions
- Generate const_override for objects trait functions that have const p…
- Add detecting and including custom modules on sys mode
- Various async function improvements
- Fix renamed trait docs
- Add generation
Char
andUChar
parameters - Add new mode to see not bound type
- Add version override for enums and flags
- Use new Value::from_type() function for property getters
- Get rid of some unneeded transmutes and other special cases for enum/…
- Fix invalid [c_void] debug implementation
- Add callback_guard to async trampolines
- Add async method code generation
- Add
use gio_ffi
if needed - Spelling correction in README.md
Thanks to all of our contributors for their (awesome!) work for this release: