All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.13.1 - 2024-09-19
- Some
From
trait implementations fortext_input::Id
. #2582 - Custom
Executor
support forApplication
andDaemon
. #2580 rust-version
metadata toCargo.toml
. #2579- Widget examples to API reference. #2587
- Inverted scrolling direction with trackpad in
scrollable
. #2583 scrollable
transactions whenon_scroll
is not set. #2584- Incorrect text color styling in
text_editor
widget. #2586
Many thanks to...
- @dcampbell24
- @lufte
- @mtkennerly
0.13.0 - 2024-09-18
- Introductory chapters to the official guide book.
- Pocket guide in API reference.
Program
API. #2331Task
API. #2463Daemon
API and Shell Runtime Unification. #2469rich_text
andmarkdown
widgets. #2508stack
widget. #2405hover
widget. #2408row::Wrapping
widget. #2539text
macro helper. #2338text::Wrapping
support. #2279- Functional widget styling. #2312
- Closure-based widget styling. #2326
- Class-based Theming. #2350
- Type-Driven Renderer Fallback. #2351
- Background styling to
rich_text
widget. #2516 - Underline support for
rich_text
. #2526 - Strikethrough support for
rich_text
. #2528 - Abortable
Task
. #2496 abort_on_drop
totask::Handle
. #2503Ferra
theme. #2329auto-detect-theme
feature. #2343- Custom key binding support for
text_editor
. #2522 align_x
fortext_input
widget. #2535center
widget helper. #2423- Rotation support for
image
andsvg
widgets. #2334 - Dynamic
opacity
support forimage
andsvg
. #2424 - Scroll transactions for
scrollable
widget. #2401 physical_key
andmodified_key
tokeyboard::Event
. #2576fetch_position
command inwindow
module. #2280filter_method
property forimage::Viewer
widget. #2324- Support for pre-multiplied alpha
wgpu
composite mode. #2341 text_size
andline_height
properties fortext_editor
widget. #2358is_focused
method fortext_editor::State
. #2386canvas::Cache
Grouping. #2415ICED_PRESENT_MODE
env var to pick awgpu::PresentMode
. #2428SpecificWith
variant towindow::Position
. #2435scale_factor
field towindow::Screenshot
. #2449- Styling support for
overlay::Menu
ofpick_list
widget. #2457 window::Id
inEvent
subscriptions. #2456FromIterator
implementation forrow
andcolumn
. #2460content_fit
forimage::viewer
widget. #2330Display
implementation forRadians
. #2446- Helper methods for
window::Settings
inApplication
. #2470 Copy
implementation forcanvas::Fill
andcanvas::Stroke
. #2475- Clarification of
Border
alignment forQuad
. #2485 - "Select All" functionality on
Ctrl+A
totext_editor
. #2321 stream::try_channel
helper. #2497iced
widget helper to display the iced logo ☄️. #2498align_x
andalign_y
helpers toscrollable
. #2499- Built-in text styles for each
Palette
color. #2500 - Embedded
Scrollbar
support forscrollable
. #2269 on_press_with
method forbutton
. #2502resize_events
subscription towindow
module. #2505Link
support torich_text
widget. #2512image
andsvg
support forcanvas
widget. #2537Compact
variant forpane_grid::Controls
. #2555image-without-codecs
feature flag. #2244container::background
styling helper. #2261undecorated_shadow
window setting for Windows. #2285- Tasks for setting mouse passthrough. #2284
*_maybe
helpers fortext_input
widget. #2390- Wasm support for
download_progress
example. #2419 scrollable::scroll_by
widget operation. #2436- Enhancements to
slider
widget styling. #2444 on_scroll
handler tomouse_area
widget. #2450stroke_rectangle
method tocanvas::Frame
. #2473override_redirect
setting for X11 windows. #2476- Disabled state support for
toggler
widget. #2478 Color::parse
helper for parsing color strings. #2486rounded_rectangle
method tocanvas::Path
. #2491width
method totext_editor
widget. #2513on_open
handler tocombo_box
widget. #2534- Additional
mouse::Interaction
cursors. #2551 - Scroll wheel handling in
slider
widget. #2565
- Use a
StagingBelt
iniced_wgpu
for regular buffer uploads. #2357 - Use generic
Content
inText
to avoid reallocation infill_text
. #2360 - Use
Iterator::size_hint
to initializeColumn
andRow
capacity. #2362 - Specialize
widget::text
helper. #2363 - Use built-in
[lints]
table inCargo.toml
. #2377 - Target
#iced
container by default on Wasm. #2342 - Improved architecture for
iced_wgpu
andiced_tiny_skia
. #2382 - Make image
Cache
eviction strategy less aggressive iniced_wgpu
. #2403 - Retain caches in
iced_wgpu
as long asRc
values are alive. #2409 - Use
bytes
crate forimage
widget. #2356 - Update
winit
to0.30
. #2427 - Reuse
glyphon::Pipeline
state iniced_wgpu
. #2430 - Ask for explicit
Length
incenter_*
methods. #2441 - Hide internal
Task
constructors. #2492 - Hide
Subscription
internals. #2493 - Improved
view
ergonomics. #2504 - Update
cosmic-text
andresvg
. #2416 - Snap
Quad
lines to the pixel grid iniced_wgpu
. #2531 - Update
web-sys
to0.3.69
. #2507 - Allow disabled
TextInput
to still be interacted with. #2262 - Enable horizontal scrolling without shift modifier for
srollable
widget. #2392 - Add
mouse::Button
tomouse::Click
. #2414 - Notify
scrollable::Viewport
changes. #2438 - Improved documentation of
Component
state management. #2556
- Fix
block_on
iniced_wgpu
hanging Wasm builds. #2313 - Private
PaneGrid
style fields. #2316 - Some documentation typos. #2317
- Blurry input caret with non-integral scaling. #2320
- Scrollbar stuck in a
scrollable
under some circumstances. #2322 - Broken
wgpu
examples link in issue template. #2327 - Empty
wgpu
draw calls inimage
pipeline. #2344 - Layout invalidation for
Responsive
widget. #2345 - Incorrect shadows on quads with rounded corners. #2354
- Empty menu overlay on
combo_box
. #2364 - Copy / cut vulnerability in a secure
TextInput
. #2366 - Inadequate readability / contrast for built-in themes. #2376
- Fix
pkg-config
typo inDEPENDENCIES.md
. #2379 - Unbounded memory consumption by
iced_winit::Proxy
. #2389 - Typo in
icon::Error
message. #2393 - Nested scrollables capturing all scroll events. #2397
- Content capturing scrollbar events in a
scrollable
. #2406 - Out of bounds caret and overflow when scrolling in
text_editor
. #2407 - Missing
derive(Default)
in overview code snippet. #2412 image::Viewer
triggering grab from outside the widget. #2420- Different windows fighting over shared
image::Cache
. #2425 - Images not aligned to the (logical) pixel grid in
iced_wgpu
. #2440 - Incorrect local time in
clock
example under Unix systems. #2421 ⌘ + ←
and⌘ + →
behavior fortext_input
on macOS. #2315- Wayland packages in
DEPENDENCIES.md
. #2465 - Typo in documentation. #2487
- Extraneous comment in
scrollable
module. #2488 - Top layer in
hover
widget hiding when focused. #2544 - Out of bounds text in
text_editor
widget. #2536 - Segfault on Wayland when closing the app. #2547
lazy
feature flag sometimes not present in documentation. #2289- Border of
progress_bar
widget being rendered below the active bar. #2443 radii
typo iniced_wgpu
shader. #2484- Incorrect priority of
Binding::Delete
intext_editor
. #2514 - Division by zero in
multitouch
example. #2517 - Invisible text in
svg
widget. #2560 wasm32
deployments not displaying anything. #2574- Unnecessary COM initialization on Windows. #2578
- Unnecessary struct from
download_progress
example. #2380 - Out of date comment from
custom_widget
example. #2549 Clone
bound forgraphics::Cache::clear
. #2575
Many thanks to...
- @Aaron-McGuire
- @airstrike
- @alex-ds13
- @alliby
- @Andrew-Schwartz
- @ayeniswe
- @B0ney
- @Bajix
- @blazra
- @Brady-Simon
- @breynard0
- @bungoboingo
- @casperstorm
- @Davidster
- @derezzedex
- @DKolter
- @dtoniolo
- @dtzxporter
- @fenhl
- @Gigas002
- @gintsgints
- @henrispriet
- @IsaacMarovitz
- @ivanceras
- @Jinderamarak
- @JL710
- @jquesada2016
- @JustSoup312
- @kiedtl
- @kmoon2437
- @Koranir
- @lufte
- @LuisLiraC
- @m4rch3n1ng
- @meithecatte
- @mtkennerly
- @myuujiku
- @n1ght-hunter
- @nrjais
- @PgBiel
- @PolyMeilex
- @rustrover
- @ryankopf
- @saihaze
- @shartrec
- @skygrango
- @SolidStateDj
- @sundaram123krishnan
- @tarkah
- @vladh
- @WailAbou
- @wiiznokes
- @woelfman
- @Zaubentrucker
0.12.1 - 2024-02-22
extend
andfrom_vec
methods forColumn
andRow
. #2264PartialOrd
,Ord
, andHash
implementations forkeyboard::Modifiers
. #2270clipboard
module inadvanced
module. #2272- Default
disabled
style forcheckbox
andhovered
style forSvg
. #2273 From<u16>
andFrom<i32>
implementations forborder::Radius
. #2274size_hint
method forComponent
trait. #2275
- Black images when using OpenGL backend in
iced_wgpu
. #2259 - Documentation for
horizontal_space
andvertical_space
helpers. #2265 - WebAssembly platform. #2271
- Decouple
Key
fromkeyboard::Modifiers
and apply them totext
inKeyboardInput
. #2238 - Text insertion not being prioritized in
TextInput
andTextEditor
. #2278 iced_tiny_skia
clipping line strokes. #2282
Many thanks to...
- @PolyMeilex
- @rizzen-yazston
- @wash2
0.12.0 - 2024-02-15
- Multi-window support. #1964
TextEditor
widget (or multi-line text input). #2123Shader
widget. #2085- Shadows. #1882
- Vectorial text for
Canvas
. #2204 - Layout consistency. #2192
- Explicit text caching. #2058
- Gradients in Oklab color space. #2055
Themer
widget. #2209Transform
primitive. #2120- Cut functionality for
TextEditor
. #2215 - Primary clipboard support. #2240
- Disabled state for
Checkbox
. #2109 skip_taskbar
window setting for Windows. #2211fetch_maximized
andfetch_minimized
commands inwindow
. #2189run_with_handle
command inwindow
. #2200show_system_menu
command inwindow
. #2243text_shaping
method forTooltip
. #2172interaction
method forMouseArea
. #2207hovered
styling forSvg
widget. #2163height
method forTextEditor
. #2221- Customizable style for
TextEditor
. #2159 - Customizable style for
QRCode
. #2229 - Border width styling for
Toggler
. #2219 RawText
variant forPrimitive
iniced_graphics
. #2158Stream
support forCommand
. #2150- Access to bounds/content bounds from a
Scrollable
viewport. #2072 Frame::scale_nonuniform
method. #2070theme::Custom::with_fn
to generate completely custom themes. #2067style
attribute forFont
. #2041- Texture filtering options for
Image
. #1894 default
andshift_step
methods forslider
widgets. #2100Custom
variant tocommand::Action
. #2146- Mouse movement events for
MouseArea
. #2147 - Dracula, Nord, Solarized, and Gruvbox variants for
Theme
. #2170 - Catppuccin, Tokyo Night, Kanagawa, Moonfly, Nightfly and Oxocarbon variants for
Theme
. #2233 From<T> where T: Into<PathBuf>
forsvg::Handle
. #2235on_open
andon_close
handlers forPickList
. #2174- Support for generic
Element
inTooltip
. #2228 - Container and
gap
styling forScrollable
. #2239 - Use
Borrow
for bothoptions
andselected
in PickList. #2251 clip
property forContainer
,Column
,Row
, andButton
. #2252
- Enable WebGPU backend in
wgpu
by default instead of WebGL. #2068 - Update
glyphon
to0.4
. #2203 - Require
Send
on stored pipelines. #2197 - Update
wgpu
to0.19
,glyphon
to0.5
,softbuffer
to0.4
,window-clipboard
to0.4
, andraw-window-handle
to0.6
. #2191 - Update
winit
to0.29
. #2169 - Provide actual bounds to
Shader
primitives. #2149 - Deny warnings in
test
workflow. #2135 - Update
wgpu
to0.18
andcosmic-text
to0.10
. #2122 - Compute vertex positions in the shader. #2099
- Migrate twox-hash -> xxhash-rust and switch to Xxh3 for better performance. #2080
- Add
keyboard
subscriptions and renamesubscription::events
toevent::listen
. #2073 - Use workspace dependencies and package inheritance. #2069
- Update
wgpu
to0.17
. #2065 - Support automatic style type casting for
Button
. #2046 - Make
with_clip
andwith_save
inFrame
able to return the data of the provided closure. #1994 - Use
Radians
for angle fields inArc
andarc::Elliptical
. #2027 - Assert dimensions of quads are normal in
iced_tiny_skia
. #2082 - Remove
position
fromoverlay::Element
. #2226 - Add a capacity limit to the
GlyphCache
iniced_tiny_skia
. #2210 - Use pointer equality to speed up
PartialEq
implementation ofimage::Bytes
. #2220 - Update
bitflags
,glam
,kurbo
,ouroboros
,qrcode
, andsysinfo
dependencies. #2227 - Improve some widget ergonomics. #2253
- Clipping of
TextInput
selection. #2199 Paragraph::grapheme_position
when ligatures are present. #2196- Docs to include missing feature tags. #2184
PaneGrid
click interaction on the top edge. #2168iced_wgpu
not rendering text in SVGs. #2161- Text clipping. #2154
- Text transparency in
iced_tiny_skia
. #2250 - Layout invalidation when
Tooltip
changesoverlay
. #2143 Overlay
composition. #2142- Incorrect GIF for the
progress_bar
example. #2141 - Standalone compilation of
iced_renderer
crate. #2134 - Maximize window button enabled when
Settings::resizable
isfalse
. #2124 - Width of horizontal scrollbar in
Scrollable
. #2084 ComboBox
widget panic on wasm. #2078- Majority of unresolved documentation links. #2077
- Web examples not running. #2076
- GIFs and video examples broken. #2074
@interpolate(flat)
not used as attribute. #2071Checkbox
andToggler
hidden behind scrollbar instyling
example. #2062- Absolute
LineHeight
sometimes being0
. #2059 - Paste while holding ALT. #2006
Command<T>::perform
to return aCommand<T>
. #2000convert_text
not called onSvg
trees. #1908- Unused
backend.rs
file in renderer crate. #2182 - Some
clippy::pedantic
lints. #2096 - Some minor clippy fixes. #2092
- Clippy docs keyword quoting. #2091
- Clippy map transformations. #2090
- Inline format args for ease of reading. #2089
- Stuck scrolling in
Scrollable
with touch events. #1940 - Incorrect unit in
system::Information
. #2223 size_hint
not being called fromelement::Map
. #2224size_hint
not being called fromelement::Explain
. #2225- Slow touch scrolling for
TextEditor
widget. #2140 Subscription::map
using unreliable function pointer hash to identify mappers. #2237- Missing feature flag docs for
time::every
. #2188 - Event loop not being resumed on Windows while resizing. #2214
- Alpha mode misconfiguration in
iced_wgpu
. #2231 - Outdated documentation leading to a dead link. #2232
Many thanks to...
- @akshayr-mecha
- @alec-deason
- @arslee07
- @AustinMReppert
- @avsaase
- @blazra
- @brianch
- @bungoboingo
- @Calastrophe
- @casperstorm
- @cfrenette
- @clarkmoody
- @Davidster
- @Decodetalkers
- @derezzedex
- @DoomDuck
- @dtzxporter
- @Dworv
- @fogarecious
- @GyulyVGC
- @hicaru
- @ids1024
- @Imberflur
- @jhannyj
- @jhff
- @jim-ec
- @joshuamegnauth54
- @jpttrssn
- @julianbraha
- @Koranir
- @lufte
- @matze
- @MichalLebeda
- @MoSal
- @MrAntix
- @nicksenger
- @Nisatru
- @nyurik
- @Remmirad
- @ripytide
- @snaggen
- @Tahinli
- @tarkah
- @tzemanovic
- @varbhat
- @VAWVAW
- @william-shere
- @wyatt-herkamp
0.10.0 - 2023-07-28
- Text shaping, font fallback, and
iced_wgpu
overhaul. #1697 - Software renderer, runtime renderer fallback, and core consolidation. #1748
- Incremental rendering for
iced_tiny_skia
. #1811 - Configurable
LineHeight
support for text widgets. #1828 text::Shaping
strategy selection. #1822- Subpixel glyph positioning and layout linearity. #1921
- Background gradients. #1846
- Offscreen rendering and screenshots. #1845
- Nested overlays. #1719
- Cursor availability. #1904
- Backend-specific primitives. #1932
ComboBox
widget. #1954web-colors
feature flag to enable "sRGB linear" blending. #1888PaneGrid
logic to split panes by drag & drop. #1856PaneGrid
logic to drag & drop panes to the edges. #1865- Type-safe
Scrollable
direction. #1878 Scrollable
alignment. #1912- Helpers to change viewport alignment of a
Scrollable
. #1953 scroll_to
widget operation. #1796scroll_to
helper. #1804visible_bounds
widget operation forContainer
. #1971- Command to fetch window size. #1927
- Conversion support from
Fn
trait to custom theme. #1861 - Configurable border radii on relevant widgets. #1869
border_radius
styling toSlider
rail. #1892application_id
inPlatformSpecific
settings for Linux. #1963- Aliased entries in
text::Cache
. #1934 - Text cache modes. #1938
operate
method forprogram::State
. #1913Viewport
argument toWidget::on_event
. #1956- Nix instructions to
DEPENDENCIES.md
. #1859 - Loading spinners example. #1902
- Workflow that verifies
CHANGELOG
is always up-to-date. #1970 - Outdated mentions of
iced_native
inREADME
. #1979
- Updated
wgpu
to0.16
. #1807 - Updated
glam
to0.24
. #1840 - Updated
winit
to0.28
. #1738 - Updated
palette
to0.7
. #1875 - Updated
ouroboros
to0.17
. #1925 - Updated
resvg
to0.35
andtiny-skia
to0.10
. #1907 - Changed
mouse::Button::Other
to takeu16
instead ofu8
. #1797 - Changed
subscription::channel
to take aFnOnce
non-Sync
closure. #1917 - Removed
Copy
requirement for textStyleSheet::Style
. #1814 - Removed
min_width
of 1 from scrollbar & scroller forScrollable
. #1844 - Used
Widget::overlay
forTooltip
. #1692
Responsive
layout not invalidated when shell layout is invalidated. #1799Responsive
layout not invalidated when size changes without aview
call. #1890- Broken link in
ROADMAP.md
. #1815 bounds
of selected option background inMenu
. #1831- Border radius logic in
iced_tiny_skia
. #1842 Svg
filtered color not premultiplied. #1841- Race condition when growing an
image::Atlas
. #1847 - Clearing damaged surface with background color in
iced_tiny_skia
. #1854 - Private gradient pack logic for
iced_graphics::Gradient
. #1871 - Unordered quads of different background types. #1873
- Panic in
glyphon
when glyphs are missing. #1883 - Empty scissor rectangle in
iced_wgpu::triangle
pipeline. #1893 Scrollable
scrolling when mouse not over it. #1910translation
inlayout
ofNested
overlay. #1924- Build when using vendored dependencies. #1928
- Minor grammar mistake. #1931
- Quad rendering including border only inside of the bounds. #1843
- Redraw requests not being forwarded for
Component
overlays. #1949 - Blinking input cursor when window loses focus. #1955
BorderRadius
not exposed in root crate. #1972- Outdated
ROADMAP
. #1958
- Keybinds to cycle
ComboBox
options. #1991 Tooltip
overlay position insideScrollable
. #1978iced_wgpu
freezing on empty layers. #1996image::Viewer
reacting to any scroll event. #1998TextInput
pasting text whenAlt
key is pressed. #2006- Broken link to old
iced_native
crate inREADME
. #2024 Rectangle::contains
being non-exclusive. #2017- Documentation for
Arc
andarc::Elliptical
. #2008
Many thanks to...
- @a1phyr
- @alec-deason
- @AustinMReppert
- @bbb651
- @bungoboingo
- @casperstorm
- @clarkmoody
- @Davidster
- @Drakulix
- @genusistimelord
- @GyulyVGC
- @ids1024
- @jhff
- @JonathanLindsey
- @kr105
- @marienz
- @malramsay64
- @nicksenger
- @nicoburns
- @NyxAlexandra
- @Redhawk18
- @RGBCube
- @rs017991
- @tarkah
- @thunderstorm010
- @ua-kxie
- @wash2
- @wiiznokes
0.9.0 - 2023-04-13
MouseArea
widget. #1594channel
helper insubscription
. #1786- Configurable
width
forScrollable
. #1749 - Support for disabled
TextInput
. #1744 - Platform-specific window settings. #1730
- Left and right colors for sliders. #1643
- Icon for
TextInput
. #1702 - Mouse over scrollbar flag for
scrollable::StyleSheet
. #1669 - Better example for
Radio
. #1762
wgpu
has been updated to0.15
iniced_wgpu
. #1789resvg
has been updated to0.29
iniced_graphics
. #1733subscription::run
now takes a function pointer. #1723
- Redundant
on_scroll
messages forScrollable
. #1788 - Outdated items in
ROADMAP.md
#1782 - Colons in shader labels causing compilation issues in
iced_wgpu
. #1779 - Re-expose winit features for window servers in Linux. #1777
- Replacement of application node in Wasm. #1765
clippy
lints for Rust 1.68. #1755- Unnecessary
Component
rebuilds. #1754 - Incorrect package name in checkbox example docs. #1750
- Fullscreen only working on primary monitor. #1742
Padding::fit
on irregular values for an axis. #1734Debug
implementation ofFont
displaying its bytes. #1731- Sliders bleeding over their rail. #1721
Fill
variant forAlignment
. #1735
Many thanks to...
- @ahoneybun
- @bq-wrongway
- @bungoboingo
- @casperstorm
- @Davidster
- @ElhamAryanpur
- @FinnPerry
- @GyulyVGC
- @JungleTryne
- @lupd
- @mmstick
- @nicksenger
- @Night-Hunter-NF
- @tarkah
- @traxys
- @Xaeroxe
0.8.0 - 2023-02-18
- Generic pixel units. #1711
custom
method towidget::Operation
trait. #1649Group
overlay. #1655- Standalone
draw
helper forimage
. #1682 - Dynamic
pick_list::Handle
. #1675 Id
support forContainer
. #1695- Custom
Checkbox
icon support. #1707 window
action to change always on top setting. #1587window
action to fetch its unique identifier. #1589
- Annotated
Command
andSubscription
with#[must_use]
. #1676 - Replaced
Fn
withFnOnce
incanvas::Cache::draw
. #1694 - Used
[default]
on enum ingame_of_life
example. #1660 - Made
QRCode
hide when data is empty inqr_code
example. #1665 - Replaced
Cow
withBytes
inimage
to accept any kind of data that implementsAsRef<[u8]>
. #1551
- Blank window on application startup. #1698
- Off-by-one pixel error on
pick_list
width. #1679 - Missing
text_input
implementation inoperation::Map
. #1678 - Widget-driven animations for
Component
. #1685 - Layout translation in
overlay::Group
. #1686 - Missing
is_over
implementation for overlays oficed_lazy
widgets. #1699 - Panic when overlay event processing removes overlay. #1700
- Panic when using operations with components in certain cases. #1701
TextInput
width when using padding. #1706iced_glow
crash on some hardware. #1703- Height of
overlay::Menu
. #1714 - Size of images in
README
. #1659 - New
clippy
lints. #1681
Many thanks to...
- @13r0ck
- @bungoboingo
- @casperstorm
- @frey
- @greatest-ape
- @ids1024
- @Jedsek
- @nicksenger
- @Night-Hunter-NF
- @sdroege
- @Sn-Kinos
- @sushigiri
- @tarkah
0.7.0 - 2023-01-14
- Widget-driven animations. #1647
- Multidirectional scrolling support for
Scrollable
. #1550 VerticalSlider
widget. #1596Shift+Click
text selection support inTextInput
. #1622- Profiling support with the
chrome-trace
feature. #1565 - Customization of the handle of a
PickList
. #1562 window
action to request user attention. #1584window
action to gain focus. #1585window
action to toggle decorations. #1588Copy
implementation forgradient::Location
. #1636
- Replaced
Application::should_exit
with awindow::close
action. #1606 - Made
focusable::Count
fields public. #1635 - Added
Dependency
argument to the closure ofLazy
. #1646 - Switched arguments order of
Toggler::new
for consistency. #1616 - Switched arguments order of
Checkbox::new
for consistency. #1633
- Compilation error in
iced_glow
when theimage
feature is enabled butsvg
isn't. #1593 - Widget operations for
Responsive
widget. #1615 - Overlay placement for
Responsive
. #1638 overlay
implementation forLazy
. #1644- Minor typo in documentation. #1624
- Links in documentation. #1634
- Missing comment in documentation. #1648
Many thanks to...
- @13r0ck
- @Araxeus
- @ben-wallis
- @bungoboingo
- @casperstorm
- @nicksenger
- @Night-Hunter-NF
- @rpitasky
- @rs017991
- @tarkah
- @wiktor-k
0.6.0 - 2022-12-07
- Support for non-uniform border radius for
Primitive::Quad
. #1506 - Operation to query the current focused widget. #1526
- Additional operations for
TextInput
. #1529 - Styling support for
Svg
. #1578
- Triangle geometry using a solid color is now drawn in a single draw call. #1538
- Gradients for WebAssembly target. #1524
Overlay
layout cache not being invalidated. #1528- Operations not working for
PaneGrid
. #1533 - Mapped
widget::Operation
always returningOutcome::None
. #1536 - Padding of
TextInput
withLength::Units
width. #1539 - Clipping of
Image
andSvg
widgets iniced_glow
. #1557 - Invalid links in documentation. #1560
Custom
style ofPickList
widget. #1570- Scroller in
Scrollable
always being drawn. #1574
Many thanks to...
- @bungoboingo
- @l1Dan
- @mmstick
- @mtkennerly
- @PolyMeilex
- @rksm
- @rs017991
- @tarkah
- @wash2
0.5.0 - 2022-11-10
-
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!
0.4.2 - 2022-05-03
Padding
type not exposed iniced
.
0.4.1 - 2022-05-02
- Version number in
README
.
0.4.0 - 2022-05-02
-
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 (#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.
0.3.0 - 2021-03-31
- Touch support. #57 #650 (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!)
- 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:
- Button events not being propagated to contents. #668
- Incorrect overlay implementation for the
Button
widget. #764 Viewport::physical_width
returning the wrong value. #700- Outdated documentation for the
Sandbox
trait. #710
0.2.0 - 2020-11-26
-
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.
0.1.1 - 2020-04-15
Settings::with_flags
to easily initialize some default settings with flags. #266Default
implementation forcanvas::layer::Cache
. #267Ctrl + 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
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
- 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
- Unnecessary
'static
lifetimes inRenderer
bounds. #290
0.1.0 - 2020-04-02
-
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!
0.1.0-beta - 2019-11-25
- The old
iced
becomesiced_native
. The currenticed
crate turns into a batteries-included, cross-platform GUI library.
0.1.0-alpha - 2019-09-05
- First release! 🎉