- Notifications
You must be signed in to change notification settings - Fork1.3k
Releases: iced-rs/iced
0.13.1
Compare
Added
- 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
Fixed
- 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...
0.13.0
Compare
Added
- Introductory chapters to theofficial 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
Changed
- 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
Fixed
0.12.1
Compare
Added
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
Fixed
- 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...
0.12.0
Compare
Added
- 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
Changed
- 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
Fixed
- 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](https://github.co...
0.10.0
Compare
Added
- 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
Changed
- 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
Fixed
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
Many thanks to...
0.9.0
Compare
Added
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
Changed
wgpu
has been updated to0.15
iniced_wgpu
.#1789resvg
has been updated to0.29
iniced_graphics
.#1733subscription::run
now takes a function pointer.#1723
Fixed
- 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
Removed
Fill
variant forAlignment
.#1735
Many thanks to...
0.8.0
Compare
Added
- 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
Changed
- 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
Fixed
- 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
Compare
Added
- 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
Changed
- 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
Fixed
- 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...
0.6.0
Compare
Added
- 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
Changed
- Triangle geometry using a solid color is now drawn in a single draw call.#1538
Fixed
- 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...
0.5.0
Compare
New features
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!
Thank you! 🎉
- @0x192 exported
overlay::menu
publicly (#1425). - @13r0ck updated the documentation for the
integration
examples after a rename (#1433). - @aentity added an
application
feature toiced_winit
(#1196). - @AlistairKeiller fixed the supported backends listed in the
README
oficed_wgpu
(#1458). - @artursapek added touch support for the
Canvas
widget (#1305). - @bungoboingo
- @casperstorm changed the images in the
README
to have similar height (#1356). - @clarkmoody tweaked the system information queries (#1445).
- @Cupnfish updated
wgpu
to0.13
(#1378). - @daladim added convenience functions for
window::Icon
(#1174). - @derezzedex implemented commands to query system information (#1314).
- @fralonra
- @icedrocket enabled the
application
feature iniced_glutin
(#1502). - @ids1024
- documented that
window::Action::Move
is unsupported on Wayland (#1440) - replaced
lazy_static!
withonce_cell
(#1497) - added support for
Cow<'static, [u8]>
in theImage
andSvg
widgets (#1453) - implemented
Image
andSvg
support foriced_glow
(#1485) - fixed wrong conversion to
BGRA
before passing toimage
shaders (#1507), and - combined the
glow_default_system_font
anddefault_system_font
features (#1505).
- documented that
- @jhannyjimenez clarified the position and alignment of text in the documentation of
Canvas
(#1370). - @kaimast improved the integration of event processing for custom shells (#1230).
- @LordRatte implemented a
color!
macro helper (#1227). - @Luni-4
- @maxwell8888 added a pure version of the
color_palette
example (#1326). - @mmstick introduced additional actions for window controls (#1471).
- @mtkennerly
- added a note about the
resolver
requirement (#1339) - added missing version to the issue template (#1340)
- changed the title bar of the
PaneGrid
widget to prevent content and controls from overlapping (#1361), and - changed the title bar of the
PaneGrid
widget to still show content until hover when cramped (#1424).
- added a note about the
- @nicksenger
- @pheki removed the old
pure
feature from docs.rs build metadata (#1429). - @PolyMeilex addressed a bunch of
clippy
lints (#1379). - @RamType0 introduced
Cow
support for theText
widget (#1107). - @tarkah
- fixed processing logic of captured events for overlays (#1353)
- fixed alpha blending for MSAA in
iced_wgpu
(#1367) - allowed overriding the value of a pure
TextInput
duringdraw
(#1371) - implemented
Widget::operate
for theComponent
widget (#1402) - fixed a double translation bug in the text clipping rectangle for the
Canvas
widget (#1411) - fixed the
Tooltip
widget when inside aScrollable
(#1405) - changed the
Tooltip
text layout to not be constricted by the viewport size (#1414) - changed the rendering order of the
PaneGrid
title bar and its body (#1463) - fixed some issues with the
PaneGrid
widget (#1480) - fixed
PickList
menu not closing when inside aScrollable
(#1496) - constrained
Padding
to fit available space during layout (#1494), and - added pane maximize and restore functionality for the
PaneGrid
widget (#1504).
- @ThatsNoMoon fixed the implementation of
arc_to
for theCanvas
widget (#1358). - @thenlevy fixed some issues with the
integration_wgpu
example (#1139). - @ThisIsRex added an
is_selected
argument to theStyleSheet
of aRadio
widget (#1331). - @traxys implemented support to replace an existing DOM element when targeting Wasm (#1443).
- @xkenmon implemented a
sierpinski-triangle
example (#1136). - @xTekC updated the test badge in the
README
(#1450). - @wash2
- @wuxianucw relaxed the
Fn
trait bounds forCommand
andAction
(#1409). - @wyatt-herkamp