File: CHANGELOG.md

package info (click to toggle)
rust-gtk 0.5.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,792 kB
  • sloc: makefile: 20; sh: 17
file content (100 lines) | stat: -rw-r--r-- 3,786 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
## 0.0.8 (master)

## 0.0.7 (16-Mar-2016)

### Breaking changes

- [Object reform][gtk221] 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][gtk236] from `&str` to `T: AsRef<Path>`.

  - A few signatures and spellings corrected to match upstream.

- Version features [reintroduced][gtk248] and autodetection is no more. The
  fallback version is 3.4.

    Select the minimal version required by your application like this:
    ```toml
    [dependencies.gtk]
    features = ["v3_10"]
    ```

- Signal handlers [take the receiver by reference][gtk226-1] and support [more
  specific receiver types][gtk226-2].

- New [safe event bindings][gdk95] are [passed to signal handlers][gtk244].
  These bindings have [safe getters][gdk107] while the low-level event structs are
  still reachable [via `as_ref`][examples68].

- New safe [`Error`][glib86-error] and [`Value`][glib95] bindings. `ListStore` and
  `TreeStore` [changed accordingly][gtk238], traded `set_string` for more
  powerful [`set`][gtk241].

- In an ongoing move to [reflect integer unsignedness properly][gtk246]
  `Notebook` switched from `i32` to `u32`, `ListStore` and `TreeStore` partly
  switched to `u32` and `EntryBuffer` switched to `u16`.

### Improvements

- [Object reform][gtk221] benefits include:

  - Automatic generation of [the majority of code][auto-dir], 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][gtk245].

- [Building][sys21]:

 - 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.

[auto-dir]: https://github.com/gtk-rs/gtk/tree/master/src/auto
[examples68]: https://github.com/gtk-rs/examples/pull/68
[gdk95]: https://github.com/gtk-rs/gdk/pull/95
[gdk107]: https://github.com/gtk-rs/gdk/pull/107
[glib86-error]: https://github.com/gtk-rs/glib/commit/c1a30e97
[glib95]: https://github.com/gtk-rs/glib/pull/95
[gtk221]: https://github.com/gtk-rs/gtk/pull/221
[gtk226-1]: https://github.com/gkoz/gtk-rs-gtk/commit/edfafb8f
[gtk226-2]: https://github.com/gkoz/gtk-rs-gtk/commit/dda2a242
[gtk236]: https://github.com/gtk-rs/gtk/pull/236
[gtk238]: https://github.com/gtk-rs/gtk/pull/238
[gtk241]: https://github.com/gtk-rs/gtk/pull/241
[gtk244]: https://github.com/gtk-rs/gtk/pull/244
[gtk245]: https://github.com/gtk-rs/gtk/pull/245
[gtk246]: https://github.com/gtk-rs/gtk/issues/246
[gtk248]: https://github.com/gtk-rs/gtk/pull/248
[lgpl-docs]: https://github.com/gtk-rs/lgpl-docs
[prelude]: https://github.com/gtk-rs/gtk/blob/master/src/prelude.rs
[sys21]: https://github.com/gtk-rs/sys/pull/21

## v0.0.6 (28-Nov-2015)

- TBD