Changelog History
-
v0.5.0 Changes
November 10, 2022โ Added
Stabilization of stateless widgets (#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 (likerow!
andcolumn!
).First-class theming (#1362)
A complete overhaul of our styling primitives, introducing aTheme
as a first-class concept of the library.Widget 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 (#1400)
A widget that can call some view logic lazily only when some data has changed. Thanks to @nicksenger!๐ Linear gradient support for
Canvas
(#1448)
TheCanvas
widget can draw linear gradients now. Thanks to @bungoboingo!๐ Touch support for
Canvas
(#1305)
TheCanvas
widget now supports touch events. Thanks to @artursapek!๐
Image
andSvg
support foriced_glow
(#1485)
Our OpenGL renderer now is capable of rendering both theImage
andSvg
widgets. Thanks to @ids1024!
-
v0.4.2 Changes
May 03, 2022๐ Fixed
Padding
type not exposed iniced
.
-
v0.4.1 Changes
May 02, 2022๐ Fixed
- ๐ Version number in
README
.
- ๐ Version number in
-
v0.4.0 Changes
May 02, 2022โ Added
Stateless widgets (#1284)
A brand new widget API that removes the need to keep track of internal widget state. No morebutton::State
in your application!Component
trait (#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 (#1096)
Applications can now be rendered into an HTMLcanvas
when targeting Wasm by leveraging the WebGL support inwgpu
. Thanks to @pacmancoder and @kaimast!๐ Support for Raspberry Pis and older devices (#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 foraarch64
andarmv7
to easily cross-compileiced
applications and target Raspberry Pis. Thanks to @derezzedex!Simpler
Renderer
APIs (#1110)
The surface of theRenderer
APIs of the library has been considerably reduced. Instead of aRenderer
trait per widget, now there are only 3 traits that are reused by all the widgets.
๐ฑ [responsive]: https://github.com/iced-rs/iced/pull/1193
-
v0.3.0 Changes
March 31, 2021โ Added
- ๐ Touch support. #57 (thanks to @simlay and @discordance!)
- Clipboard write access for
image::Viewer
widget. It allows panning and scaling of an image. [#319] (thanks to @tarkah!)Tooltip
widget. It annotates content with some text on mouse hover. [#465] (thanks to @yusdacra!)- ๐ Support for the
smol
async runtime. [#699] (thanks to @JayceFayne!) - ๐ Support for graceful exiting when using the
Application
trait. #804 - Image format features in [
iced_wgpu
] to reduce code bloat. [#392] (thanks to @unrelentingtech!) Focused
andUnfocused
variant towindow::Event
. [#701] (thanks to @cossonleo!)- ๐ง
WGPU_BACKEND
environment variable to configure the internal graphics backend oficed_wgpu
. [#789] (thanks to @Cupnfish!)
๐ Changed
- ๐ The
TitleBar
of aPaneGrid
now supports generic elements. [#657] (thanks to @clarkmoody!) - ๐ The
Error
type now implementsSend
andSync
. [#719] (thanks to @taiki-e!) - ๐
The
Style
types iniced_style
now implementClone
andCopy
. [#720] (thanks to @taiki-e!) - โก๏ธ The following dependencies have been updated:
- The following examples were improved:
download_progress
now showcases multiple file downloads at once. [#283] (thanks to @Folyd!)solar_system
uses the newrand
API. [#760] (thanks to @TriedAngle!)
๐ Fixed
-
v0.2.0 Changes
November 26, 2020โ Added
Canvas
interactivity (#325)
A trait-based approach to react to mouse and keyboard interactions in theCanvas
widget.iced_graphics
subcrate (#354)
A backend-agnostic graphics subcrate that can be leveraged to build new renderers.OpenGL renderer (#354)
An OpenGL renderer powered byiced_graphics
,glow
, andglutin
. It is an alternative to the defaultwgpu
renderer.๐ Overlay support (#444)
Basic support for superpositioning interactive widgets on top of other widgets.Faster event loop (#597)
The event loop now takes advantage of the data dependencies in The Elm Architecture and leverages the borrow checker to keep the widget tree alive between iterations, avoiding unnecessary rebuilds.Event capturing (#614)
The runtime now can tell whether a widget has handled an event or not, easing integration with existing applications.PickList
widget (#444)
A drop-down selector widget built on top of the new overlay support.QRCode
widget (#622)
A widget that displays a QR code, powered by [theqrcode
crate].
๐ [the
qrcode
crate]: https://docs.rs/qrcode/0.12.0/qrcode/ -
v0.1.1 Changes
April 15, 2020โ Added
- 0๏ธโฃ
Settings::with_flags
to easily initialize some default settings with flags. #266 - 0๏ธโฃ
Default
implementation forcanvas::layer::Cache
. #267 - ๐
Ctrl + Del
support forTextInput
. #268 - Helper methods in
canvas::Path
to easily draw lines, rectangles, and circles. #293 From<Color>
implementation forcanvas::Fill
. #293From<String>
implementation forcanvas::Text
. #293From<&str>
implementation forcanvas::Text
. #293
๐ Changed
new
method ofRadio
andCheckbox
now take a genericInto<String>
for the label. #260Frame::fill
now takes a genericInto<canvas::Fill>
. #293Frame::stroke
now takes a genericInto<canvas::Stroke>
. #293Frame::fill_text
now takes a genericInto<canvas::Text>
. #293
๐ Fixed
- ๐ Feature flags not being referenced in documentation. #259
- Crash in some graphics drivers when displaying an empty
Canvas
. #278 - Text measuring when spaces where present at the beginning of a
TextInput
value. #279 TextInput
producing aClip
primitive when unnecessary. #279- Alignment of
Text
primitive iniced_wgpu
. #281 CursorEntered
andCursorLeft
not being generated. #289
โ Removed
- Unnecessary
'static
lifetimes inRenderer
bounds. #290
- 0๏ธโฃ
-
v0.1.0 Changes
April 02, 2020โ Added
Event subscriptions (#122)
A declarative way to listen to external events asynchronously by leveraging [streams].Custom styling (#146)
A simple, trait-based approach for customizing the appearance of different widgets.Canvas
widget (#193)
A widget for drawing 2D graphics with an interface inspired by the [Web Canvas API] and powered bylyon
.PaneGrid
widget (#224)
A widget that dynamically organizes layout by splitting panes that can be resized and drag and dropped.Svg
widget (#111)
A widget that renders vector graphics on top ofresvg
andraqote
. Thanks to @Maldela!ProgressBar
widget (#141)
A widget to notify progress of asynchronous tasks to your users. Thanks to @Songtronix!๐ง [Configurable futures executor] (#164)
Support for pluggingtokio
,async-std
,wasm-bindgen-futures
, or your own custom futures executor to an application.Compatibility with existing
wgpu
projects (#183)
A bunch of improvements to the flexibility oficed_wgpu
to allow integration in existing codebases.Text selection for
TextInput
(#202)
Thanks to @FabianLars and @Finnerale!Texture atlas for
iced_wgpu
(#154)
An atlas on top ofguillotiere
for batching draw calls. Thanks to @Maldela!
๐ง [Configurable futures executor]: https://github.com/iced-rs/iced/pull/164
๐ [Web Canvas API]: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API ๐ [streams]: https://docs.rs/futures/0.3.4/futures/stream/index.html
-
v0.1.0-beta Changes
November 25, 2019๐ Changed
- The old
iced
becomesiced_native
. The currenticed
crate turns into a batteries-included, cross-platform GUI library.
- The old
-
v0.1.0-alpha Changes
September 05, 2019โ Added
- ๐ First release! :tada:
๐ [Unreleased]: https://github.com/iced-rs/iced/compare/0.5.0...HEAD
๐ [0.1.0-alpha]: https://github.com/iced-rs/iced/releases/tag/0.1.0-alpha