Skip to content

Commit

Permalink
posts: New release!
Browse files Browse the repository at this point in the history
  • Loading branch information
bilelmoussaoui committed May 31, 2024
1 parent 38dd78b commit a304262
Showing 1 changed file with 230 additions and 0 deletions.
230 changes: 230 additions & 0 deletions _posts/2024-02-04-new-release.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
---
layout: post
author: gtk-rs developers
title: New Release
categories: [front, crates]
date: 2024-02-04 20:00:00 +0000
---

* Write intro here *

### gtk-rs-core

* Removal of glib channels
* Removal of re-exported once_cell crate, use `std::cell::OnceCell` / `std::sync::OnceLock`
* Re-organized traits in glib
* Dynamic types support

### gtk4-rs

* GTK 4.14 APIs support
* Support `TemplateChild<T>` usage with `glib::Properties` macro

### Changes

For the interested ones, here is the list of the merged pull requests:

[gtk-rs-core](https://github.com/gtk-rs/gtk-rs-core):

* [Fix some new clippy warnings](https://github.com/gtk-rs/gtk-rs-core/pull/1299)
* [chore: Drop no longer needed deny skips](https://github.com/gtk-rs/gtk-rs-core/pull/1302)
* [build(deps): bump thiserror from 1.0.56 to 1.0.57](https://github.com/gtk-rs/gtk-rs-core/pull/1306)
* [build(deps): bump tempfile from 3.9.0 to 3.10.0](https://github.com/gtk-rs/gtk-rs-core/pull/1307)
* [glib: Fix expected error output of compiletests for 1.76](https://github.com/gtk-rs/gtk-rs-core/pull/1308)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1309)
* [glib: Add `Quark::from\_static\_str()`](https://github.com/gtk-rs/gtk-rs-core/pull/1312)
* [Update Cargo.lock](https://github.com/gtk-rs/gtk-rs-core/pull/1313)
* [build(deps): bump freetype-rs from 0.35.0 to 0.36.0](https://github.com/gtk-rs/gtk-rs-core/pull/1314)
* [macros: allow to specify #\[default\] for glib::flags](https://github.com/gtk-rs/gtk-rs-core/pull/1316)
* [build(deps): bump syn from 2.0.49 to 2.0.51](https://github.com/gtk-rs/gtk-rs-core/pull/1317)
* [build(deps): bump syn from 2.0.51 to 2.0.52](https://github.com/gtk-rs/gtk-rs-core/pull/1319)
* [build(deps): bump tempfile from 3.10.0 to 3.10.1](https://github.com/gtk-rs/gtk-rs-core/pull/1320)
* [glib: Requires Upgrade on Downgrade::Weak type](https://github.com/gtk-rs/gtk-rs-core/pull/1321)
* [glib-macros: Require at least syn 2.0.32](https://github.com/gtk-rs/gtk-rs-core/pull/1301)
* [cairo: Fix version of the v1\_18 feature](https://github.com/gtk-rs/gtk-rs-core/pull/1310)
* [docs: Move metadata back to packages](https://github.com/gtk-rs/gtk-rs-core/pull/1311)
* [glib: Embed docs for ParamSpec types](https://github.com/gtk-rs/gtk-rs-core/pull/1323)
* [Regenerate with latest gir files](https://github.com/gtk-rs/gtk-rs-core/pull/1324)
* [pango: add some missing AttrInt constructors.](https://github.com/gtk-rs/gtk-rs-core/pull/1325)
* [glib: Drop the main context future return value sender on finalize](https://github.com/gtk-rs/gtk-rs-core/pull/1328)
* [glib: Optimize string collation bindings a bit](https://github.com/gtk-rs/gtk-rs-core/pull/1329)
* [gio: correctly free argument list items](https://github.com/gtk-rs/gtk-rs-core/pull/1331)
* [build(deps): bump thiserror from 1.0.57 to 1.0.58](https://github.com/gtk-rs/gtk-rs-core/pull/1332)
* [build(deps): bump system-deps from 6.2.0 to 6.2.1](https://github.com/gtk-rs/gtk-rs-core/pull/1334)
* [build(deps): bump proc-macro2 from 1.0.78 to 1.0.79](https://github.com/gtk-rs/gtk-rs-core/pull/1333)
* [build(deps): bump heck from 0.4.1 to 0.5.0](https://github.com/gtk-rs/gtk-rs-core/pull/1335)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1336)
* [glib: Don't misuse `slice::get\_unchecked()`](https://github.com/gtk-rs/gtk-rs-core/pull/1337)
* [Document values of Continue and Break](https://github.com/gtk-rs/gtk-rs-core/pull/1304)
* [build(deps): bump smallvec from 1.13.1 to 1.13.2](https://github.com/gtk-rs/gtk-rs-core/pull/1340)
* [build(deps): bump syn from 2.0.53 to 2.0.55](https://github.com/gtk-rs/gtk-rs-core/pull/1341)
* [Fix glib compiletest expected output for Rust 1.77](https://github.com/gtk-rs/gtk-rs-core/pull/1342)
* [glib: fix UB in VariantStrIter::impl\_get](https://github.com/gtk-rs/gtk-rs-core/pull/1343)
* [docs: `construct` attribute for `glib::Properties`](https://github.com/gtk-rs/gtk-rs-core/pull/1344)
* [build(deps): bump pin-project-lite from 0.2.13 to 0.2.14](https://github.com/gtk-rs/gtk-rs-core/pull/1345)
* [build(deps): bump syn from 2.0.55 to 2.0.57](https://github.com/gtk-rs/gtk-rs-core/pull/1346)
* [build(deps): bump memchr from 2.7.1 to 2.7.2](https://github.com/gtk-rs/gtk-rs-core/pull/1347)
* [Fix nightly clippy warnings](https://github.com/gtk-rs/gtk-rs-core/pull/1348)
* [Update gir / gir-files and update for `time\_t`](https://github.com/gtk-rs/gtk-rs-core/pull/1349)
* [build(deps): bump syn from 2.0.57 to 2.0.58](https://github.com/gtk-rs/gtk-rs-core/pull/1350)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1351)
* [glib: Freeze property notifications while setting multiple properties](https://github.com/gtk-rs/gtk-rs-core/pull/1355)
* [build(deps): bump proc-macro2 from 1.0.79 to 1.0.80](https://github.com/gtk-rs/gtk-rs-core/pull/1357)
* [build(deps): bump peaceiris/actions-gh-pages from 3 to 4](https://github.com/gtk-rs/gtk-rs-core/pull/1356)
* [build(deps): bump syn from 2.0.58 to 2.0.59](https://github.com/gtk-rs/gtk-rs-core/pull/1358)
* [build(deps): bump quote from 1.0.35 to 1.0.36](https://github.com/gtk-rs/gtk-rs-core/pull/1359)
* [glib-sys: Add missing includes in `manual.h`](https://github.com/gtk-rs/gtk-rs-core/pull/1361)
* [glib-sys: fix struct size mismatches](https://github.com/gtk-rs/gtk-rs-core/pull/1360)
* [build(deps): bump syn from 2.0.59 to 2.0.60](https://github.com/gtk-rs/gtk-rs-core/pull/1365)
* [build(deps): bump proc-macro2 from 1.0.80 to 1.0.81](https://github.com/gtk-rs/gtk-rs-core/pull/1364)
* [build(deps): bump thiserror from 1.0.58 to 1.0.59](https://github.com/gtk-rs/gtk-rs-core/pull/1363)
* [build(deps): bump serial\_test from 3.0.0 to 3.1.0](https://github.com/gtk-rs/gtk-rs-core/pull/1362)
* [glib-macros: Improve error message when `Properties` struct doesn't have at least one `#\[property(…)\]`](https://github.com/gtk-rs/gtk-rs-core/pull/1352)
* [ci: Enable glib-sys / gobject-sys tests](https://github.com/gtk-rs/gtk-rs-core/pull/1368)
* [glib-macros/properties: Allow structs with no properties](https://github.com/gtk-rs/gtk-rs-core/pull/1370)
* [glib::wrapper: Add docs for impls generated by the wrapper macro](https://github.com/gtk-rs/gtk-rs-core/pull/1369)
* [glib: Re-add and rename manual Win32 API additions](https://github.com/gtk-rs/gtk-rs-core/pull/1372)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1371)
* [build(deps): bump serial\_test from 3.1.0 to 3.1.1](https://github.com/gtk-rs/gtk-rs-core/pull/1374)
* [glib: Don't use `g\_object\_list\_properties()` for setting properties](https://github.com/gtk-rs/gtk-rs-core/pull/1376)
* [glib: Use a reference to a pointer of correct mutability for from\_gli…](https://github.com/gtk-rs/gtk-rs-core/pull/1375)
* [build(deps): bump libc from 0.2.153 to 0.2.154](https://github.com/gtk-rs/gtk-rs-core/pull/1386)
* [glib: Add missing Send bound to the output type of the `spawn\_from\_within()` future](https://github.com/gtk-rs/gtk-rs-core/pull/1383)
* [glib: Only implement Send on JoinHandle if the result is Send](https://github.com/gtk-rs/gtk-rs-core/pull/1387)
* [glib: Implement Sync for ThreadGuard](https://github.com/gtk-rs/gtk-rs-core/pull/1388)
* [glib: Decouple ObjectInterface impl from interface class struct](https://github.com/gtk-rs/gtk-rs-core/pull/1384)
* [glib-macros: Refactor parsing code of object\_subclass/object\_interface](https://github.com/gtk-rs/gtk-rs-core/pull/1379)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1390)
* [examples: Add example for custom class structs and virtual methods](https://github.com/gtk-rs/gtk-rs-core/pull/1378)
* [Fix clippy warnings](https://github.com/gtk-rs/gtk-rs-core/pull/1393)
* [build(deps): bump thiserror from 1.0.59 to 1.0.60](https://github.com/gtk-rs/gtk-rs-core/pull/1397)
* [build(deps): bump proc-macro2 from 1.0.81 to 1.0.82](https://github.com/gtk-rs/gtk-rs-core/pull/1398)
* [build(deps): bump syn from 2.0.60 to 2.0.63](https://github.com/gtk-rs/gtk-rs-core/pull/1399)
* [glib: Add bindings for `g\_value\_set\_static\_string()`](https://github.com/gtk-rs/gtk-rs-core/pull/1400)
* [build(deps): bump thiserror from 1.0.60 to 1.0.61](https://github.com/gtk-rs/gtk-rs-core/pull/1402)
* [build(deps): bump proc-macro2 from 1.0.82 to 1.0.83](https://github.com/gtk-rs/gtk-rs-core/pull/1405)
* [build(deps): bump syn from 2.0.63 to 2.0.65](https://github.com/gtk-rs/gtk-rs-core/pull/1404)
* [build(deps): bump libc from 0.2.154 to 0.2.155](https://github.com/gtk-rs/gtk-rs-core/pull/1403)
* [0.19 backports](https://github.com/gtk-rs/gtk-rs-core/pull/1408)
* [glib/functions: add compute\_checksum\_for\_string](https://github.com/gtk-rs/gtk-rs-core/pull/1406)
* [glib: Improve `ValueArray` API, add tests and assertions for invalid …](https://github.com/gtk-rs/gtk-rs-core/pull/1411)
* [glib: Fix `MatchInfo::next()` handling of returning `FALSE`](https://github.com/gtk-rs/gtk-rs-core/pull/1410)
* [glib: Add unsafe `Value::into\_send\_value()`](https://github.com/gtk-rs/gtk-rs-core/pull/1413)
* [build(deps): bump proc-macro2 from 1.0.83 to 1.0.84](https://github.com/gtk-rs/gtk-rs-core/pull/1414)
* [build(deps): bump syn from 2.0.65 to 2.0.66](https://github.com/gtk-rs/gtk-rs-core/pull/1415)
* [spell fix](https://github.com/gtk-rs/gtk-rs-core/pull/1419)
* [Regenerate with latest gir/gir-files](https://github.com/gtk-rs/gtk-rs-core/pull/1420)
* [Fix various nightly clippy warnings](https://github.com/gtk-rs/gtk-rs-core/pull/1421)

[gtk4-rs](https://github.com/gtk-rs/gtk4-rs):

* [build(deps): bump tempfile from 3.10.0 to 3.10.1](https://github.com/gtk-rs/gtk4-rs/pull/1631)
* [build(deps): bump cairo-sys-rs from `90fc203` to `8e5054e`](https://github.com/gtk-rs/gtk4-rs/pull/1628)
* [build(deps): bump pkg-config from 0.3.29 to 0.3.30](https://github.com/gtk-rs/gtk4-rs/pull/1632)
* [build(deps): bump docker/build-push-action from 4976231911ebf5f32aad765192d35f942aa48cb8 to 831ca179d3cf91cf0c90ca465a408fa61e2129a2](https://github.com/gtk-rs/gtk4-rs/pull/1627)
* [build(deps): bump docker/login-action from 83a00bc1ab5ded6580f31df1c49e6aaa932d840d to 5139682d94efc37792e6b54386b5b470a68a4737](https://github.com/gtk-rs/gtk4-rs/pull/1625)
* [cargo-deny: Remove libloading dependencies](https://github.com/gtk-rs/gtk4-rs/pull/1633)
* [build(deps): bump glib-sys from `8e5054e` to `8176286`](https://github.com/gtk-rs/gtk4-rs/pull/1634)
* [Regenerate with latest gir-files](https://github.com/gtk-rs/gtk4-rs/pull/1637)
* [build(deps): bump reqwest from 0.11.24 to 0.11.25](https://github.com/gtk-rs/gtk4-rs/pull/1640)
* [build(deps): bump femtovg from 0.8.2 to 0.9.0](https://github.com/gtk-rs/gtk4-rs/pull/1642)
* [Simplify library configuration step for Windows](https://github.com/gtk-rs/gtk4-rs/pull/1644)
* [build(deps): bump docker/login-action from 5139682d94efc37792e6b54386b5b470a68a4737 to e92390c5fb421da1463c202d546fed0ec5c39f20](https://github.com/gtk-rs/gtk4-rs/pull/1648)
* [build(deps): bump docker/build-push-action from 831ca179d3cf91cf0c90ca465a408fa61e2129a2 to 090ca155fc9b214cbcac536c450455a0e96f52c6](https://github.com/gtk-rs/gtk4-rs/pull/1656)
* [Replace simple `impl Debug` with derived `Debug` in tokio example](https://github.com/gtk-rs/gtk4-rs/pull/1663)
* [build(deps): bump image from 0.24.9 to 0.25.1](https://github.com/gtk-rs/gtk4-rs/pull/1669)
* [Fix nightly clippy warnings](https://github.com/gtk-rs/gtk4-rs/pull/1670)
* [docs: fix `Path` setting on windows](https://github.com/gtk-rs/gtk4-rs/pull/1675)
* [Correctly handle `NULL` `GError\*\*` out parameters](https://github.com/gtk-rs/gtk4-rs/pull/1672)
* [build(deps): bump mio from 0.8.10 to 0.8.11 in /book/listings](https://github.com/gtk-rs/gtk4-rs/pull/1677)
* [Regenerate with latest gir](https://github.com/gtk-rs/gtk4-rs/pull/1678)
* [dockerfile: Update libadwaita to 1.5](https://github.com/gtk-rs/gtk4-rs/pull/1687)
* [book: Update dependencies](https://github.com/gtk-rs/gtk4-rs/pull/1686)
* [build(deps): bump peaceiris/actions-gh-pages from 3 to 4](https://github.com/gtk-rs/gtk4-rs/pull/1691)
* [build(deps): bump femtovg from 0.9.0 to 0.9.1](https://github.com/gtk-rs/gtk4-rs/pull/1693)
* [build(deps): bump async-channel from 2.2.0 to 2.2.1](https://github.com/gtk-rs/gtk4-rs/pull/1695)
* [build(deps): bump peaceiris/actions-mdbook from 1 to 2](https://github.com/gtk-rs/gtk4-rs/pull/1692)
* [build(deps): bump proc-macro2 from 1.0.79 to 1.0.80](https://github.com/gtk-rs/gtk4-rs/pull/1694)
* [macros: Drop macro-proc-error and upgrade syn to 2.0](https://github.com/gtk-rs/gtk4-rs/pull/1688)
* [Fix typo in todo\_1.md](https://github.com/gtk-rs/gtk4-rs/pull/1707)
* [macros: Drop anyhow dependency](https://github.com/gtk-rs/gtk4-rs/pull/1708)
* [gtk4: Require GDK 4.14 when enabling the `v4\_14` feature](https://github.com/gtk-rs/gtk4-rs/pull/1704)
* [gtk4: Manually implement `GraphicsOffload` constructor for now](https://github.com/gtk-rs/gtk4-rs/pull/1705)
* [build(deps): bump proc-macro2 from 1.0.80 to 1.0.81](https://github.com/gtk-rs/gtk4-rs/pull/1713)
* [build(deps): bump chrono from 0.4.37 to 0.4.38](https://github.com/gtk-rs/gtk4-rs/pull/1712)
* [build(deps): bump quote from 1.0.35 to 1.0.36](https://github.com/gtk-rs/gtk4-rs/pull/1711)
* [build(deps): bump reqwest from 0.11.27 to 0.12.4](https://github.com/gtk-rs/gtk4-rs/pull/1714)
* [Update dependencies](https://github.com/gtk-rs/gtk4-rs/pull/1717)
* [Release 0.8.2](https://github.com/gtk-rs/gtk4-rs/pull/1718)
* [build(deps): bump docker/build-push-action from 090ca155fc9b214cbcac536c450455a0e96f52c6 to 7e6f77677b7892794c8852c6e3773c3e9bc3129a](https://github.com/gtk-rs/gtk4-rs/pull/1710)
* [build(deps): bump serde from 1.0.198 to 1.0.199](https://github.com/gtk-rs/gtk4-rs/pull/1722)
* [build(deps): bump lycheeverse/lychee-action from 1.9.3 to 1.10.0](https://github.com/gtk-rs/gtk4-rs/pull/1720)
* [build(deps): bump docker/build-push-action from 7e6f77677b7892794c8852c6e3773c3e9bc3129a to eb539f44b153603ccbfbd98e2ab9d4d0dcaf23a4](https://github.com/gtk-rs/gtk4-rs/pull/1721)
* [build(deps): bump rustls from 0.22.3 to 0.22.4 in /book/listings](https://github.com/gtk-rs/gtk4-rs/pull/1723)
* [Update link for Cogitri/Health to World/Health](https://github.com/gtk-rs/gtk4-rs/pull/1725)
* [build(deps): bump libc from 0.2.153 to 0.2.154](https://github.com/gtk-rs/gtk4-rs/pull/1727)
* [build(deps): bump serde from 1.0.199 to 1.0.200](https://github.com/gtk-rs/gtk4-rs/pull/1728)
* [build(deps): bump serde from 1.0.200 to 1.0.201](https://github.com/gtk-rs/gtk4-rs/pull/1737)
* [build(deps): bump proc-macro2 from 1.0.81 to 1.0.82](https://github.com/gtk-rs/gtk4-rs/pull/1735)
* [examples: Support GL &gt;= 3.1 and GLES &gt;= 3.0 in the glium example](https://github.com/gtk-rs/gtk4-rs/pull/1733)
* [Update list\_widgets.md](https://github.com/gtk-rs/gtk4-rs/pull/1742)
* [gtk: Implement Downgrade for TemplateChild&lt;T&gt;](https://github.com/gtk-rs/gtk4-rs/pull/1750)
* [build(deps): bump proc-macro2 from 1.0.82 to 1.0.83](https://github.com/gtk-rs/gtk4-rs/pull/1747)
* [build(deps): bump libc from 0.2.154 to 0.2.155](https://github.com/gtk-rs/gtk4-rs/pull/1746)
* [build(deps): bump serde from 1.0.201 to 1.0.202](https://github.com/gtk-rs/gtk4-rs/pull/1745)
* [build(deps): bump docker/build-push-action from eb539f44b153603ccbfbd98e2ab9d4d0dcaf23a4 to 2a53c6ccda456d31fb62eedc658aae06e238b7bd](https://github.com/gtk-rs/gtk4-rs/pull/1743)
* [build(deps): bump proc-macro2 from 1.0.83 to 1.0.84](https://github.com/gtk-rs/gtk4-rs/pull/1752)
* [build(deps): bump serde from 1.0.202 to 1.0.203](https://github.com/gtk-rs/gtk4-rs/pull/1751)
* [custom\_orientable: Fix interface property override](https://github.com/gtk-rs/gtk4-rs/pull/1755)
* [Fix nightly clippy warnings](https://github.com/gtk-rs/gtk4-rs/pull/1730)
* [Simplify reading file contents to a String](https://github.com/gtk-rs/gtk4-rs/pull/1719)

All this was possible thanks to the [gtk-rs/gir](https://github.com/gtk-rs/gir) project as well:

* [build(deps): bump toml from 0.8.8 to 0.8.9](https://github.com/gtk-rs/gir/pull/1544)
* [Automatically assume that `win32\_` and `unix\_` should use the related cfg](https://github.com/gtk-rs/gir/pull/1540)
* [Generate cfgs with `update\_cfgs` on enums as well](https://github.com/gtk-rs/gir/pull/1545)
* [Correctly generate cfg condition for ABI tests](https://github.com/gtk-rs/gir/pull/1546)
* [build(deps): bump toml from 0.8.9 to 0.8.10](https://github.com/gtk-rs/gir/pull/1548)
* [build(deps): bump env\_logger from 0.11.1 to 0.11.2](https://github.com/gtk-rs/gir/pull/1549)
* [Revert Automatically assume that win32\_ and unix\_ should use the related cfg](https://github.com/gtk-rs/gir/pull/1547)
* [build(deps): bump log from 0.4.20 to 0.4.21](https://github.com/gtk-rs/gir/pull/1552)
* [build(deps): bump env\_logger from 0.11.2 to 0.11.3](https://github.com/gtk-rs/gir/pull/1553)
* [build(deps): bump toml from 0.8.10 to 0.8.11](https://github.com/gtk-rs/gir/pull/1554)
* [build(deps): bump bitflags from 2.4.2 to 2.5.0](https://github.com/gtk-rs/gir/pull/1556)
* [build(deps): bump regex from 1.10.3 to 1.10.4](https://github.com/gtk-rs/gir/pull/1557)
* [build(deps): bump toml from 0.8.11 to 0.8.12](https://github.com/gtk-rs/gir/pull/1558)
* [build(deps): bump xml-rs from 0.8.19 to 0.8.20](https://github.com/gtk-rs/gir/pull/1560)
* [Add support for `libc::time\_t` and related types](https://github.com/gtk-rs/gir/pull/1562)
* [build(deps): bump peaceiris/actions-mdbook from 1 to 2](https://github.com/gtk-rs/gir/pull/1565)
* [build(deps): bump peaceiris/actions-gh-pages from 3 to 4](https://github.com/gtk-rs/gir/pull/1564)
* [Codegen clippy fixes](https://github.com/gtk-rs/gir/pull/1566)
* [build(deps): bump toml from 0.8.12 to 0.8.13](https://github.com/gtk-rs/gir/pull/1567)

Thanks to all of our contributors for their (awesome!) work on this release:

* [@A6GibKm](https://github.com/A6GibKm)
* [@alatiera](https://github.com/alatiera)
* [@amyspark](https://github.com/amyspark)
* [@bilelmoussaoui](https://github.com/bilelmoussaoui)
* [@DaKnig](https://github.com/DaKnig)
* [@decathorpe](https://github.com/decathorpe)
* [@dependabot[bot]](https://github.com/dependabot[bot])
* [@ellnix](https://github.com/ellnix)
* [@enaut](https://github.com/enaut)
* [@exi](https://github.com/exi)
* [@felinira](https://github.com/felinira)
* [@GuillaumeGomez](https://github.com/GuillaumeGomez)
* [@Hofer-Julian](https://github.com/Hofer-Julian)
* [@liushuyu](https://github.com/liushuyu)
* [@marcinjahn](https://github.com/marcinjahn)
* [@misson20000](https://github.com/misson20000)
* [@mjgarton](https://github.com/mjgarton)
* [@mokurin000](https://github.com/mokurin000)
* [@nazar-pc](https://github.com/nazar-pc)
* [@pbor](https://github.com/pbor)
* [@pranjalkole](https://github.com/pranjalkole)
* [@sdroege](https://github.com/sdroege)
* [@vhakulinen](https://github.com/vhakulinen)
* [@ystreet](https://github.com/ystreet)
* [@zecakeh](https://github.com/zecakeh)

0 comments on commit a304262

Please sign in to comment.