iced-rs/iced
 Watch   
 Star   
 Fork   
2025-12-08 04:25:12
iced

0.14.0

Added

  • Reactive rendering. #2662
  • Time travel debugging. #2910
  • Animation API for application code. #2757
  • Headless mode testing. #2698
  • First-class end-to-end testing. #3059
  • Input method support. #2777
  • Hot reloading. #3000
  • Concurrent image decoding and uploading (and more cool stuff). #3092
  • comet debugger and devtools foundations. #2879
  • Presentation metrics for comet. #2881
  • Custom performance metrics for comet. #2891
  • Smart scrollbars. #2922
  • System theme reactions. #3051
  • table widget. #3018
  • grid widget. #2885
  • sensor widget. #2751
  • float widget and other cool stuff. #2916
  • pin widget. #2673
  • wrap method for column widget. #2884
  • auto_scroll support for scrollable widget. #2973
  • delay support for tooltip widget. #2960
  • Auto strategy to text::Shaping. #3048
  • Incremental markdown parsing. #2776
  • Customizable markdown rendering and image support. #2786
  • Quote support for markdown widget. #3005
  • Tasklist support for markdown widget. #3022
  • crisp feature for default quad snapping. #2969
  • Basic layer merging for graphics::layer::Stack. #3033
  • Headless mode for iced_wgpu and concurrency foundations. #2857
  • Primitive culling in column and row widgets. #2611
  • Lazy Compositor initialization in winit shell. #2722
  • Support for Justified text alignment. #2836
  • Support for double click event to mouse_area. #2602
  • Default implementation for iced_wgpu::geometry::Cache. #2619
  • physical_key field to KeyReleased event. #2608
  • total_size method for qr_code widget. #2606
  • PartialEq implementations for widget styles. #2637
  • Send marker to iced_wgpu::Renderer by using Arc in caches. #2692
  • Disabled Status for scrollbar widget. #2585
  • warning color to theme::Palette. #2607
  • maximized and fullscreen fields to window::Settings. #2627
  • window tasks for controlling sizes and resize increments. #2633
  • window task for drag resizing. #2642
  • Helper functions for alignment to widget module. #2746
  • time::repeat subscription. #2747
  • Vertical support for progress_bar. #2748
  • scale support for image widget. #2755
  • LineEnding support for text_editor. #2759
  • Mul<Transformation> implementation for mouse::Cursor and mouse::Click. #2758
  • animation module support for Wasm target. #2764
  • Flake for a dev shell in DEPENDENCIES. #2769
  • unfocus widget operation. #2804
  • sipper support and some QoL. #2805
  • Variable text size for preedit IME window. #2790
  • is_focused widget operation. #2812
  • Notification of window pre-presentation to windowing system. #2849
  • Customizable vertical spacing for wrapped rows. #2852
  • Indent and unindent actions for text_editor. #2901
  • Floating Images. #2903
  • min_size method to PaneGrid. #2911
  • Generic key for sensor widget. #2944
  • Debug implementation for Task. #2955
  • draw_with_bounds method to canvas::Cache. #3035
  • Synchronous Task Execution and RedrawRequested Consistency. #3084
  • id method to text_editor. #2653
  • horizontal and vertical methods to Padding. #2655
  • is_focused selector and find / find_all operations. #2664
  • push and into_options methods to combo_box::State. #2684
  • Hidden variant to mouse::Interaction. #2685
  • menu_height method to pick_list and combo_box widgets. #2699
  • text_color to toggler::Style. #2707
  • text_shaping method to combo_box widget. #2714
  • transparent field for window::Settings. #2728
  • closeable and minimizable fields to window::Settings. #2735
  • window::monitor_size task. #2754
  • Division operation for Size and Vector. #2767
  • hidden method to scrollable widget. #2775
  • Support for macOS-specific key shortcuts with Control modifier. #2801
  • Additional variants to mouse::Interaction. #2815
  • vsync field to window::Settings. #2837
  • wgpu-bare feature flag to disable default wgpu features. #2828
  • ratio method for Size. #2861
  • Support for ⌘ + Backspace and ⌘ + Delete macOS shortcuts. #2862
  • Expandable selection-by-word after double click in text editors. #2865
  • x11 and wayland feature flags. #2869
  • label method for checkbox widget. #2873
  • shader::Pipeline trait for easier wgpu resource management. #2876
  • select_range widget operation. #2890
  • grid! macro helper. #2904
  • warning style for container widget. #2912
  • Current toggle state to toggler::Status::Disabled. #2908
  • Cursor size awareness for input methods. #2918
  • allow_automatic_tabbing task to runtime::window. #2933
  • FromStr and Display implementations for Color. #2937
  • text::Renderer trait in iced_graphics with fill_raw method. #2958
  • font_maybe helper for text widget. #2988
  • filter_map method to Subscription. #2981
  • repeat field to keyboard::Event::KeyPressed. #2991
  • Additional settings to control the fonts used for markdown rendering. #2999
  • Rescaled variant to window::Event. #3001
  • Environment variable to define beacon server listen address. #3003
  • push_under method to stack widget. #3010
  • NONE constant to keyboard::Modifiers. #3037
  • shadow field to overlay::menu::Style. #3049
  • draw_mesh_cache method in mesh::Renderer trait. #3070
  • Efficient is_empty method for text_editor::Content. #3117
  • *Assign implementations for Point and Vector. #3131
  • Support Background instead of Color styling for scrollable. #3127
  • CornerPreference window setting for Windows. #3128
  • move_to method for Editor API. #3125
  • Background and padding_ratio support for toggler styling. #3129
  • More syntaxes for iced_highlighter. #2822
  • Implement Sub<Vector> for Cursor. #3137

