|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +author: gtk-rs developers |
| 4 | +title: New Release |
| 5 | +categories: [front, crates] |
| 6 | +date: 2024-02-04 20:00:00 +0000 |
| 7 | +--- |
| 8 | + |
| 9 | +* Write intro here * |
| 10 | + |
| 11 | +### gtk-rs-core |
| 12 | + |
| 13 | +* Removal of glib channels |
| 14 | +* Removal of re-exported once_cell crate, use `std::cell::OnceCell` / `std::sync::OnceLock` |
| 15 | +* Re-organized traits in glib |
| 16 | +* Dynamic types support |
| 17 | + |
| 18 | +### gtk4-rs |
| 19 | + |
| 20 | +* GTK 4.14 APIs support |
| 21 | +* Support `TemplateChild<T>` usage with `glib::Properties` macro |
| 22 | + |
| 23 | +### Changes |
| 24 | + |
| 25 | +For the interested ones, here is the list of the merged pull requests: |
| 26 | + |
| 27 | +[gtk-rs-core](https://github.com/gtk-rs/gtk-rs-core): |
| 28 | + |
| 29 | +* [glib: Mark panicky `BoxedAnyObject` methods as `track\_caller`](https://github.com/gtk-rs/gtk-rs-core/pull/1279) |
| 30 | +* [add support of flags registered as dynamic types](https://github.com/gtk-rs/gtk-rs-core/pull/1271) |
| 31 | +* [Replace usage of macro `proc\_macro\_error` with explicit propagation of `syn::Result`](https://github.com/gtk-rs/gtk-rs-core/pull/1288) |
| 32 | +* [Use cargo workspace features](https://github.com/gtk-rs/gtk-rs-core/pull/1296) |
| 33 | +* [Replace `once\_cell` usage with std::sync::OnceLock](https://github.com/gtk-rs/gtk-rs-core/pull/1289) |
| 34 | +* [Use workspace features for ffi types](https://github.com/gtk-rs/gtk-rs-core/pull/1297) |
| 35 | +* [glib: prelude cleanup](https://github.com/gtk-rs/gtk-rs-core/pull/1095) |
| 36 | + |
| 37 | +[gtk4-rs](https://github.com/gtk-rs/gtk4-rs): |
| 38 | + |
| 39 | +* [gtk: Implement HasParamSpec for TemplateChild<T>](https://github.com/gtk-rs/gtk4-rs/pull/1495) |
| 40 | +* [gtk4-macros: Update to proc-macro-crate 2](https://github.com/gtk-rs/gtk4-rs/pull/1506) |
| 41 | +* [gtk: Use glib enums instead of bools where it makes sense](https://github.com/gtk-rs/gtk4-rs/pull/1512) |
| 42 | +* [image: Use modern way of publishing the container](https://github.com/gtk-rs/gtk4-rs/pull/1566) |
| 43 | +* [Use cargo workspace features](https://github.com/gtk-rs/gtk4-rs/pull/1579) |
| 44 | +* [Get rid of once\_cell](https://github.com/gtk-rs/gtk4-rs/pull/1580) |
| 45 | +* [print\_job: fix send() closure](https://github.com/gtk-rs/gtk4-rs/pull/1563) |
| 46 | +* [examples: Add a gtk::Scale](https://github.com/gtk-rs/gtk4-rs/pull/1569) |
| 47 | +* [examples: Add a menubar one](https://github.com/gtk-rs/gtk4-rs/pull/1570) |
| 48 | +* [examples: Dialog's response signal handling](https://github.com/gtk-rs/gtk4-rs/pull/1514) |
| 49 | +* [examples: async request no blocking main thread](https://github.com/gtk-rs/gtk4-rs/pull/1578) |
| 50 | +* [examples: Add example for About Dialog](https://github.com/gtk-rs/gtk4-rs/pull/1589) |
| 51 | +* [examples: Clean up, modernize and simplify virtual methods example](https://github.com/gtk-rs/gtk4-rs/pull/1513) |
| 52 | +* [CI: add a cargo deny job](https://github.com/gtk-rs/gtk4-rs/pull/1576) |
| 53 | +* [gtk::show\_about\_dialog: Set hide\_on\_close](https://github.com/gtk-rs/gtk4-rs/pull/1588) |
| 54 | +* [gtk: Don't propagate unused argument](https://github.com/gtk-rs/gtk4-rs/pull/1591) |
| 55 | +* [book: Extend main loop chapter with async section](https://github.com/gtk-rs/gtk4-rs/pull/1511) |
| 56 | +* [book: Check links with lychee](https://github.com/gtk-rs/gtk4-rs/pull/1499) |
| 57 | +* [book: Run separate jobs for check and deploy](https://github.com/gtk-rs/gtk4-rs/pull/1501) |
| 58 | +* [book: Fix typo in memory management chapter](https://github.com/gtk-rs/gtk4-rs/pull/1504) |
| 59 | +* [book: Rename action to correct name](https://github.com/gtk-rs/gtk4-rs/pull/1510) |
| 60 | +* [book: Split book workflow in two](https://github.com/gtk-rs/gtk4-rs/pull/1517) |
| 61 | +* [book: Disable playground globally](https://github.com/gtk-rs/gtk4-rs/pull/1518) |
| 62 | +* [book: Use bounded channels instead of unbounded](https://github.com/gtk-rs/gtk4-rs/pull/1522) |
| 63 | +* [book: Move to async-channel](https://github.com/gtk-rs/gtk4-rs/pull/1521) |
| 64 | +* [book: Move to `install\_action`](https://github.com/gtk-rs/gtk4-rs/pull/1529) |
| 65 | +* [book: Use new API spawn\_future\_local](https://github.com/gtk-rs/gtk4-rs/pull/1533) |
| 66 | +* [book: Add setuptools installation](https://github.com/gtk-rs/gtk4-rs/pull/1534) |
| 67 | +* [book: Move to libadwaita 1.4](https://github.com/gtk-rs/gtk4-rs/pull/1536) |
| 68 | +* [book: Add clarification around creating tokio runtime](https://github.com/gtk-rs/gtk4-rs/pull/1546) |
| 69 | +* [docs: fix composite template internal\_child -> internal](https://github.com/gtk-rs/gtk4-rs/pull/1550) |
| 70 | +* [book: Fix link to GVariant docs](https://github.com/gtk-rs/gtk4-rs/pull/1559) |
| 71 | + |
| 72 | +All this was possible thanks to the [gtk-rs/gir](https://github.com/gtk-rs/gir) project as well: |
| 73 | + |
| 74 | +* [codegen: Generate a doc alias for aliases](https://github.com/gtk-rs/gir/pull/1520) |
| 75 | +* [Remove unnecessary casts of function pointers through usize](https://github.com/gtk-rs/gir/pull/1528) |
| 76 | +* [record: Differentiate disguised vs pointer types](https://github.com/gtk-rs/gir/pull/1530) |
| 77 | +* [parser: Don't error out for forever scope](https://github.com/gtk-rs/gir/pull/1531) |
| 78 | +* [CI/tests: Remove gtk3 related bits](https://github.com/gtk-rs/gir/pull/1539) |
| 79 | +* [Replace `once\_cell` crate with `std::sync::OnceLock`](https://github.com/gtk-rs/gir/pull/1532) |
| 80 | +* [Replace once\_cell crate with std::sync::OnceLock in a generated code](https://github.com/gtk-rs/gir/pull/1537) |
| 81 | +* [codegen/sys: Don't expect the crates are renamed](https://github.com/gtk-rs/gir/pull/1542) |
| 82 | + |
| 83 | +Thanks to all of our contributors for their (awesome!) work on this release: |
| 84 | + |
| 85 | +* [@andy128k](https://github.com/andy128k) |
| 86 | +* [@bilelmoussaoui](https://github.com/bilelmoussaoui) |
| 87 | +* [@Claudio-code](https://github.com/Claudio-code) |
| 88 | +* [@dependabot[bot]](https://github.com/dependabot[bot]) |
| 89 | +* [@fbrouille](https://github.com/fbrouille) |
| 90 | +* [@felinira](https://github.com/felinira) |
| 91 | +* [@GuillaumeGomez](https://github.com/GuillaumeGomez) |
| 92 | +* [@Hofer-Julian](https://github.com/Hofer-Julian) |
| 93 | +* [@JakeStanger](https://github.com/JakeStanger) |
| 94 | +* [@jobale](https://github.com/jobale) |
| 95 | +* [@ocrete](https://github.com/ocrete) |
| 96 | +* [@pbor](https://github.com/pbor) |
| 97 | +* [@pieterdd](https://github.com/pieterdd) |
| 98 | +* [@RealKC](https://github.com/RealKC) |
| 99 | +* [@redvimo](https://github.com/redvimo) |
| 100 | +* [@sdroege](https://github.com/sdroege) |
| 101 | +* [@vhakulinen](https://github.com/vhakulinen) |
| 102 | +* [@wroyca](https://github.com/wroyca) |
| 103 | +* [@ZanderBrown](https://github.com/ZanderBrown) |
0 commit comments