2019-09-05 12:52:41 +02:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog ](https://keepachangelog.com/en/1.0.0/ ),
and this project adheres to [Semantic Versioning ](https://semver.org/spec/v2.0.0.html ).
## [Unreleased]
2022-11-10 01:37:15 +01:00
2023-07-28 20:02:44 +02:00
## [0.10.0] - 2023-07-28
2023-07-20 20:39:49 +02:00
### Added
- Text shaping, font fallback, and `iced_wgpu` overhaul. [#1697 ](https://github.com/iced-rs/iced/pull/1697 )
- Software renderer, runtime renderer fallback, and core consolidation. [#1748 ](https://github.com/iced-rs/iced/pull/1748 )
- Incremental rendering for `iced_tiny_skia` . [#1811 ](https://github.com/iced-rs/iced/pull/1811 )
- Configurable `LineHeight` support for text widgets. [#1828 ](https://github.com/iced-rs/iced/pull/1828 )
- `text::Shaping` strategy selection. [#1822 ](https://github.com/iced-rs/iced/pull/1822 )
- Subpixel glyph positioning and layout linearity. [#1921 ](https://github.com/iced-rs/iced/pull/1921 )
- Background gradients. [#1846 ](https://github.com/iced-rs/iced/pull/1846 )
- Offscreen rendering and screenshots. [#1845 ](https://github.com/iced-rs/iced/pull/1845 )
- Nested overlays. [#1719 ](https://github.com/iced-rs/iced/pull/1719 )
- Cursor availability. [#1904 ](https://github.com/iced-rs/iced/pull/1904 )
- Backend-specific primitives. [#1932 ](https://github.com/iced-rs/iced/pull/1932 )
2023-07-26 22:35:42 +02:00
- `ComboBox` widget. [#1954 ](https://github.com/iced-rs/iced/pull/1954 )
2023-07-20 20:39:49 +02:00
- `web-colors` feature flag to enable "sRGB linear" blending. [#1888 ](https://github.com/iced-rs/iced/pull/1888 )
- `PaneGrid` logic to split panes by drag & drop. [#1856 ](https://github.com/iced-rs/iced/pull/1856 )
- `PaneGrid` logic to drag & drop panes to the edges. [#1865 ](https://github.com/iced-rs/iced/pull/1865 )
- Type-safe `Scrollable` direction. [#1878 ](https://github.com/iced-rs/iced/pull/1878 )
- `Scrollable` alignment. [#1912 ](https://github.com/iced-rs/iced/pull/1912 )
- Helpers to change viewport alignment of a `Scrollable` . [#1953 ](https://github.com/iced-rs/iced/pull/1953 )
- `scroll_to` widget operation. [#1796 ](https://github.com/iced-rs/iced/pull/1796 )
- `scroll_to` helper. [#1804 ](https://github.com/iced-rs/iced/pull/1804 )
2023-07-27 01:24:57 +02:00
- `visible_bounds` widget operation for `Container` . [#1971 ](https://github.com/iced-rs/iced/pull/1971 )
2023-07-20 20:39:49 +02:00
- Command to fetch window size. [#1927 ](https://github.com/iced-rs/iced/pull/1927 )
- Conversion support from `Fn` trait to custom theme. [#1861 ](https://github.com/iced-rs/iced/pull/1861 )
- Configurable border radii on relevant widgets. [#1869 ](https://github.com/iced-rs/iced/pull/1869 )
- `border_radius` styling to `Slider` rail. [#1892 ](https://github.com/iced-rs/iced/pull/1892 )
2023-07-26 20:15:49 +02:00
- `application_id` in `PlatformSpecific` settings for Linux. [#1963 ](https://github.com/iced-rs/iced/pull/1963 )
2023-07-20 20:39:49 +02:00
- Aliased entries in `text::Cache` . [#1934 ](https://github.com/iced-rs/iced/pull/1934 )
- Text cache modes. [#1938 ](https://github.com/iced-rs/iced/pull/1938 )
- `operate` method for `program::State` . [#1913 ](https://github.com/iced-rs/iced/pull/1913 )
2023-07-20 20:44:32 +02:00
- `Viewport` argument to `Widget::on_event` . [#1956 ](https://github.com/iced-rs/iced/pull/1956 )
2023-07-20 20:39:49 +02:00
- Nix instructions to `DEPENDENCIES.md` . [#1859 ](https://github.com/iced-rs/iced/pull/1859 )
- Loading spinners example. [#1902 ](https://github.com/iced-rs/iced/pull/1902 )
2023-07-26 02:30:37 +02:00
- Workflow that verifies `CHANGELOG` is always up-to-date. [#1970 ](https://github.com/iced-rs/iced/pull/1970 )
2023-08-02 22:25:21 +02:00
- Outdated mentions of `iced_native` in `README` . [#1979 ](https://github.com/iced-rs/iced/pull/1979 )
2023-07-20 20:39:49 +02:00
### Changed
- Updated `wgpu` to `0.16` . [#1807 ](https://github.com/iced-rs/iced/pull/1807 )
- Updated `glam` to `0.24` . [#1840 ](https://github.com/iced-rs/iced/pull/1840 )
- Updated `winit` to `0.28` . [#1738 ](https://github.com/iced-rs/iced/pull/1738 )
- Updated `palette` to `0.7` . [#1875 ](https://github.com/iced-rs/iced/pull/1875 )
- Updated `ouroboros` to `0.17` . [#1925 ](https://github.com/iced-rs/iced/pull/1925 )
- Updated `resvg` to `0.35` and `tiny-skia` to `0.10` . [#1907 ](https://github.com/iced-rs/iced/pull/1907 )
- Changed `mouse::Button::Other` to take `u16` instead of `u8` . [#1797 ](https://github.com/iced-rs/iced/pull/1797 )
- Changed `subscription::channel` to take a `FnOnce` non-`Sync` closure. [#1917 ](https://github.com/iced-rs/iced/pull/1917 )
- Removed `Copy` requirement for text `StyleSheet::Style` . [#1814 ](https://github.com/iced-rs/iced/pull/1814 )
- Removed `min_width` of 1 from scrollbar & scroller for `Scrollable` . [#1844 ](https://github.com/iced-rs/iced/pull/1844 )
- Used `Widget::overlay` for `Tooltip` . [#1692 ](https://github.com/iced-rs/iced/pull/1692 )
### Fixed
2023-07-20 20:44:14 +02:00
- `Responsive` layout not invalidated when shell layout is invalidated. [#1799 ](https://github.com/iced-rs/iced/pull/1799 )
- `Responsive` layout not invalidated when size changes without a `view` call. [#1890 ](https://github.com/iced-rs/iced/pull/1890 )
2023-07-20 20:39:49 +02:00
- Broken link in `ROADMAP.md` . [#1815 ](https://github.com/iced-rs/iced/pull/1815 )
- `bounds` of selected option background in `Menu` . [#1831 ](https://github.com/iced-rs/iced/pull/1831 )
- Border radius logic in `iced_tiny_skia` . [#1842 ](https://github.com/iced-rs/iced/pull/1842 )
- `Svg` filtered color not premultiplied. [#1841 ](https://github.com/iced-rs/iced/pull/1841 )
- Race condition when growing an `image::Atlas` . [#1847 ](https://github.com/iced-rs/iced/pull/1847 )
- Clearing damaged surface with background color in `iced_tiny_skia` . [#1854 ](https://github.com/iced-rs/iced/pull/1854 )
- Private gradient pack logic for `iced_graphics::Gradient` . [#1871 ](https://github.com/iced-rs/iced/pull/1871 )
- Unordered quads of different background types. [#1873 ](https://github.com/iced-rs/iced/pull/1873 )
- Panic in `glyphon` when glyphs are missing. [#1883 ](https://github.com/iced-rs/iced/pull/1883 )
- Empty scissor rectangle in `iced_wgpu::triangle` pipeline. [#1893 ](https://github.com/iced-rs/iced/pull/1893 )
- `Scrollable` scrolling when mouse not over it. [#1910 ](https://github.com/iced-rs/iced/pull/1910 )
- `translation` in `layout` of `Nested` overlay. [#1924 ](https://github.com/iced-rs/iced/pull/1924 )
- Build when using vendored dependencies. [#1928 ](https://github.com/iced-rs/iced/pull/1928 )
- Minor grammar mistake. [#1931 ](https://github.com/iced-rs/iced/pull/1931 )
- Quad rendering including border only inside of the bounds. [#1843 ](https://github.com/iced-rs/iced/pull/1843 )
- Redraw requests not being forwarded for `Component` overlays. [#1949 ](https://github.com/iced-rs/iced/pull/1949 )
- Blinking input cursor when window loses focus. [#1955 ](https://github.com/iced-rs/iced/pull/1955 )
2023-07-27 18:51:49 +02:00
- `BorderRadius` not exposed in root crate. [#1972 ](https://github.com/iced-rs/iced/pull/1972 )
2023-07-26 20:27:33 +02:00
- Outdated `ROADMAP` . [#1958 ](https://github.com/iced-rs/iced/pull/1958 )
2023-08-15 07:21:59 +02:00
### Patched
- Keybinds to cycle `ComboBox` options. [#1991 ](https://github.com/iced-rs/iced/pull/1991 )
- `Tooltip` overlay position inside `Scrollable` . [#1978 ](https://github.com/iced-rs/iced/pull/1978 )
2023-08-02 22:12:15 +02:00
- `iced_wgpu` freezing on empty layers. [#1996 ](https://github.com/iced-rs/iced/pull/1996 )
2023-08-03 20:19:45 +02:00
- `image::Viewer` reacting to any scroll event. [#1998 ](https://github.com/iced-rs/iced/pull/1998 )
2023-08-15 07:21:59 +02:00
- `TextInput` pasting text when `Alt` key is pressed. [#2006 ](https://github.com/iced-rs/iced/pull/2006 )
2023-07-20 20:39:49 +02:00
Many thanks to...
- @a1phyr
- @alec -deason
- @AustinMReppert
- @bbb651
- @bungoboingo
- @casperstorm
- @clarkmoody
- @Davidster
- @Drakulix
- @GyulyVGC
- @ids1024
- @jhff
- @JonathanLindsey
- @kr105
- @marienz
2023-08-03 20:19:45 +02:00
- @malramsay64
2023-07-20 20:39:49 +02:00
- @nicksenger
- @nicoburns
2023-07-26 20:27:33 +02:00
- @Redhawk18
2023-07-20 20:39:49 +02:00
- @RGBCube
2023-08-02 22:25:21 +02:00
- @rs017991
2023-07-20 20:39:49 +02:00
- @tarkah
- @thunderstorm010
- @wash2
2023-07-27 18:51:49 +02:00
- @wiiznokes
2023-07-20 20:39:49 +02:00
2023-04-13 08:31:17 +02:00
## [0.9.0] - 2023-04-13
### Added
- `MouseArea` widget. [#1594 ](https://github.com/iced-rs/iced/pull/1594 )
- `channel` helper in `subscription` . [#1786 ](https://github.com/iced-rs/iced/pull/1786 )
- Configurable `width` for `Scrollable` . [#1749 ](https://github.com/iced-rs/iced/pull/1749 )
- Support for disabled `TextInput` . [#1744 ](https://github.com/iced-rs/iced/pull/1744 )
- Platform-specific window settings. [#1730 ](https://github.com/iced-rs/iced/pull/1730 )
- Left and right colors for sliders. [#1643 ](https://github.com/iced-rs/iced/pull/1643 )
- Icon for `TextInput` . [#1702 ](https://github.com/iced-rs/iced/pull/1702 )
- Mouse over scrollbar flag for `scrollable::StyleSheet` . [#1669 ](https://github.com/iced-rs/iced/pull/1669 )
- Better example for `Radio` . [#1762 ](https://github.com/iced-rs/iced/pull/1762 )
### Changed
- `wgpu` has been updated to `0.15` in `iced_wgpu` . [#1789 ](https://github.com/iced-rs/iced/pull/1789 )
- `resvg` has been updated to `0.29` in `iced_graphics` . [#1733 ](https://github.com/iced-rs/iced/pull/1733 )
- `subscription::run` now takes a function pointer. [#1723 ](https://github.com/iced-rs/iced/pull/1723 )
### Fixed
- Redundant `on_scroll` messages for `Scrollable` . [#1788 ](https://github.com/iced-rs/iced/pull/1788 )
- Outdated items in `ROADMAP.md` [#1782 ](https://github.com/iced-rs/iced/pull/1782 )
- Colons in shader labels causing compilation issues in `iced_wgpu` . [#1779 ](https://github.com/iced-rs/iced/pull/1779 )
- Re-expose winit features for window servers in Linux. [#1777 ](https://github.com/iced-rs/iced/pull/1777 )
- Replacement of application node in Wasm. [#1765 ](https://github.com/iced-rs/iced/pull/1765 )
- `clippy` lints for Rust 1.68. [#1755 ](https://github.com/iced-rs/iced/pull/1755 )
- Unnecessary `Component` rebuilds. [#1754 ](https://github.com/iced-rs/iced/pull/1754 )
- Incorrect package name in checkbox example docs. [#1750 ](https://github.com/iced-rs/iced/pull/1750 )
- Fullscreen only working on primary monitor. [#1742 ](https://github.com/iced-rs/iced/pull/1742 )
- `Padding::fit` on irregular values for an axis. [#1734 ](https://github.com/iced-rs/iced/pull/1734 )
- `Debug` implementation of `Font` displaying its bytes. [#1731 ](https://github.com/iced-rs/iced/pull/1731 )
- Sliders bleeding over their rail. [#1721 ](https://github.com/iced-rs/iced/pull/1721 )
### Removed
- `Fill` variant for `Alignment` . [#1735 ](https://github.com/iced-rs/iced/pull/1735 )
Many thanks to...
- @ahoneybun
- @bq -wrongway
- @bungoboingo
- @casperstorm
- @Davidster
- @ElhamAryanpur
- @FinnPerry
- @GyulyVGC
- @JungleTryne
- @lupd
- @mmstick
- @nicksenger
- @Night -Hunter-NF
- @tarkah
- @traxys
- @Xaeroxe
2023-02-18 12:04:40 +01:00
## [0.8.0] - 2023-02-18
### Added
- Generic pixel units. [#1711 ](https://github.com/iced-rs/iced/pull/1711 )
- `custom` method to `widget::Operation` trait. [#1649 ](https://github.com/iced-rs/iced/pull/1649 )
- `Group` overlay. [#1655 ](https://github.com/iced-rs/iced/pull/1655 )
- Standalone `draw` helper for `image` . [#1682 ](https://github.com/iced-rs/iced/pull/1682 )
- Dynamic `pick_list::Handle` . [#1675 ](https://github.com/iced-rs/iced/pull/1675 )
- `Id` support for `Container` . [#1695 ](https://github.com/iced-rs/iced/pull/1695 )
- Custom `Checkbox` icon support. [#1707 ](https://github.com/iced-rs/iced/pull/1707 )
- `window` action to change always on top setting. [#1587 ](https://github.com/iced-rs/iced/pull/1587 )
- `window` action to fetch its unique identifier. [#1589 ](https://github.com/iced-rs/iced/pull/1589 )
### Changed
- Annotated `Command` and `Subscription` with `#[must_use]` . [#1676 ](https://github.com/iced-rs/iced/pull/1676 )
- Replaced `Fn` with `FnOnce` in `canvas::Cache::draw` . [#1694 ](https://github.com/iced-rs/iced/pull/1694 )
- Used `[default]` on enum in `game_of_life` example. [#1660 ](https://github.com/iced-rs/iced/pull/1660 )
- Made `QRCode` hide when data is empty in `qr_code` example. [#1665 ](https://github.com/iced-rs/iced/pull/1665 )
- Replaced `Cow` with `Bytes` in `image` to accept any kind of data that implements `AsRef<[u8]>` . [#1551 ](https://github.com/iced-rs/iced/pull/1551 )
### Fixed
- Blank window on application startup. [#1698 ](https://github.com/iced-rs/iced/pull/1698 )
- Off-by-one pixel error on `pick_list` width. [#1679 ](https://github.com/iced-rs/iced/pull/1679 )
- Missing `text_input` implementation in `operation::Map` . [#1678 ](https://github.com/iced-rs/iced/pull/1678 )
- Widget-driven animations for `Component` . [#1685 ](https://github.com/iced-rs/iced/pull/1685 )
- Layout translation in `overlay::Group` . [#1686 ](https://github.com/iced-rs/iced/pull/1686 )
- Missing `is_over` implementation for overlays of `iced_lazy` widgets. [#1699 ](https://github.com/iced-rs/iced/pull/1699 )
- Panic when overlay event processing removes overlay. [#1700 ](https://github.com/iced-rs/iced/pull/1700 )
- Panic when using operations with components in certain cases. [#1701 ](https://github.com/iced-rs/iced/pull/1701 )
- `TextInput` width when using padding. [#1706 ](https://github.com/iced-rs/iced/pull/1706 )
- `iced_glow` crash on some hardware. [#1703 ](https://github.com/iced-rs/iced/pull/1703 )
- Height of `overlay::Menu` . [#1714 ](https://github.com/iced-rs/iced/pull/1714 )
- Size of images in `README` . [#1659 ](https://github.com/iced-rs/iced/pull/1659 )
- New `clippy` lints. [#1681 ](https://github.com/iced-rs/iced/pull/1681 )
Many thanks to...
- @13r0ck
- @bungoboingo
- @casperstorm
- @frey
- @greatest -ape
- @ids1024
- @Jedsek
- @nicksenger
- @Night -Hunter-NF
- @sdroege
- @Sn -Kinos
- @sushigiri
- @tarkah
2023-01-14 00:49:58 +01:00
## [0.7.0] - 2023-01-14
### Added
- Widget-driven animations. [#1647 ](https://github.com/iced-rs/iced/pull/1647 )
- Multidirectional scrolling support for `Scrollable` . [#1550 ](https://github.com/iced-rs/iced/pull/1550 )
- `VerticalSlider` widget. [#1596 ](https://github.com/iced-rs/iced/pull/1596 )
- `Shift+Click` text selection support in `TextInput` . [#1622 ](https://github.com/iced-rs/iced/pull/1622 )
- Profiling support with the `chrome-trace` feature. [#1565 ](https://github.com/iced-rs/iced/pull/1565 )
- Customization of the handle of a `PickList` . [#1562 ](https://github.com/iced-rs/iced/pull/1562 )
- `window` action to request user attention. [#1584 ](https://github.com/iced-rs/iced/pull/1584 )
- `window` action to gain focus. [#1585 ](https://github.com/iced-rs/iced/pull/1585 )
- `window` action to toggle decorations. [#1588 ](https://github.com/iced-rs/iced/pull/1588 )
- `Copy` implementation for `gradient::Location` . [#1636 ](https://github.com/iced-rs/iced/pull/1636 )
### Changed
- Replaced `Application::should_exit` with a `window::close` action. [#1606 ](https://github.com/iced-rs/iced/pull/1606 )
- Made `focusable::Count` fields public. [#1635 ](https://github.com/iced-rs/iced/pull/1635 )
- Added `Dependency` argument to the closure of `Lazy` . [#1646 ](https://github.com/iced-rs/iced/pull/1646 )
- Switched arguments order of `Toggler::new` for consistency. [#1616 ](https://github.com/iced-rs/iced/pull/1616 )
- Switched arguments order of `Checkbox::new` for consistency. [#1633 ](https://github.com/iced-rs/iced/pull/1633 )
### Fixed
- Compilation error in `iced_glow` when the `image` feature is enabled but `svg` isn't. [#1593 ](https://github.com/iced-rs/iced/pull/1593 )
- Widget operations for `Responsive` widget. [#1615 ](https://github.com/iced-rs/iced/pull/1615 )
- Overlay placement for `Responsive` . [#1638 ](https://github.com/iced-rs/iced/pull/1638 )
- `overlay` implementation for `Lazy` . [#1644 ](https://github.com/iced-rs/iced/pull/1644 )
- Minor typo in documentation. [#1624 ](https://github.com/iced-rs/iced/pull/1624 )
- Links in documentation. [#1634 ](https://github.com/iced-rs/iced/pull/1634 )
- Missing comment in documentation. [#1648 ](https://github.com/iced-rs/iced/pull/1648 )
Many thanks to...
- @13r0ck
- @Araxeus
- @ben -wallis
- @bungoboingo
- @casperstorm
- @nicksenger
- @Night -Hunter-NF
- @rpitasky
- @rs017991
- @tarkah
- @wiktor -k
2022-12-07 04:38:00 +01:00
## [0.6.0] - 2022-12-07
### Added
- Support for non-uniform border radius for `Primitive::Quad` . [#1506 ](https://github.com/iced-rs/iced/pull/1506 )
- Operation to query the current focused widget. [#1526 ](https://github.com/iced-rs/iced/pull/1526 )
- Additional operations for `TextInput` . [#1529 ](https://github.com/iced-rs/iced/pull/1529 )
- Styling support for `Svg` . [#1578 ](https://github.com/iced-rs/iced/pull/1578 )
### Changed
- Triangle geometry using a solid color is now drawn in a single draw call. [#1538 ](https://github.com/iced-rs/iced/pull/1538 )
### Fixed
- Gradients for WebAssembly target. [#1524 ](https://github.com/iced-rs/iced/pull/1524 )
- `Overlay` layout cache not being invalidated. [#1528 ](https://github.com/iced-rs/iced/pull/1528 )
- Operations not working for `PaneGrid` . [#1533 ](https://github.com/iced-rs/iced/pull/1533 )
- Mapped `widget::Operation` always returning `Outcome::None` . [#1536 ](https://github.com/iced-rs/iced/pull/1536 )
- Padding of `TextInput` with `Length::Units` width. [#1539 ](https://github.com/iced-rs/iced/pull/1539 )
- Clipping of `Image` and `Svg` widgets in `iced_glow` . [#1557 ](https://github.com/iced-rs/iced/pull/1557 )
- Invalid links in documentation. [#1560 ](https://github.com/iced-rs/iced/pull/1560 )
- `Custom` style of `PickList` widget. [#1570 ](https://github.com/iced-rs/iced/pull/1570 )
- Scroller in `Scrollable` always being drawn. [#1574 ](https://github.com/iced-rs/iced/pull/1574 )
Many thanks to...
- @bungoboingo
- @l1Dan
- @mmstick
- @mtkennerly
- @PolyMeilex
- @rksm
- @rs017991
- @tarkah
- @wash2
2022-11-10 01:37:15 +01:00
## [0.5.0] - 2022-11-10
2022-11-10 01:14:32 +01:00
### Added
- __[Stabilization of stateless widgets][stateless]__ (#1393 )
The old widget API has been completely replaced by stateless widgets (introduced in #1284 ). Alongside the new API, there are a bunch of new helper functions and macros for easily describing view logic (like `row!` and `column!` ).
- __[First-class theming][theming]__ (#1362 )
A complete overhaul of our styling primitives, introducing a `Theme` as a first-class concept of the library.
- __[Widget operations][operations]__ (#1399 )
An abstraction that can be used to traverse (and operate on) the widget tree of an application in order to query or update some widget state.
- __[`Lazy` widget][lazy]__ (#1400 )
A widget that can call some view logic lazily only when some data has changed. Thanks to @nicksenger !
- __[Linear gradient support for `Canvas` ][gradient]__ (#1448 )
The `Canvas` widget can draw linear gradients now. Thanks to @bungoboingo !
- __[Touch support for `Canvas` ][touch]__ (#1305 )
The `Canvas` widget now supports touch events. Thanks to @artursapek !
- __[`Image` and `Svg` support for `iced_glow` ][image]__ (#1485 )
Our OpenGL renderer now is capable of rendering both the `Image` and `Svg` widgets. Thanks to @ids1024 !
[stateless]: https://github.com/iced-rs/iced/pull/1393
[theming]: https://github.com/iced-rs/iced/pull/1362
[operations]: https://github.com/iced-rs/iced/pull/1399
[lazy]: https://github.com/iced-rs/iced/pull/1400
[gradient]: https://github.com/iced-rs/iced/pull/1448
[touch]: https://github.com/iced-rs/iced/pull/1305
[image]: https://github.com/iced-rs/iced/pull/1485
2021-03-31 20:06:03 +02:00
2022-05-03 19:42:33 +02:00
## [0.4.2] - 2022-05-03
### Fixed
- `Padding` type not exposed in `iced` .
## [0.4.1] - 2022-05-02
### Fixed
- Version number in `README` .
2022-05-02 21:38:21 +02:00
## [0.4.0] - 2022-05-02
### Added
- __[Stateless widgets][stateless]__ (#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][component]__ (#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][webgl]__ (#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][raspberry]__ (#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 for `aarch64` and `armv7` ](https://github.com/orgs/iced-rs/packages ) to easily cross-compile `iced` applications and target Raspberry Pis. Thanks to @derezzedex !
- __[Simpler `Renderer` APIs][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.
[webgl]: https://github.com/iced-rs/iced/pull/1096
[renderer_apis]: https://github.com/iced-rs/iced/pull/1110
[component]: https://github.com/iced-rs/iced/pull/1131
[raspberry]: https://github.com/iced-rs/iced/pull/1160
[responsive]: https://github.com/iced-rs/iced/pull/1193
[stateless]: https://github.com/iced-rs/iced/pull/1284
[The Elm Architecture]: https://guide.elm-lang.org/architecture/
[`wgpu` ]: https://github.com/gfx-rs/wgpu
2021-03-31 20:06:03 +02:00
## [0.3.0] - 2021-03-31
2020-05-30 19:23:55 +12:00
### Added
2021-03-31 19:59:23 +02:00
- 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 !)
2020-05-30 19:23:55 +12:00
2021-03-31 19:59:23 +02:00
### 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-kit` ] → `0.10` [#669 ]
- [`glutin` ] → `0.26` [#658 ]
- [`resvg` ] → `0.12` [#669 ]
- [`tokio` ] → `1.0` [#672 ] (thanks to @yusdacra !)
- [`winit` ] → `0.24` [#658 ]
- [`wgpu` ] → `0.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 ]
- `Viewport::physical_width` returning the wrong value. [#700 ]
- Outdated documentation for the `Sandbox` trait. [#710 ]
2021-12-23 09:34:37 +02:00
[#57 ]: https://github.com/iced-rs/iced/pull/57
[#283 ]: https://github.com/iced-rs/iced/pull/283
[#319 ]: https://github.com/iced-rs/iced/pull/319
[#392 ]: https://github.com/iced-rs/iced/pull/392
[#465 ]: https://github.com/iced-rs/iced/pull/465
[#650 ]: https://github.com/iced-rs/iced/pull/650
[#657 ]: https://github.com/iced-rs/iced/pull/657
[#658 ]: https://github.com/iced-rs/iced/pull/658
[#668 ]: https://github.com/iced-rs/iced/pull/668
[#669 ]: https://github.com/iced-rs/iced/pull/669
[#672 ]: https://github.com/iced-rs/iced/pull/672
[#699 ]: https://github.com/iced-rs/iced/pull/699
[#700 ]: https://github.com/iced-rs/iced/pull/700
[#701 ]: https://github.com/iced-rs/iced/pull/701
[#710 ]: https://github.com/iced-rs/iced/pull/710
[#719 ]: https://github.com/iced-rs/iced/pull/719
[#720 ]: https://github.com/iced-rs/iced/pull/720
[#725 ]: https://github.com/iced-rs/iced/pull/725
[#760 ]: https://github.com/iced-rs/iced/pull/760
[#764 ]: https://github.com/iced-rs/iced/pull/764
[#770 ]: https://github.com/iced-rs/iced/pull/770
[#773 ]: https://github.com/iced-rs/iced/pull/773
[#789 ]: https://github.com/iced-rs/iced/pull/789
[#804 ]: https://github.com/iced-rs/iced/pull/804
2021-01-13 17:15:47 +01:00
[`smol` ]: https://github.com/smol-rs/smol
2021-03-31 19:59:23 +02:00
[`winit` ]: https://github.com/rust-windowing/winit
[`glutin` ]: https://github.com/rust-windowing/glutin
[`font-kit` ]: https://github.com/servo/font-kit
2020-04-15 08:50:47 +02:00
2021-01-15 18:37:20 +01:00
## [0.2.0] - 2020-11-26
2021-01-15 19:05:20 +01:00
### Added
2021-01-15 18:37:20 +01:00
- __[`Canvas` interactivity][canvas]__ (#325 )
A trait-based approach to react to mouse and keyboard interactions in [the `Canvas` widget][#193 ].
- __[`iced_graphics` subcrate][opengl]__ (#354 )
A backend-agnostic graphics subcrate that can be leveraged to build new renderers.
- __[OpenGL renderer][opengl]__ (#354 )
An OpenGL renderer powered by [`iced_graphics` ], [`glow` ], and [`glutin` ]. It is an alternative to the default [`wgpu` ] renderer.
- __[Overlay support][pick_list]__ (#444 )
Basic support for superpositioning interactive widgets on top of other widgets.
- __[Faster event loop][view]__ (#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][event]__ (#614 )
The runtime now can tell whether a widget has handled an event or not, easing [integration with existing applications].
- __[`PickList` widget][pick_list]__ (#444 )
A drop-down selector widget built on top of the new overlay support.
- __[`QRCode` widget][qr_code]__ (#622 )
A widget that displays a QR code, powered by [the `qrcode` crate].
2021-12-23 09:34:37 +02:00
[canvas]: https://github.com/iced-rs/iced/pull/325
[opengl]: https://github.com/iced-rs/iced/pull/354
[`iced_graphics` ]: https://github.com/iced-rs/iced/pull/354
[pane_grid]: https://github.com/iced-rs/iced/pull/397
[pick_list]: https://github.com/iced-rs/iced/pull/444
[error]: https://github.com/iced-rs/iced/pull/514
[view]: https://github.com/iced-rs/iced/pull/597
[event]: https://github.com/iced-rs/iced/pull/614
[color]: https://github.com/iced-rs/iced/pull/200
[qr_code]: https://github.com/iced-rs/iced/pull/622
[#193 ]: https://github.com/iced-rs/iced/pull/193
2021-01-15 18:37:20 +01:00
[`glutin` ]: https://github.com/rust-windowing/glutin
2022-01-22 03:04:35 -06:00
[`wgpu` ]: https://github.com/gfx-rs/wgpu
2021-01-15 18:37:20 +01:00
[`glow` ]: https://github.com/grovesNL/glow
[the `qrcode` crate]: https://docs.rs/qrcode/0.12.0/qrcode/
2021-12-23 09:34:37 +02:00
[integration with existing applications]: https://github.com/iced-rs/iced/pull/183
2021-01-15 18:37:20 +01:00
[The Elm Architecture]: https://guide.elm-lang.org/architecture/
2020-04-15 08:50:47 +02:00
## [0.1.1] - 2020-04-15
2020-04-15 08:44:01 +02:00
### Added
- `Settings::with_flags` to easily initialize some default settings with flags. [#266 ]
- `Default` implementation for `canvas::layer::Cache` . [#267 ]
- `Ctrl + Del` support for `TextInput` . [#268 ]
2020-04-15 08:50:47 +02:00
- Helper methods in `canvas::Path` to easily draw lines, rectangles, and circles. [#293 ]
2020-04-15 08:44:01 +02:00
- `From<Color>` implementation for `canvas::Fill` . [#293 ]
- `From<String>` implementation for `canvas::Text` . [#293 ]
- `From<&str>` implementation for `canvas::Text` . [#293 ]
### Changed
- `new` method of `Radio` and `Checkbox` now take a generic `Into<String>` for the label. [#260 ]
- `Frame::fill` now takes a generic `Into<canvas::Fill>` . [#293 ]
- `Frame::stroke` now takes a generic `Into<canvas::Stroke>` . [#293 ]
- `Frame::fill_text` now takes a generic `Into<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 a `Clip` primitive when unnecessary. [#279 ]
- Alignment of `Text` primitive in `iced_wgpu` . [#281 ]
- `CursorEntered` and `CursorLeft` not being generated. [#289 ]
### Removed
- Unnecessary `'static` lifetimes in `Renderer` bounds. [#290 ]
2021-12-23 09:34:37 +02:00
[#259 ]: https://github.com/iced-rs/iced/pull/259
[#260 ]: https://github.com/iced-rs/iced/pull/260
[#266 ]: https://github.com/iced-rs/iced/pull/266
[#267 ]: https://github.com/iced-rs/iced/pull/267
[#268 ]: https://github.com/iced-rs/iced/pull/268
[#278 ]: https://github.com/iced-rs/iced/pull/278
[#279 ]: https://github.com/iced-rs/iced/pull/279
[#281 ]: https://github.com/iced-rs/iced/pull/281
[#289 ]: https://github.com/iced-rs/iced/pull/289
[#290 ]: https://github.com/iced-rs/iced/pull/290
[#293 ]: https://github.com/iced-rs/iced/pull/293
2020-04-02 17:08:28 +02:00
## [0.1.0] - 2020-04-02
2020-04-02 16:54:55 +02:00
### 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 by [`lyon` ].
- __[`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 of [`resvg` ] and [`raqote` ]. 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 plugging [`tokio` ], [`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 of [`iced_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 of [`guillotiere` ] for batching draw calls. Thanks to @Maldela !
2021-12-23 09:34:37 +02:00
[Event subscriptions]: https://github.com/iced-rs/iced/pull/122
[Custom styling]: https://github.com/iced-rs/iced/pull/146
[`Canvas` widget]: https://github.com/iced-rs/iced/pull/193
[`PaneGrid` widget]: https://github.com/iced-rs/iced/pull/224
[`Svg` widget]: https://github.com/iced-rs/iced/pull/111
[`ProgressBar` widget]: https://github.com/iced-rs/iced/pull/141
[Configurable futures executor]: https://github.com/iced-rs/iced/pull/164
[Compatibility with existing `wgpu` projects]: https://github.com/iced-rs/iced/pull/183
[Clipboard access]: https://github.com/iced-rs/iced/pull/132
[Texture atlas for `iced_wgpu` ]: https://github.com/iced-rs/iced/pull/154
[Text selection for `TextInput` ]: https://github.com/iced-rs/iced/pull/202
2020-04-02 16:54:55 +02:00
[`lyon` ]: https://github.com/nical/lyon
[`guillotiere` ]: https://github.com/nical/guillotiere
[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
[`tokio` ]: https://github.com/tokio-rs/tokio
[`async-std` ]: https://github.com/async-rs/async-std
[`wasm-bindgen-futures` ]: https://github.com/rustwasm/wasm-bindgen/tree/master/crates/futures
[`resvg` ]: https://github.com/RazrFalcon/resvg
[`raqote` ]: https://github.com/jrmuizel/raqote
2022-01-22 03:04:35 -06:00
[`iced_wgpu` ]: wgpu/
2020-04-02 16:54:55 +02:00
2019-09-24 16:10:59 +02:00
2019-11-25 14:55:14 +01:00
## [0.1.0-beta] - 2019-11-25
2019-09-24 16:10:59 +02:00
### Changed
2019-11-25 14:55:14 +01:00
- The old `iced` becomes `iced_native` . The current `iced` crate turns into a batteries-included, cross-platform GUI library.
2019-09-05 12:52:41 +02:00
## [0.1.0-alpha] - 2019-09-05
### Added
- First release! :tada:
2023-07-28 20:02:44 +02:00
[Unreleased]: https://github.com/iced-rs/iced/compare/0.10.0...HEAD
[0.10.0]: https://github.com/iced-rs/iced/compare/0.9.0...0.10.0
2023-04-13 08:31:17 +02:00
[0.9.0]: https://github.com/iced-rs/iced/compare/0.8.0...0.9.0
2023-02-18 12:04:40 +01:00
[0.8.0]: https://github.com/iced-rs/iced/compare/0.7.0...0.8.0
2023-01-14 01:14:02 +01:00
[0.7.0]: https://github.com/iced-rs/iced/compare/0.6.0...0.7.0
2022-12-07 04:47:22 +01:00
[0.6.0]: https://github.com/iced-rs/iced/compare/0.5.0...0.6.0
2022-11-10 01:37:15 +01:00
[0.5.0]: https://github.com/iced-rs/iced/compare/0.4.2...0.5.0
2022-05-03 19:42:33 +02:00
[0.4.2]: https://github.com/iced-rs/iced/compare/0.4.1...0.4.2
[0.4.1]: https://github.com/iced-rs/iced/compare/0.4.0...0.4.1
2022-05-02 21:38:21 +02:00
[0.4.0]: https://github.com/iced-rs/iced/compare/0.3.0...0.4.0
2021-12-23 09:34:37 +02:00
[0.3.0]: https://github.com/iced-rs/iced/compare/0.2.0...0.3.0
[0.2.0]: https://github.com/iced-rs/iced/compare/0.1.1...0.2.0
[0.1.1]: https://github.com/iced-rs/iced/compare/0.1.0...0.1.1
[0.1.0]: https://github.com/iced-rs/iced/compare/0.1.0-beta...0.1.0
[0.1.0-beta]: https://github.com/iced-rs/iced/compare/0.1.0-alpha...0.1.0-beta
[0.1.0-alpha]: https://github.com/iced-rs/iced/releases/tag/0.1.0-alpha