Changed

  • Replace Rc with Arc for markdown caching. #2599
  • Improved button::Catalog and Style documentation. #2590
  • Improved clock example to display ticks and numbers. #2644
  • Derived PartialEq and Eq for mouse::click::Kind. #2741
  • Marked Color::from_rgb8 and Color::from_rgba8 as const. #2749
  • Replaced unmaintained directories-next crate with directories. #2761
  • Changed Widget::update to take Event by reference. #2781
  • Improved gallery example with blurhash previews. #2796
  • Replaced wasm-timer with wasmtimer. #2780
  • Tweaked Palette Generation. #2811
  • Relaxed Task::perform bound from Fn to FnOnce. #2827
  • Improved quad shader to use a single SDF in iced_wgpu. #2967
  • Leveraged Limits::min directly in scrollable::layout. #3004
  • Overhauled theme::Palette generation by leveraging Oklch. #3028
  • Mutable Widget Methods. #3038
  • Prioritized Shrink over Fill in layout logic. #3045
  • Replaced format! with concat! for string literals. #2695
  • Replaced window::run_with_handle with a more powerful window::run. #2718
  • Made color helpers in palette module public. #2771
  • Changed default PowerPreference to HighPerformance in iced_wgpu. #2813
  • Made button::DEFAULT_PADDING public. #2858
  • Replaced Url parsing in markdown widget with String URIs. #2992
  • Improved alignment docs of container. #2871
  • Made input_method module public. #2897
  • iced logo to built-in icons font. #2902
  • Made Layout::children return an ExactSizeIterator. #2915
  • Enabled fancy-regex instead of onig for syntect. #2932
  • Added warning status to toast example. #2936
  • Improved scroll_to and snap_to to allow operating on a single axis. #2994
  • Disabled png-format feature from iced_tiny_skia. #3043
  • Unified keyboard subscriptions into a single listen subscription. #3135
  • Updated to Rust 2024. #2809
  • Updated wgpu to 22.0. #2510
  • Updated wgpu to 23.0. #2663
  • Updated wgpu to 24.0. #2832
  • Updated wgpu to 26.0. #3019
  • Updated wgpu to 27.0. #3097
  • Updated image to 0.25. #2716
  • Updated cosmic-text to 0.13. #2834
  • Updated cosmic-text to 0.14. #2880
  • Updated cosmic-text to 0.15. #3098
  • Updated resvg to 0.45. #2846
  • Updated wasmtimer to 0.4.2. #3012
  • Updated dark-light to 2.0. #2724
  • Updated openssl to 0.10.70. #2783
  • Updated our winit fork with 0.30.8 fixes. #2737

