Iced Versions Save

A cross-platform GUI library for Rust, inspired by Elm

0.12.1

2 months ago

Added

  • extend and from_vec methods for Column and Row. #2264
  • PartialOrd, Ord, and Hash implementations for keyboard::Modifiers. #2270
  • clipboard module in advanced module. #2272
  • Default disabled style for checkbox and hovered style for Svg. #2273
  • From<u16> and From<i32> implementations for border::Radius. #2274
  • size_hint method for Component trait. #2275

Fixed

  • Black images when using OpenGL backend in iced_wgpu. #2259
  • Documentation for horizontal_space and vertical_space helpers. #2265
  • WebAssembly platform. #2271
  • Decouple Key from keyboard::Modifiers and apply them to text in KeyboardInput. #2238
  • Text insertion not being prioritized in TextInput and TextEditor. #2278
  • iced_tiny_skia clipping line strokes. #2282

Many thanks to...

  • @bungoboingo
  • @PolyMeilex
  • @rizzen-yazston
  • @wash2

0.12.0

2 months ago

Added

  • Multi-window support. #1964
  • TextEditor widget (or multi-line text input). #2123
  • Shader widget. #2085
  • Shadows. #1882
  • Vectorial text for Canvas. #2204
  • Layout consistency. #2192
  • Explicit text caching. #2058
  • Gradients in Oklab color space. #2055
  • Themer widget. #2209
  • Transform primitive. #2120
  • Cut functionality for TextEditor. #2215
  • Primary clipboard support. #2240
  • Disabled state for Checkbox. #2109
  • skip_taskbar window setting for Windows. #2211
  • fetch_maximized and fetch_minimized commands in window. #2189
  • run_with_handle command in window. #2200
  • show_system_menu command in window. #2243
  • text_shaping method for Tooltip. #2172
  • interaction method for MouseArea. #2207
  • hovered styling for Svg widget. #2163
  • height method for TextEditor. #2221
  • Customizable style for TextEditor. #2159
  • Customizable style for QRCode. #2229
  • Border width styling for Toggler. #2219
  • RawText variant for Primitive in iced_graphics. #2158
  • Stream support for Command. #2150
  • Access to bounds/content bounds from a Scrollable viewport. #2072
  • Frame::scale_nonuniform method. #2070
  • theme::Custom::with_fn to generate completely custom themes. #2067
  • style attribute for Font. #2041
  • Texture filtering options for Image. #1894
  • default and shift_step methods for slider widgets. #2100
  • Custom variant to command::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> for svg::Handle. #2235
  • on_open and on_close handlers for PickList. #2174
  • Support for generic Element in Tooltip. #2228
  • Container and gap styling for Scrollable. #2239
  • Use Borrow for both options and selected in PickList. #2251
  • clip property for Container, Column, Row, and Button. #2252

Changed

  • Enable WebGPU backend in wgpu by default instead of WebGL. #2068
  • Update glyphon to 0.4. #2203
  • Require Send on stored pipelines. #2197
  • Update wgpu to 0.19, glyphon to 0.5, softbuffer to 0.4, window-clipboard to 0.4, and raw-window-handle to 0.6. #2191
  • Update winit to 0.29. #2169
  • Provide actual bounds to Shader primitives. #2149
  • Deny warnings in test workflow. #2135
  • Update wgpu to 0.18 and cosmic-text to 0.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 rename subscription::events to event::listen. #2073
  • Use workspace dependencies and package inheritance. #2069
  • Update wgpu to 0.17. #2065
  • Support automatic style type casting for Button. #2046
  • Make with_clip and with_save in Frame able to return the data of the provided closure. #1994
  • Use Radians for angle fields in Arc and arc::Elliptical. #2027
  • Assert dimensions of quads are normal in iced_tiny_skia. #2082
  • Remove position from overlay::Element. #2226
  • Add a capacity limit to the GlyphCache in iced_tiny_skia. #2210
  • Use pointer equality to speed up PartialEq implementation of image::Bytes. #2220
  • Update bitflags, glam, kurbo, ouroboros, qrcode, and sysinfo 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. #2168
  • iced_wgpu not rendering text in SVGs. #2161
  • Text clipping. #2154
  • Text transparency in iced_tiny_skia. #2250
  • Layout invalidation when Tooltip changes overlay. #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 is false. #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. #2071
  • Checkbox and Toggler hidden behind scrollbar in styling example. #2062
  • Absolute LineHeight sometimes being 0. #2059
  • Paste while holding ALT. #2006
  • Command<T>::perform to return a Command<T>. #2000
  • convert_text not called on Svg 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 from element::Map. #2224
  • size_hint not being called from element::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

