Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

Latest commit

 

History

History
100 lines (71 loc) · 3.7 KB

CHANGELOG.md

File metadata and controls

100 lines (71 loc) · 3.7 KB

0.0.8 (master)

0.0.7 (16-Mar-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 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.

v0.0.6 (28-Nov-2015)

  • TBD