Skip to content

Commit

Permalink
Merge pull request #1328 from iced-rs/release/0.4.0
Browse files Browse the repository at this point in the history
Release `0.4` — Stateless widgets, component trait, responsive views, WebGL support, and more!
  • Loading branch information
hecrj authored May 2, 2022
2 parents 5acba65 + d23026d commit b566c88
Show file tree
Hide file tree
Showing 13 changed files with 91 additions and 46 deletions.
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 <hector0193@gmail.com>"]
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 <hector0193@gmail.com>"]
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 <hector0193@gmail.com>"]
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 <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"]
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 <hector0193@gmail.com>"]
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 <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"]
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 <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"]
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 <hector0193@gmail.com>"]
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 <hector0193@gmail.com>"]
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 <hector0193@gmail.com>"]
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 <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"]
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

0 comments on commit b566c88

Please sign in to comment.