Merge pull request #1328 from iced-rs/release/0.4.0

Release `0.4` — Stateless widgets, component trait, responsive views, WebGL support, and more!
This commit is contained in:
Héctor Ramón 2022-05-02 22:15:46 +02:00 committed by GitHub
commit b566c887b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 91 additions and 46 deletions

View file

@ -6,6 +6,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.4.0] - 2022-05-02
### Added
- __[Stateless widgets][stateless]__ (#1284)
A brand new widget API that removes the need to keep track of internal widget state. No more `button::State` in your application!
- __[`Component` trait][component]__ (#1131)
A new trait to implement custom widgets with internal mutable state while using composition and [The Elm Architecture].
- __[`Responsive` widget][responsive]__ (#1193)
A widget that is aware of its dimensions and can be used to easily build responsive user interfaces.
- __[Experimental WebGL support][webgl]__ (#1096)
Applications can now be rendered into an HTML `canvas` when targeting Wasm by leveraging the WebGL support in [`wgpu`]. Thanks to @pacmancoder and @kaimast!
- __[Support for Raspberry Pis and older devices][raspberry]__ (#1160)
The compatibility of our OpenGL renderer has been improved and should run on any hardware that supports OpenGL 3.0+ or OpenGL ES 2.0+. Additionally, we started maintaining [Docker images for `aarch64` and `armv7`](https://github.com/orgs/iced-rs/packages) to easily cross-compile `iced` applications and target Raspberry Pis. Thanks to @derezzedex!
- __[Simpler `Renderer` APIs][renderer_apis]__ (#1110)
The surface of the `Renderer` APIs of the library has been considerably reduced. Instead of a `Renderer` trait per widget, now there are only 3 traits that are reused by all the widgets.
[webgl]: https://github.com/iced-rs/iced/pull/1096
[renderer_apis]: https://github.com/iced-rs/iced/pull/1110
[component]: https://github.com/iced-rs/iced/pull/1131
[raspberry]: https://github.com/iced-rs/iced/pull/1160
[responsive]: https://github.com/iced-rs/iced/pull/1193
[stateless]: https://github.com/iced-rs/iced/pull/1284
[The Elm Architecture]: https://guide.elm-lang.org/architecture/
[`wgpu`]: https://github.com/gfx-rs/wgpu
## [0.3.0] - 2021-03-31
### Added
- Touch support. [#57] [#650] (thanks to @simlay and @discordance!)
@ -219,7 +250,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- First release! :tada:
[Unreleased]: https://github.com/iced-rs/iced/compare/0.3.0...HEAD
[Unreleased]: https://github.com/iced-rs/iced/compare/0.4.0...HEAD
[0.4.0]: https://github.com/iced-rs/iced/compare/0.3.0...0.4.0
[0.3.0]: https://github.com/iced-rs/iced/compare/0.2.0...0.3.0
[0.2.0]: https://github.com/iced-rs/iced/compare/0.1.1...0.2.0
[0.1.1]: https://github.com/iced-rs/iced/compare/0.1.0...0.1.1

View file

@ -1,6 +1,6 @@
[package]
name = "iced"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A cross-platform GUI library inspired by Elm"
@ -98,21 +98,21 @@ members = [
]
[dependencies]
iced_core = { version = "0.4", path = "core" }
iced_futures = { version = "0.3", path = "futures" }
iced_native = { version = "0.4", path = "native" }
iced_graphics = { version = "0.2", path = "graphics" }
iced_winit = { version = "0.3", path = "winit" }
iced_glutin = { version = "0.2", path = "glutin", optional = true }
iced_glow = { version = "0.2", path = "glow", optional = true }
iced_pure = { version = "0.1", path = "pure", optional = true }
iced_core = { version = "0.5", path = "core" }
iced_futures = { version = "0.4", path = "futures" }
iced_native = { version = "0.5", path = "native" }
iced_graphics = { version = "0.3", path = "graphics" }
iced_winit = { version = "0.4", path = "winit" }
iced_glutin = { version = "0.3", path = "glutin", optional = true }
iced_glow = { version = "0.3", path = "glow", optional = true }
iced_pure = { version = "0.2", path = "pure", optional = true }
thiserror = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
iced_wgpu = { version = "0.4", path = "wgpu", optional = true }
iced_wgpu = { version = "0.5", path = "wgpu", optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
iced_wgpu = { version = "0.4", path = "wgpu", features = ["webgl"], optional = true }
iced_wgpu = { version = "0.5", path = "wgpu", features = ["webgl"], optional = true }
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]

View file

@ -1,6 +1,6 @@
[package]
name = "iced_core"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "The essential concepts of Iced"

View file

@ -1,6 +1,6 @@
[package]
name = "iced_futures"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "Commands, subscriptions, and runtimes for Iced"

View file

@ -1,11 +1,11 @@
[package]
name = "iced_glow"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A glow renderer for iced"
license = "MIT AND OFL-1.1"
repository = "https://github.com/hecrj/iced"
repository = "https://github.com/iced-rs/iced"
[features]
canvas = ["iced_graphics/canvas"]
@ -24,11 +24,11 @@ bytemuck = "1.4"
log = "0.4"
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_graphics]
version = "0.2"
version = "0.3"
path = "../graphics"
features = ["font-fallback", "font-icons", "opengl"]

View file

@ -1,6 +1,6 @@
[package]
name = "iced_glutin"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A glutin runtime for Iced"
@ -19,14 +19,14 @@ git = "https://github.com/iced-rs/glutin"
rev = "7a0ee02782eb2bf059095e0c953c4bb53f1eef0e"
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_winit]
version = "0.3"
version = "0.4"
path = "../winit"
[dependencies.iced_graphics]
version = "0.2"
version = "0.3"
path = "../graphics"
features = ["opengl"]

View file

@ -1,11 +1,11 @@
[package]
name = "iced_graphics"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A bunch of backend-agnostic types that can be leveraged to build a renderer for Iced"
license = "MIT"
repository = "https://github.com/hecrj/iced"
repository = "https://github.com/iced-rs/iced"
documentation = "https://docs.rs/iced_graphics"
keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]
@ -29,15 +29,15 @@ version = "1.4"
features = ["derive"]
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_style]
version = "0.3"
version = "0.4"
path = "../style"
[dependencies.iced_pure]
version = "0.1"
version = "0.2"
path = "../pure"
optional = true

View file

@ -1,7 +1,14 @@
[package]
name = "iced_lazy"
version = "0.1.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "Lazy widgets for Iced"
license = "MIT"
repository = "https://github.com/iced-rs/iced"
documentation = "https://docs.rs/iced_lazy"
keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]
[features]
pure = ["iced_pure"]
@ -10,10 +17,10 @@ pure = ["iced_pure"]
ouroboros = "0.13"
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_pure]
version = "0.1"
version = "0.2"
path = "../pure"
optional = true

View file

@ -1,6 +1,6 @@
[package]
name = "iced_native"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A renderer-agnostic library for native GUIs"
@ -16,14 +16,14 @@ unicode-segmentation = "1.6"
num-traits = "0.2"
[dependencies.iced_core]
version = "0.4"
version = "0.5"
path = "../core"
[dependencies.iced_futures]
version = "0.3"
version = "0.4"
path = "../futures"
features = ["thread-pool"]
[dependencies.iced_style]
version = "0.3"
version = "0.4"
path = "../style"

View file

@ -1,9 +1,15 @@
[package]
name = "iced_pure"
version = "0.1.0"
version = "0.2.0"
edition = "2021"
description = "Pure widgets for Iced"
license = "MIT"
repository = "https://github.com/iced-rs/iced"
documentation = "https://docs.rs/iced_pure"
keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]
[dependencies]
iced_native = { version = "0.4", path = "../native" }
iced_style = { version = "0.3", path = "../style" }
iced_native = { version = "0.5", path = "../native" }
iced_style = { version = "0.4", path = "../style" }
num-traits = "0.2"

View file

@ -1,6 +1,6 @@
[package]
name = "iced_style"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "The default set of styles of Iced"
@ -11,5 +11,5 @@ keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]
[dependencies.iced_core]
version = "0.4"
version = "0.5"
path = "../core"

View file

@ -1,6 +1,6 @@
[package]
name = "iced_wgpu"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A wgpu renderer for Iced"
@ -43,11 +43,11 @@ version = "1.4"
features = ["derive"]
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_graphics]
version = "0.2"
version = "0.3"
path = "../graphics"
features = ["font-fallback", "font-icons"]

View file

@ -1,11 +1,11 @@
[package]
name = "iced_winit"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A winit runtime for Iced"
license = "MIT"
repository = "https://github.com/hecrj/iced"
repository = "https://github.com/iced-rs/iced"
documentation = "https://docs.rs/iced_winit"
keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]
@ -24,15 +24,15 @@ git = "https://github.com/iced-rs/winit"
rev = "02a12380960cec2f351c09a33d6a7cc2789d96a6"
[dependencies.iced_native]
version = "0.4"
version = "0.5"
path = "../native"
[dependencies.iced_graphics]
version = "0.2"
version = "0.3"
path = "../graphics"
[dependencies.iced_futures]
version = "0.3"
version = "0.4"
path = "../futures"
[target.'cfg(target_os = "windows")'.dependencies.winapi]