All Versions
11
Latest Version
Avg Release Cycle
116 days
Latest Release
284 days ago

Changelog History
Page 1

  • v0.8.1

    February 17, 2020
  • v0.8.0

    December 14, 2019
  • v0.7.1

    July 04, 2019
  • v0.7.0

    June 22, 2019
  • v0.6.0

    February 21, 2019
  • v0.5.0

    September 09, 2018
  • v0.4.0

    March 17, 2018
  • v0.3.0

    November 26, 2017
  • v0.0.8

  • v0.0.7

    March 15, 2016

    ๐Ÿ’ฅ Breaking changes

    • Object reform introduced autogenerated high-level bindings and broke some conventions.

      • Constructors don't return Option, they never fail.
      • Companion traits renamed e.g. ButtonTrait -> ButtonExt.
      • Modules are private now, all items are exported at the crate level (e.g. gtk::button::Button is no longer visible, use gtk::Button instead).
      • Dialog APIs made less Rust-y for consistency with upstream.
      • File name types changed from &str to T: AsRef<Path>.
      • A few signatures and spellings corrected to match upstream.
    • ๐Ÿ”– Version features reintroduced and autodetection is no more. The fallback version is 3.4.

      Select the minimal version required by your application like this:

      [dependencies.gtk]
      features = ["v3_10"]
      
    • ๐Ÿšฆ Signal handlers take the receiver by reference and support more specific receiver types.

    • ๐Ÿ†• New safe event bindings are passed to signal handlers. These bindings have safe getters while the low-level event structs are still reachable via as_ref.

    • ๐Ÿ†• New safe Error and Value bindings. ListStore and TreeStore changed accordingly, traded set_string for more powerful set.

    • ๐Ÿšš In an ongoing move to reflect integer unsignedness properly Notebook switched from i32 to u32, ListStore and TreeStore partly switched to u32 and EntryBuffer switched to u16.

    ๐Ÿ‘Œ Improvements

    • Object reform benefits include:

      • Automatic generation of the majority of code, expanding the number of implemented classes, eliminating typos and making maintenance easier.
      • Unified upcasting and downcasting via the Cast trait, proper interface support. In particular this makes Builder safe to use.
      • Each crate has a prelude module, which reexports all traits and some ubiquitous types (Continue, Inhibit). gtk's prelude incorporates glib's one.
      • Removal of the C glue layer and gcc dependency.
    • ๐Ÿ“š The upstream documentation excised from all crates earlier lives in the [lgpl-docs][lgpl-docs] crate now. It can be embedded into your local copy of gtk and other crates by enabling the embed-lgpl-docs feature.

    • ๐Ÿ— Building:

      • Windows users no longer need to delete Rust's bundled gcc.
      • In the absence of pkg-config we try to link anyway assuming the libraries can be found in the default search path. There are no version checks in this case.
      • Setting GTK_LIB_DIR skips pkg-config altogether.

    ๐Ÿ“„ [lgpl-docs]: https://github.com/gtk-rs/lgpl-docs