8 months ago

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. #1954
  • web-colors feature flag to enable "sRGB linear" blending. #1888
  • PaneGrid logic to split panes by drag & drop. #1856
  • PaneGrid 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. #1796
  • scroll_to helper. #1804
  • visible_bounds widget operation for Container. #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 to Slider rail. #1892
  • application_id in PlatformSpecific settings for Linux. #1963
  • Aliased entries in text::Cache. #1934
  • Text cache modes. #1938
  • operate method for program::State. #1913
  • Viewport argument to Widget::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 to 0.16. #1807
  • Updated glam to 0.24. #1840
  • Updated winit to 0.28. #1738
  • Updated palette to 0.7. #1875
  • Updated ouroboros to 0.17. #1925
  • Updated resvg to 0.35 and tiny-skia to 0.10. #1907
  • Changed mouse::Button::Other to take u16 instead of u8. #1797
  • Changed subscription::channel to take a FnOnce non-Sync closure. #1917
  • Removed Copy requirement for text StyleSheet::Style. #1814
  • Removed min_width of 1 from scrollbar & scroller for Scrollable. #1844
  • Used Widget::overlay for Tooltip. #1692

Fixed

  • Responsive layout not invalidated when shell layout is invalidated. #1799
  • Responsive layout not invalidated when size changes without a view call. #1890
  • Broken link in ROADMAP.md. #1815
  • bounds of selected option background in Menu. #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. #1910
  • translation in layout of Nested 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...

  • @a1phyr
  • @alec-deason
  • @AustinMReppert
  • @bbb651
  • @bungoboingo
  • @casperstorm
  • @clarkmoody
  • @Davidster
  • @Drakulix
  • @GyulyVGC
  • @ids1024
  • @jhff
  • @JonathanLindsey
  • @kr105
  • @marienz
  • @nicksenger
  • @nicoburns
  • @Redhawk18
  • @RGBCube
  • @tarkah
  • @thunderstorm010
  • @wash2
  • @wiiznokes

0.9.0

1 year ago

Added

  • MouseArea widget. #1594
  • channel helper in subscription. #1786
  • Configurable width for Scrollable. #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 to 0.15 in iced_wgpu. #1789
  • resvg has been updated to 0.29 in iced_graphics. #1733
  • subscription::run now takes a function pointer. #1723

Fixed

  • Redundant on_scroll messages for Scrollable. #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. #1734
  • Debug implementation of Font displaying its bytes. #1731
  • Sliders bleeding over their rail. #1721

Removed

  • Fill variant for Alignment. #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

1 year ago

Added

  • Generic pixel units. #1711
  • custom method to widget::Operation trait. #1649
  • Group overlay. #1655
  • Standalone draw helper for image. #1682
  • Dynamic pick_list::Handle. #1675
  • Id support for Container. #1695
  • Custom Checkbox icon support. #1707
  • window action to change always on top setting. #1587
  • window action to fetch its unique identifier. #1589

Changed

  • Annotated Command and Subscription with #[must_use]. #1676
  • Replaced Fn with FnOnce in canvas::Cache::draw. #1694
  • Used [default] on enum in game_of_life example. #1660
  • Made QRCode hide when data is empty in qr_code example. #1665
  • Replaced Cow with Bytes in image to accept any kind of data that implements AsRef<[u8]>. #1551

Fixed

  • Blank window on application startup. #1698
  • Off-by-one pixel error on pick_list width. #1679
  • Missing text_input implementation in operation::Map. #1678
  • Widget-driven animations for Component. #1685
  • Layout translation in overlay::Group. #1686
  • Missing is_over implementation for overlays of iced_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. #1706
  • iced_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