Fixed

  • Slow wgpu documentation. #2593
  • Documentation for open_events. #2594
  • Layout for wrapped row with spacing. #2596
  • Flex layout of Fill elements in a Shrink cross axis. #2598
  • Incorrect triangle mesh counting in wgpu. #2601
  • Dropped images and meshes when pasting Frame. #2605
  • loading_spinners example skipping part of the animation cycle. #2617
  • Window File* events not marked as unsupported for Wayland. #2615
  • Coupling of markdown::view iterator lifetime with resulting Element. #2623
  • Delete key not working in text_editor widget. #2632
  • Consecutive clicks triggering independently of distance. #2639
  • pane_grid losing continuity when adding or removing panes. #2628
  • Synthetic keyboard events not being discarded. #2649
  • sort_by without total ordering in tiny-skia damage tracking. #2651
  • Outdated docs of Scrollable::with_direction and direction. #2668
  • button calling its on_press handler unnecessarily. #2683
  • system_information example getting stuck at boot. #2681
  • tooltip widget not redrawing when hovered. #2675
  • pane_grid::DragEvent::Canceled not emitted within deadband. #2691
  • Inconsistent positions in window-related operations. #2688
  • text::Wrapping not being applied to Paragraph. #2723
  • Broken nested markdown lists without empty line. #2641
  • Unnecessary cast in the_matrix example. #2731
  • Incorrect layer counting in iced_wgpu. #2701
  • Image not respecting viewport bounds. #2752
  • Attempting to draw empty meshes in iced_wgpu. #2782
  • Input placeholder text not clearing when IME is activated. #2785
  • Missing redraw request in image::Viewer. #2795
  • Wrong position of preedit text on scrolled content. #2798
  • Wrong initial candidate position for IME. #2793
  • Text spans in IME preedit not being properly cached. #2806
  • cpu_brand in system_information always being empty. #2797
  • Horizontal text alignment being ignored on multi-line text. #2835
  • Missing redraw request in mouse_area when hovered. #2845
  • futures-executor being pulled even when it's not the default executor. #2841
  • WebGPU failing to boot in Chromium. #2686
  • Crash when using WebGL due to wrong binding alignment. #2883
  • Wrong calculation of rows in grid widget when evenly distributed. #2896
  • Panic in combo_box due to cleared children during diff. #2905
  • OpenGL backend in wgpu interpreting atlas texture as cube map instead of texture array. #2919
  • quad shader blending without pre-multiplication. #2925
  • Inconsistent primitive pixel snapping in iced_wgpu. #2962
  • Inconsistent Rectangle::is_within implementation. #2966
  • Text damage calculation in iced_tiny_skia. #2964
  • Leftover title mention in documentation. #2972
  • Text bounds cutoff in iced_wgpu. #2975
  • Rectangle vertices not being snapped to the pixel grid independently. #2768
  • Lints for Rust 1.89. #3030
  • debug builds on macOS Tahoe. #3056
  • Typo in documentation comment for filter_map. #3052
  • container::Style not respecting crisp feature. #3112
  • Incorrect padding in text_editor. #3115
  • Outdated documentation of Widget::mouse_interaction. #2696
  • Incorrect render pass viewport in custom_shader example. #2738
  • Capturing ButtonReleased event inside image::Viewer. #2744
  • Incomplete docs for on_link_click in rich_text. #2803
  • Stale syntax highlighting on text_editor after theme changes. #2818
  • Wrong background color for window::Preedit on translucent themes. #2819
  • Panic on Chromium-like browsers when canvas initial size is (0, 0). #2829
  • Outdated dev shell templates. #2840
  • Missing derive feature for serde dependency. #2854
  • bezier_tool listed as an example in the Widget trait docs. #2867
  • Incomplete doc comment of Length::is_fill. #2892
  • scrollable touch scrolling when out of bounds. #2906
  • Element::explain being hidden by multi-layer widgets. #2913
  • Missing Shell::request_redraw on component. #2930
  • Text clipping in iced_tiny_skia. #2929
  • Inconsistent naming of tree parameter in Widget trait. #2950
  • text_editor syntax highlighting not updating on paste. #2947
  • svg scaling in iced_tiny_skia. #2954
  • Stroke bounds calculation and clip transformations in iced_tiny_skia. #2882
  • Artifacts when drawing small arcs in canvas widget. #2959
  • Path not being closed in Path::circle. #2979
  • Incorrect transformation of cached primitives in iced_tiny_skia. #2977
  • Panic when drawing empty image in iced_tiny_skia. #2986
  • Incorrect mapping of navigation keys on higher keyboard layers. #3007
  • Status of svg widget not being updated on cursor movement. #3009
  • hover widget ignoring events in certain conditions. #3015
  • OpenGL backend in iced_wgpu choosing wrong texture format in wgpu::image::atlas. #3016
  • Missing redraw request in geometry example. #3020
  • Buffer presentation logic in iced_tiny_skia. #3032
  • combo_box text not getting cleared on selection. #3063
  • wgpu surface not being reconfigured on SurfaceError::Lost or Outdated. #3067
  • Incorrect cursor for slider widget on Windows . #3068
  • Paragraph::hit_span returning false positives at end of content. #3072
  • Incorrect Limits::loose documentation. #3116
  • Missing semicolon triggering a clippy lint. #3118
  • iced_tiny_skia using a Window instead of a Display handle for softbuffer::Context creation. #3090
  • Missing fn operate in tooltip widget. #3132
  • Panic when rendering problematic svg. #3123
  • Hotkey combinations not working on non-latin keyboard layouts. #3134
  • keyboard::listen reporting captured key events. #3136

