layout | author | title | categories | date | ||
---|---|---|---|---|---|---|
post |
GuillaumeGomez |
new gtk-rs release! |
|
2018-09-09 15:00:00 +0000 |
After being rescheduled a few times, the new gtk-rs
is finally here! This time, we focused on adding new types, doing some cleanups and fixing a few things. But the big thing of this release is the add of futures to handle asynchronous function calls! If you're interested into this, you should take a look at the examples:
Have fun hacking!
For the interested ones, here is the list of the (major) changes:
sys:
- Old url
- remove versions from internal and git dependencies
- Regenerate g_list_store_splice with latest gir
- Ignore clippy warnings and fix functions with arrays
- Single version file
- Regenerate without volatile wrapper.
- Script in examples was renamed
- UInt flags
- Fixed links in the README.
- Various cleanups and bugfixes
- Allow any AsMut<[u8]> + Send + 'static to be used for creating an Ima…
- Various new GLib trait impls everywhere
- remove versions from git dependencies
- Clippy warnings
- Add badges
- cairo-sys-rs: Don't leak system library path information
- Add more checks
- Fix clippy warnings
- Refactor/remove box
- Apveyor: Update pacman DB before installing gtk
- feat(context): add mask_surface method
- Script in examples was renamed
- Fragile
- Add missing information in sourceview-sys cargo file
- Missing parents
- Tests
- Fix clippy warnings
- Remove callback guard
- Add missing types
- Add badges
- Single version file in sys
- Assert check
- Add more types
- Uint flags in sys
glib:
- Fix build of futures 0.2 tests
- Move to the futures crate instead of individual crates and re-export …
- Mark DateTime as Send+Send
- Remove futures-nightly feature
- Add various Send/Sync impls where appropriate
- Implement SendUniqueCell and corresponding SendUnique trait
- Regenerate with latest gir
- Print error quark as string in the Debug impl
- Various changes to how we automatically derive trait impls for boxed/shared types
- Fix build with two-phase-borrows (aka NLL)
- Add not_bound rule
- Add functions to get paramspec name quark and type name quark
- Error domain quark
- Add Quark type
- Implement work-around for thread IDs potentially being re-usable by t…
- Manually bind Binding::unbind()
- Add new SendWeakRef type
- Implement Sync and Send traits for all weak references.
- remove versions from git dependencies
- Some docs/comment updates for the new cast_ref() functions
- Add downcast_ref() and similar functions for all the casting machinery
- Add Object::notify() and ::notify_by_pspec() bindings
- Add ParamSpec bindings
- Implement StaticType for &mut T in addition to the existing &T
- Add ValueArray bindings
- Test with gtk3.22.30
- Add GBinding bindings
- Allow for safe get_type() functions without warnings for an unused un…
- make get_real_name return OsString
- Use futures-preview crates instead of futures
- Fix clippy warnings
- Expose signal::signal_handler_disconnect
- Deprecate CallbackGuard
- add To/FromValue trait to VariantType
- Add badges
- OsString support and regen
- Only use from_glib_none() in Object::new() if the object is actually …
- Ignore false clippy warning cast_ptr_alignment
- Mark MainContext::ref_thread_default() as non-nullable with regards t…
- Add WeakRef::new() for creating a new, empty WeakRef
- Add key_file get_boolean_list
- Fix logic error in futures wakeup that caused them to often not be woken up
- Don't require the main context by mutable reference when spawning fut…
- Fix some clippy warmings.
- Provide manual bindings for GString.
- Add a new futures-nightly feature that uses futures-stable
- Fix cfg attribute for RawFd.
- Fix dox
- Provide panic-safe way to change thread default context.
- Add a Futures Executor around MainContext and various Future/Stream implementations
- Make KeyFile get_boolean and has_key return bool
- Fix unittests on macOS
- Remove some functions that operate on raw i32 fds
- Mark g_main_context_default as non-nullable.
- Add unix fd support
- Use ptr::NonNull for Boxed/Shared wrappers
- Improve set/get_property validity checks and allow to set properties from values that are a subtype of the property type
- Script in examples was renamed
- Uint flags in sys
- Implement Object::new() around g_object_newv() for instantiating obje…
gio:
- Move from send-cell to fragile
- Add various Send/Sync/SendUnique bounds
- Fix compilation with two-phase-borrows (aka NLL)
- Generate glib::Quark based ErrorDomain for enums
- Fix type errors on armv7l for desktop_app_info.rs and unix_socket_add…
- Use a const pointer for the slice returned from g_unix_socket_address_get_path()
- Tests
- remove versions from git dependencies
- Add new types
- Add new types
- Test with gtk3.22.30
- Add ListModel and ListStore bindings
- Fix doc build on windows
- Remove callback guard
- remove doc
- Add new types
- Use futures-preview crates instead of futures
- New types v3
- Add new types
- New types v2
- Add GSettingsSchemaSource bindings
- Add badges
- OsString support and regen
- Update for MainContext::ref_thread_default() API changes
- Fix build docs for non unix (second attempt)
- Fix build docs for non unix
- Don't require a mutable main context in the futures/MemoryInputStream…
- Add dox check on windows as well
- Add tests on osx
- Remove unneeded futures-executor dependency
- Add futures variants for all async functions.
- Various Source related cleanups and add PollableInputStream/PollableOutputStream
- Implement File::replace_contents_async manually
- Avoid main context interference when running async tests.
- Fix dox build on windows
- Remove Cancellable::reset()
- Make Cancellable Send+Sync and don't generate trait for it
- Generate ApplicationCommandLine.
- Script in examples was renamed
- Add unix socket address
- UInt flags in sys
- Add not_bound rule
- remove versions from git dependencies
- Test
- New types
- Test with gtk3.22.30
- Fix clippy warnings
- Add badges
- Add more checks
- add new types
- Script in examples was renamed
- UInt flags in sys
- String constants
- Move from send-cell to fragile
- Missing parents
- Generate glib::Quark based ErrorDomain for enums
- remove versions from git dependencies
- Tests
- Use futures-preview crates instead of futures
- Fix clippy warnings
- Remove callback guard
- Add missing information
- Add more checks
- Regenerate and add futures
- Script in examples was renamed
gdk:
- Update for cairo::Pattern API changes
- Gen more things
- Implement #129: use wrapper callbacks to convert arguments
- Missing parent
- Generate glib::Quark based ErrorDomain for enums
- Add not_bound rule
- Add missing getters
- Add missing get_device methods
- remove versions from git dependencies
- Test
- New types
- Test with gtk3.22.30
- Add missing EventMotion function
- Fix clippy warnings
- Remove callback guard
- Update CIs
- Add DevicePad type
- add event functions
- Add Event::new
- Script in examples was renamed
- UInt flags in sys
gtk:
- Switch from send-cell to fragile
- More types
- remove more clippy warnings
- Fix build with two-phase-borrows (aka NLL)
- Add manual implementation of EntryCompletion::set_match_func
- Regen with GQuark
- New types
- Generate glib::Quark based ErrorDomain for enums
- Tests
- remove versions from git dependencies
- Test with gtk3.22.30 same gdk
- Test with gtk3.22.30 and gdk3.22
- Add ListBox::bind_model() and other functions taking closures
- Add osx tests
- Rename ListStoreExtManual to GtkListStoreExtManual
- Use futures-preview crates instead of futures
- Fix clippy warnings
- Remove callback guard
- let applicationwindow accept anything implementing Application
- Text view layer version
- Change version for Gtk.TextViewLayer
- Crate 0.4.1
- Fix present method on macos
- Add not_bound rule
- remove versions from git dependencies and update bitflags
- Test
- Test with gtk3.22.30
- New types
- Add info
- Single version file
- Script in examples was renamed
All this was possible thanks to the gtk-rs/gir project as well:
- Move from send-cell to fragile
- Fix not bound functions and methods filtering
- Show not bound functions and methods
- Get real parent name
- Allow generating SendUnique impls for GObjects
- Add deprecated version for not generated parents
- Remove parent duplicates for not bound mode
- List not bound parents in not bound mode
- Improve deriving of trait impls
- Update dependencies
- Make ConversionType for glib::Quark Scalar
- Generate glib::Quark based ErrorDomain for enums
- fix invalid multiple flag import
- Prevent some useless generations
- Fix panic in generating
emit
for incomplete signal - Gobject generation
- Fix generating array with c:type="gpointer*" and other actual type
- Fix unneeded "Failed to get arguments" when run
gir --help
- Remove adding callback_guard
- Fix clippy warnings about passing short and Copy arguments by reference
- Show analysis warnings only for generated library
- Enum / Flags: generate user defined
derive
- Add
use glib;
if class has async method - Add ignore clipy warnings in sys
- Async extraction
- Fix generating function body when out parameter has reserved name
- Make single_version_file accept path for "versions.txt"
- Rename "string" in string_type to "utf8" to match glib type
- Support string type override
- Enable logging from libgir component by default at warn level.
- Use ToOwned and Borrow traits when generating futures.
- Use declarations for finish function output parameters.
- Specify gio::Cancellable by full path in futures code if not inside GIO
- Generate futures variants of GIO async functions
- RFC: Not so twisted snakes.
- Remove volatile wrapper struct.
- Fix some clippy warnings.
- Split gir into lib and binary
- Parse additional parameter attributes: scope, closure and destroy.
- Generate bindings for global asynchronous functions.
- Uint flags in sys
- Remove _POSIX_C_SOURCE feature test macro.
- Sort types and constants used in ABI tests by name at generation time.
Thanks to all of our contributors for their (awesome!) work for this release: