Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.4 — Stateless widgets, component trait, responsive views, WebGL support, and more! #1328

Merged
merged 2 commits into from
May 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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!)
Expand Down Expand Up @@ -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
Expand Down
22 changes: 11 additions & 11 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "A cross-platform GUI library inspired by Elm"
Expand Down Expand Up @@ -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"]
Expand Down
2 changes: 1 addition & 1 deletion core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_core"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "The essential concepts of Iced"
Expand Down
2 changes: 1 addition & 1 deletion futures/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_futures"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "Commands, subscriptions, and runtimes for Iced"
Expand Down
8 changes: 4 additions & 4 deletions glow/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "iced_glow"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
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"]
Expand All @@ -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"]

Expand Down
8 changes: 4 additions & 4 deletions glutin/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_glutin"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "A glutin runtime for Iced"
Expand All @@ -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"]
10 changes: 5 additions & 5 deletions graphics/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "iced_graphics"
version = "0.2.0"
version = "0.3.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
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"]
Expand All @@ -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

Expand Down
11 changes: 9 additions & 2 deletions lazy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,14 @@
[package]
name = "iced_lazy"
version = "0.1.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
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"]
Expand All @@ -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
8 changes: 4 additions & 4 deletions native/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_native"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "A renderer-agnostic library for native GUIs"
Expand All @@ -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"
12 changes: 9 additions & 3 deletions pure/Cargo.toml
Original file line number Diff line number Diff line change
@@ -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"
4 changes: 2 additions & 2 deletions style/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_style"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "The default set of styles of Iced"
Expand All @@ -11,5 +11,5 @@ keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]

[dependencies.iced_core]
version = "0.4"
version = "0.5"
path = "../core"
6 changes: 3 additions & 3 deletions wgpu/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_wgpu"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
edition = "2021"
description = "A wgpu renderer for Iced"
Expand Down Expand Up @@ -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"]

Expand Down
10 changes: 5 additions & 5 deletions winit/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[package]
name = "iced_winit"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <[email protected]>"]
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"]
Expand All @@ -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]
Expand Down