Removed

  • is_over method in Overlay trait. #2921
  • Short-hand notation support for color! macro. #2592
  • surface argument of Compositor::screenshot. #2672
  • once_cell dependency. #2626
  • winapi dependency. #2760
  • palette dependency. #2839

Many thanks to...

  • @edwloef
  • @rhysd
  • @DKolter
  • @pml68
  • @andymandias
  • @dtzxporter
  • @tarkah
  • @tvolk131
  • @alex-ds13
  • @B0ney
  • @bbb651
  • @JL710
  • @kenz-gelsoft
  • @mfreeborn
  • @mtkennerly
  • @watsaig
  • @13r0ck
  • @airstrike
  • @bungoboingo
  • @EmmanuelDodoo
  • @karolisr
  • @Remmirad
  • @semiversus
  • @Ultrasquid9
  • @xosxos
  • @Zarthus
  • @7h0ma5
  • @7sDream
  • @Adam-Ladd
  • @AMS21
  • @Atreyagaurav
  • @AustinEvansWX
  • @Azorlogh
  • @berserkware
  • @biglizards
  • @boondocklabs
  • @bradysimon
  • @camspiers
  • @chrismanning
  • @codewing
  • @csmoe
  • @davehorner
  • @DavidAguilo
  • @dcz-self
  • @dejang
  • @dependabot[bot]
  • @EleDiaz
  • @ellieplayswow
  • @Exidex
  • @Fili-pk
  • @flakes
  • @Gobbel2000
  • @GyulyVGC
  • @hammerlink
  • @hydra
  • @ibaryshnikov
  • @ids1024
  • @iMohmmedSA
  • @Integral-Tech
  • @inthehack
  • @jakobhellermann
  • @janTatesa
  • @jbirnick
  • @jcdickinson
  • @Jinderamarak
  • @jsatka
  • @kbjr
  • @kgday
  • @kiedtl
  • @Konsl
  • @Koranir
  • @kosayoda
  • @Krahos
  • @l-const
  • @l4l
  • @laycookie
  • @leo030303
  • @Leonie-Theobald
  • @libkurisu
  • @lmaxyz
  • @mariinkys
  • @max-privatevoid
  • @MichelleGranat
  • @misaka10987
  • @mytdragon
  • @njust
  • @nrjais
  • @nz366
  • @OpenSauce
  • @Ottatop
  • @Redhawk18
  • @rhogenson
  • @rizzen-yazston
  • @rotmh
  • @Rudxain
  • @ryco117
  • @Seppel3210
  • @sgued
  • @sopvop
  • @T-256
  • @tafia
  • @thorn132
  • @tigerros
  • @tsuza
  • @vincenthz
  • @will-lynas
2024-09-19 13:06:38
iced

0.13.1

Added

  • Some From trait implementations for text_input::Id. #2582
  • Custom Executor support for Application and Daemon. #2580
  • rust-version metadata to Cargo.toml. #2579
  • Widget examples to API reference. #2587

Fixed

  • Inverted scrolling direction with trackpad in scrollable. #2583
  • scrollable transactions when on_scroll is not set. #2584
  • Incorrect text color styling in text_editor widget. #2586

Many thanks to...

  • @dcampbell24
  • @lufte
  • @mtkennerly
2024-09-18 09:13:15
iced

0.13.0

