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.5 — Stabilization of stateless widgets, first-class theming, widget operations, Lazy widget, and more! #1520

Merged
merged 2 commits into from
Nov 10, 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
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,35 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Added
- __[Stabilization of stateless widgets][stateless]__ (#1393)
The old widget API has been completely replaced by stateless widgets (introduced in #1284). Alongside the new API, there are a bunch of new helper functions and macros for easily describing view logic (like `row!` and `column!`).

- __[First-class theming][theming]__ (#1362)
A complete overhaul of our styling primitives, introducing a `Theme` as a first-class concept of the library.

- __[Widget operations][operations]__ (#1399)
An abstraction that can be used to traverse (and operate on) the widget tree of an application in order to query or update some widget state.

- __[`Lazy` widget][lazy]__ (#1400)
A widget that can call some view logic lazily only when some data has changed. Thanks to @nicksenger!

- __[Linear gradient support for `Canvas`][gradient]__ (#1448)
The `Canvas` widget can draw linear gradients now. Thanks to @bungoboingo!

- __[Touch support for `Canvas`][touch]__ (#1305)
The `Canvas` widget now supports touch events. Thanks to @artursapek!

- __[`Image` and `Svg` support for `iced_glow`][image]__ (#1485)
Our OpenGL renderer now is capable of rendering both the `Image` and `Svg` widgets. Thanks to @ids1024!

[stateless]: https://github.com/iced-rs/iced/pull/1393
[theming]: https://github.com/iced-rs/iced/pull/1362
[operations]: https://github.com/iced-rs/iced/pull/1399
[lazy]: https://github.com/iced-rs/iced/pull/1400
[gradient]: https://github.com/iced-rs/iced/pull/1448
[touch]: https://github.com/iced-rs/iced/pull/1305
[image]: https://github.com/iced-rs/iced/pull/1485

## [0.4.2] - 2022-05-03
### Fixed
Expand Down
20 changes: 10 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced"
version = "0.4.2"
version = "0.5.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 @@ -91,13 +91,13 @@ members = [
]

[dependencies]
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", features = ["application"] }
iced_glutin = { version = "0.3", path = "glutin", optional = true }
iced_glow = { version = "0.3", path = "glow", optional = true }
iced_core = { version = "0.6", path = "core" }
iced_futures = { version = "0.5", path = "futures" }
iced_native = { version = "0.6", path = "native" }
iced_graphics = { version = "0.4", path = "graphics" }
iced_winit = { version = "0.5", path = "winit", features = ["application"] }
iced_glutin = { version = "0.4", path = "glutin", optional = true }
iced_glow = { version = "0.4", path = "glow", optional = true }
thiserror = "1.0"

[dependencies.image_rs]
Expand All @@ -106,10 +106,10 @@ package = "image"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
iced_wgpu = { version = "0.5", path = "wgpu", optional = true }
iced_wgpu = { version = "0.6", path = "wgpu", optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
iced_wgpu = { version = "0.5", path = "wgpu", features = ["webgl"], optional = true }
iced_wgpu = { version = "0.6", 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.5.0"
version = "0.6.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.4.1"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "Commands, subscriptions, and runtimes for Iced"
Expand Down
6 changes: 3 additions & 3 deletions glow/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_glow"
version = "0.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A glow renderer for iced"
Expand Down Expand Up @@ -34,11 +34,11 @@ bytemuck = "1.4"
log = "0.4"

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"

[dependencies.iced_graphics]
version = "0.3"
version = "0.4"
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.3.0"
version = "0.4.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A glutin runtime for Iced"
Expand All @@ -23,15 +23,15 @@ git = "https://github.com/iced-rs/glutin"
rev = "da8d291486b4c9bec12487a46c119c4b1d386abf"

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"

[dependencies.iced_winit]
version = "0.4"
version = "0.5"
path = "../winit"
features = ["application"]

[dependencies.iced_graphics]
version = "0.3"
version = "0.4"
path = "../graphics"
features = ["opengl"]
6 changes: 3 additions & 3 deletions graphics/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_graphics"
version = "0.3.1"
version = "0.4.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"
Expand Down Expand Up @@ -44,11 +44,11 @@ version = "1.4"
features = ["derive"]

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"

[dependencies.iced_style]
version = "0.4"
version = "0.5"
path = "../style"

[dependencies.lyon]
Expand Down
4 changes: 2 additions & 2 deletions lazy/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_lazy"
version = "0.1.1"
version = "0.2.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "Lazy widgets for Iced"
Expand All @@ -14,5 +14,5 @@ categories = ["gui"]
ouroboros = "0.13"

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"
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.5.1"
version = "0.6.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.5"
version = "0.6"
path = "../core"

[dependencies.iced_futures]
version = "0.4"
version = "0.5"
path = "../futures"
features = ["thread-pool"]

[dependencies.iced_style]
version = "0.4"
version = "0.5"
path = "../style"
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.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "The default set of styles of Iced"
Expand All @@ -11,7 +11,7 @@ keywords = ["gui", "ui", "graphics", "interface", "widgets"]
categories = ["gui"]

[dependencies.iced_core]
version = "0.5"
version = "0.6"
path = "../core"
features = ["palette"]

Expand Down
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.5.1"
version = "0.6.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A wgpu renderer for Iced"
Expand Down Expand Up @@ -42,11 +42,11 @@ version = "1.9"
features = ["derive"]

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"

[dependencies.iced_graphics]
version = "0.3"
version = "0.4"
path = "../graphics"
features = ["font-fallback", "font-icons"]

Expand Down
8 changes: 4 additions & 4 deletions winit/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "iced_winit"
version = "0.4.0"
version = "0.5.0"
authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"]
edition = "2021"
description = "A winit runtime for Iced"
Expand All @@ -26,15 +26,15 @@ git = "https://github.com/iced-rs/winit.git"
rev = "940457522e9fb9f5dac228b0ecfafe0138b4048c"

[dependencies.iced_native]
version = "0.5"
version = "0.6"
path = "../native"

[dependencies.iced_graphics]
version = "0.3"
version = "0.4"
path = "../graphics"

[dependencies.iced_futures]
version = "0.4"
version = "0.5"
path = "../futures"

[target.'cfg(target_os = "windows")'.dependencies.winapi]
Expand Down