1 year ago

Added

  • Widget-driven animations. #1647
  • Multidirectional scrolling support for Scrollable. #1550
  • VerticalSlider widget. #1596
  • Shift+Click text selection support in TextInput. #1622
  • Profiling support with the chrome-trace feature. #1565
  • Customization of the handle of a PickList. #1562
  • window action to request user attention. #1584
  • window action to gain focus. #1585
  • window action to toggle decorations. #1588
  • Copy implementation for gradient::Location. #1636

Changed

  • Replaced Application::should_exit with a window::close action. #1606
  • Made focusable::Count fields public. #1635
  • Added Dependency argument to the closure of Lazy. #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 the image feature is enabled but svg isn't. #1593
  • Widget operations for Responsive widget. #1615
  • Overlay placement for Responsive. #1638
  • overlay implementation for Lazy. #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

1 year ago

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 returning Outcome::None. #1536
  • Padding of TextInput with Length::Units width. #1539
  • Clipping of Image and Svg widgets in iced_glow. #1557
  • Invalid links in documentation. #1560
  • Custom style of PickList widget. #1570
  • Scroller in Scrollable always being drawn. #1574

Many thanks to...

  • @bungoboingo
  • @l1Dan
  • @mmstick
  • @mtkennerly
  • @PolyMeilex
  • @rksm
  • @rs017991
  • @tarkah
  • @wash2

0.5.0

1 year ago