Added

  • Introductory chapters to the official guide book.
  • Pocket guide in API reference.
  • Program API. #2331
  • Task API. #2463
  • Daemon API and Shell Runtime Unification. #2469
  • rich_text and markdown widgets. #2508
  • stack widget. #2405
  • hover widget. #2408
  • row::Wrapping widget. #2539
  • text macro helper. #2338
  • text::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 to task::Handle. #2503
  • Ferra theme. #2329
  • auto-detect-theme feature. #2343
  • Custom key binding support for text_editor. #2522
  • align_x for text_input widget. #2535
  • center widget helper. #2423
  • Rotation support for image and svg widgets. #2334
  • Dynamic opacity support for image and svg. #2424
  • Scroll transactions for scrollable widget. #2401
  • physical_key and modified_key to keyboard::Event. #2576
  • fetch_position command in window module. #2280
  • filter_method property for image::Viewer widget. #2324
  • Support for pre-multiplied alpha wgpu composite mode. #2341
  • text_size and line_height properties for text_editor widget. #2358
  • is_focused method for text_editor::State. #2386
  • canvas::Cache Grouping. #2415
  • ICED_PRESENT_MODE env var to pick a wgpu::PresentMode. #2428
  • SpecificWith variant to window::Position. #2435
  • scale_factor field to window::Screenshot. #2449
  • Styling support for overlay::Menu of pick_list widget. #2457
  • window::Id in Event subscriptions. #2456
  • FromIterator implementation for row and column. #2460
  • content_fit for image::viewer widget. #2330
  • Display implementation for Radians. #2446
  • Helper methods for window::Settings in Application. #2470
  • Copy implementation for canvas::Fill and canvas::Stroke. #2475
  • Clarification of Border alignment for Quad. #2485
  • "Select All" functionality on Ctrl+A to text_editor. #2321
  • stream::try_channel helper. #2497
  • iced widget helper to display the iced logo ☄️. #2498
  • align_x and align_y helpers to scrollable. #2499
  • Built-in text styles for each Palette color. #2500
  • Embedded Scrollbar support for scrollable. #2269
  • on_press_with method for button. #2502
  • resize_events subscription to window module. #2505
  • Link support to rich_text widget. #2512
  • image and svg support for canvas widget. #2537
  • Compact variant for pane_grid::Controls. #2555
  • image-without-codecs feature flag. #2244
  • container::background styling helper. #2261
  • undecorated_shadow window setting for Windows. #2285
  • Tasks for setting mouse passthrough. #2284
  • *_maybe helpers for text_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 to mouse_area widget. #2450
  • stroke_rectangle method to canvas::Frame. #2473
  • override_redirect setting for X11 windows. #2476
  • Disabled state support for toggler widget. #2478
  • Color::parse helper for parsing color strings. #2486
  • rounded_rectangle method to canvas::Path. #2491
  • width method to text_editor widget. #2513
  • on_open handler to combo_box widget. #2534
  • Additional mouse::Interaction cursors. #2551
  • Scroll wheel handling in slider widget. #2565

Changed

  • Use a StagingBelt in iced_wgpu for regular buffer uploads. #2357
  • Use generic Content in Text to avoid reallocation in fill_text. #2360
  • Use Iterator::size_hint to initialize Column and Row capacity. #2362
  • Specialize widget::text helper. #2363
  • Use built-in [lints] table in Cargo.toml. #2377
  • Target #iced container by default on Wasm. #2342
  • Improved architecture for iced_wgpu and iced_tiny_skia. #2382
  • Make image Cache eviction strategy less aggressive in iced_wgpu. #2403
  • Retain caches in iced_wgpu as long as Rc values are alive. #2409
  • Use bytes crate for image widget. #2356
  • Update winit to 0.30. #2427
  • Reuse glyphon::Pipeline state in iced_wgpu. #2430
  • Ask for explicit Length in center_* methods. #2441
  • Hide internal Task constructors. #2492
  • Hide Subscription internals. #2493
  • Improved view ergonomics. #2504
  • Update cosmic-text and resvg. #2416
  • Snap Quad lines to the pixel grid in iced_wgpu. #2531
  • Update web-sys to 0.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 to mouse::Click. #2414
  • Notify scrollable::Viewport changes. #2438
  • Improved documentation of Component state management. #2556

Fixed

  • Fix block_on in iced_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 in image 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 in DEPENDENCIES.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 for text_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 in iced_wgpu shader. #2484
  • Incorrect priority of Binding::Delete in text_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

Removed

  • Unnecessary struct from download_progress example. #2380
  • Out of date comment from custom_widget example. #2549
  • Clone bound for graphics::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
2024-02-22 16:58:08
iced

0.12.1

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
2024-02-15 10:34:50
iced

0.12.0

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
2023-07-29 01:59:52
iced

0.10.0

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
2023-04-13 14:42:00
iced

0.9.0

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
2023-02-18 19:04:56
iced

0.8.0

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
2023-01-14 08:17:06
iced

0.7.0

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
2022-12-07 11:44:47
iced

0.6.0

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