COSMIC Desktop icy_term SlimeVR Wrangler

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 (like row! and column!).

  • First-class theming (#1362)
    A complete overhaul of our styling primitives, introducing a Theme 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)
    The Canvas widget can draw linear gradients now. Thanks to @bungoboingo!

  • Touch support for Canvas (#1305)
    The Canvas widget now supports touch events. Thanks to @artursapek!

  • Image and Svg support for iced_glow (#1485)
    Our OpenGL renderer now is capable of rendering both the Image and Svg widgets. Thanks to @ids1024!

Thank you! :tada:

  • @0x192 exported overlay::menu publicly (#1425).
  • @13r0ck updated the documentation for the integration examples after a rename (#1433).
  • @aentity added an application feature to iced_winit (#1196).
  • @AlistairKeiller fixed the supported backends listed in the README of iced_wgpu (#1458).
  • @artursapek added touch support for the Canvas widget (#1305).
  • @bungoboingo
    • added supported for linear gradients to the Canvas widget (#1448), and
    • fixed issues with old OpenGL versions in iced_glow (#1518).
  • @casperstorm changed the images in the README to have similar height (#1356).
  • @clarkmoody tweaked the system information queries (#1445).
  • @Cupnfish updated wgpu to 0.13 (#1378).
  • @daladim added convenience functions for window::Icon (#1174).
  • @derezzedex implemented commands to query system information (#1314).
  • @fralonra
    • fixed the import path in the documentation example of the pure Canvas widget (#1373), and
    • fixed the documentation for running integration_wgpu (#1434).
  • @icedrocket enabled the application feature in iced_glutin (#1502).
  • @ids1024
    • documented that window::Action::Move is unsupported on Wayland (#1440)
    • replaced lazy_static! with once_cell (#1497)
    • added support for Cow<'static, [u8]> in the Image and Svg widgets (#1453)
    • implemented Image and Svg support for iced_glow (#1485)
    • fixed wrong conversion to BGRA before passing to image shaders (#1507), and
    • combined the glow_default_system_font and default_system_font features (#1505).
  • @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
    • added a release-opt profile to our Cargo.toml (#1346), and
    • improved our GitHub CI workflows (#1387).
  • @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).
  • @nicksenger
    • fixed Component building overlay with stale layout (#1341)
    • implemented custom border_radius support for pick_list::Menu (#1396), and
    • implemented the Lazy widget (#1400).
  • @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 the Text 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 during draw (#1371)
    • implemented Widget::operate for the Component widget (#1402)
    • fixed a double translation bug in the text clipping rectangle for the Canvas widget (#1411)
    • fixed the Tooltip widget when inside a Scrollable (#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 a Scrollable (#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 the Canvas widget (#1358).
  • @thenlevy fixed some issues with the integration_wgpu example (#1139).
  • @ThisIsRex added an is_selected argument to the StyleSheet of a Radio 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
    • fixed synchronization of window and viewport (#1437), and
    • added a Custom variant to the built-in Theme (#1432).
  • @wuxianucw relaxed the Fn trait bounds for Command and Action (#1409).
  • @wyatt-herkamp
    • added an on_paste handler to the TextInput widget (#1350)
    • updated winit to 0.27 and glutin to 0.29 (#1410), and
    • updated wgpu to 0.14 and wgpu_glyph to 0.18 (#1462).

0.4.0

1 year ago

OctaSine Universal Android Debloater Borderlands 3 Save Edtor

New features

  • Stateless widgets (#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 (#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 HTML canvas when targeting Wasm by leveraging the WebGL support in wgpu. 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 2.1+ or OpenGL ES 2.0+. Additionally, we started maintaining Docker images for aarch64 and armv7 to easily cross-compile iced applications and target Raspberry Pis. Thanks to @derezzedex!

  • Simpler 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.

Thank you! :tada:

  • @0x192 implemented the Default trait for pure::State (#1298).
  • @13r0ck added support for selecting a value of a PickList by scrolling (#872).
  • @Ace4896 added placeholder support for the PickList widget (#888).
  • @aentity fixed a bug causing high memory usage of the Svg widget (#952).
  • @akavel implemented proper handling of Exif orientation for raster images in iced_wgpu.
  • @akhilman fixed an issue with window transparency in iced_glow (#1021).
  • @Alch-Emi introduced ContentFit support for the Image and Svg widgets (#1219).
  • @AldoMX added a select_all method to text_input::State (#776).
  • @AlisCode decoupled image::Handle from iced_native and lowered the trait bound of text::Renderer::Font (#1155).
  • @AndiHofi allowed Application::run to return on native platforms (#1112).
  • @ATiltedTree improved the compatibility of iced_wgpu by using the preferred texture format of the window surface (#978).
  • @BillyDM
    • fixed iced_wgpu panicking when a SwapChain frame is outdated (#667), and
    • tweaked the default styling of the Rule widget (#994).
  • @blefevre added support for asymmetrical padding (#630).
  • @casperstorm implemented a pure version of the Tooltip widget (#1315).
  • @Chiheisen
    • fixed the layout logic of PickList to respect custom fonts (#886), and
    • improved the layout logic of the image::Viewer widget (#885).
  • @clarkmoody
    • added support for generic elements in the title bars of a PaneGrid (#892), and
    • introduced overlay support for the title bar of a PaneGrid (#920).
  • @cmot17 fixed an issue with text selection in the TextInput widget (#1098).
  • @cossonleo fixed the overlay position of the Component widget (#1205).
  • @Cupnfish
    • fixed a typo in the documentation (#810),
    • and added a primary backend option to the WGPU_BACKEND environment variable (#876).
  • @daladim added the iced logo to the documentation (#1147).
  • @derezzedex added support for ARM devices and older hardware (#1160).
  • @diegodox fixed a typo in the documentation of canvas::Program (#927).
  • @Dispersia upgraded wgpu to 0.8 (#830).
  • @EkardNT added support for Sandbox applications to quit gracefully (#1175).
  • @feylinara fixed a memory leak in the integration_opengl example (#1181).
  • @gonsor added text_color to the Style of a Checkbox (#1116).
  • @Imberflur
    • upgraded winit to 0.25 (#919),
    • fixed a few links in the documentation (#1121), and
    • fixed the hash_layout implementation of the Container widget (#1140).
  • @Kaiden42 implemented a Toggler widget (#535).
  • @LordRatte updated links in the documentation to point to the new iced-rs organization (#1168).
  • @Luni-4
    • added executable permissions to the todos example in CI for macOS builds (#956), and
    • stopped the shell from opening on Windows (#1049).
  • @marienz fixed overlay calls not being forwarded when using Element::map (#1294).
  • @mettz fixed an incorrect color being used with Element::explain (#1109).
  • @mtsr documented how to disable a Button (#646).
  • @nicksenger
    • fixed the Widget::height implementation of the Component widget (#1149),
    • implemented Widget::overlay for Component (#1154),
    • fixed layout invalidation of nested components (#1169),
    • fixed the overlay layout for the Responsive widget (#1262),
    • fixed the diffing strategy for nested pure components (#1301),
    • fixed the diffing strategy for pure stateless components (#1309), and
    • fixed a panic when using a pure Component in a pure Responsive widget (#1319).
  • @n8henrie fixed the path to ferris.png in the tour example (#1157).
  • @oknozor fixed the visibility of the constants in the blit shader in iced_wgpu (#1084).
  • @PolyMeilex
    • upgraded wgpu to 0.9 (#925),
    • upgraded wgpu to 0.10 (#1000), and
    • upgraded wgpu to 0.11 (#1081).
  • @pacmancoder implemented experimental WebGL support in iced_wgpu (#1096).
  • @RamType0 removed unnecessary String allocation in some examples (#1106).
  • @RDambrosio016 fixed example links in the documentation to point to the latest release (#877).
  • @sundy-li fixed the README of the integration_opengl example.
  • @taiki_e enabled the qr_code feature in docs.rs (#815).
  • @TannerRogalsky
    • disabled the default features in the twox-hash dependency (#1117)
    • fixed async traits for Wasm (#1118).
  • @tarkah
    • added a new Hidden variant to window::Mode (#825),
    • introduced a new Moved variant to window::Event (#965),
    • fixed the overlays on a PaneGrid title bar not closing when dragging a pane (#971),
    • added a Fill variant for Alignment (#1044),
    • removed redundant Slider messages (#1114),
    • added a line dash API for the Canvas widget (#1225), and
    • fixed the text wrapping of the selected option of a PickList (#1318).
  • @thenlevy
    • fixed the dimensions of scissor_rect in iced_wgpu being too large in some circumstances (#818), and
    • implemented event handling of the Enter key for TextInput (#1150).
  • @ThisIsRex fixed the position of the handle and rail of a Slider (#1286).
  • @traxys introduced a window::Setting to toggle drag and drop on Windows (#893).
  • @xy37v replaced Zulip mentions in the README with the new Discord server (#1151).
  • @yamadapc improved the support of iced_glow for multi-windowed applications (#980).
  • @yusdacra
    • added methods to control a Scrollable programmatically (#607),
    • introduced a flag to toggle multithreaded rasterization of text primitives (#914), and
    • updated links in the documentation (#915).
  • @ZakisM optimized the RGBA / BGRA conversion for vectorial images in iced_wgpu (#875).
  • @zdevwu added text_color and font methods to Radio and Checkbox (#831).

0.3.0

3 years ago

Added

  • Touch support. #57 #650 (thanks to @simlay and @discordance!)
  • Clipboard write access for
    • TextInput widget. #770
    • Application::update. #773
  • 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 and Unfocused variant to window::Event. #701 (thanks to @cossonleo!)
  • WGPU_BACKEND environment variable to configure the internal graphics backend of iced_wgpu. #789 (thanks to @Cupnfish!)

Changed

  • The TitleBar of a PaneGrid now supports generic elements. #657 (thanks to @clarkmoody!)
  • The Error type now implements Send and Sync. #719 (thanks to @taiki-e!)
  • The Style types in iced_style now implement Clone and Copy. #720 (thanks to @taiki-e!)
  • The following dependencies have been updated:
    • font-kit0.10 #669
    • glutin0.26 #658
    • resvg0.12 #669
    • tokio1.0 #672 (thanks to @yusdacra!)
    • winit0.24 #658
    • wgpu0.7 #725 (thanks to @PolyMeilex!)
  • The following examples were improved:
    • download_progress now showcases multiple file downloads at once. #283 (thanks to @Folyd!)
    • solar_system uses the new rand API. #760 (thanks to @TriedAngle!)

Fixed

  • Button events not being propagated to contents. #668
  • Incorrect overlay implementation for the Button widget. #764 (thanks to @thenlevy!)
  • Viewport::physical_width returning the wrong value. #700 (thanks to @TannerRogalsky!)
  • Outdated documentation for the Sandbox trait. #710 (thanks to @GunpowderGuy!)