๐Ÿ–Œ egui v0.19.0 Release Notes

Release Date: 2022-08-20 // over 1 year ago
  • โž• Added โญ

    • ๐Ÿš€ Added *_released & *_clicked methods for PointerState (#1582).
    • โž• Added PointerButton::Extra1 and PointerButton::Extra2 (#1592).
    • โž• Added egui::hex_color! to create Color32's from hex strings under the color-hex feature (#1596).
    • โšก๏ธ Optimized painting of filled circles (e.g. for scatter plots) by 10x or more (#1616).
    • โž• Added opt-in feature deadlock_detection to detect double-lock of mutexes on the same thread (#1619).
    • โž• Added InputState::stable_dt: a more stable estimate for the delta-time in reactive mode (#1625).
    • You can now specify a texture filter for your textures (#1636).
    • โž• Added functions keys in egui::Key (#1665).
    • โž• Added support for using PaintCallback shapes with the WGPU backend (#1684).
    • Added Contex::request_repaint_after (#1694).
    • ctrl-h now acts like backspace in TextEdit (#1812).
    • โž• Added custom_formatter method for Slider and DragValue (#1851).
    • โž• Added RawInput::has_focus which backends can set to indicate whether the UI as a whole has the keyboard focus (#1859).
    • Added PointerState::button_double_clicked() and PointerState::button_triple_clicked() (#1906).
    • โž• Added custom_formatter, binary, octal, and hexadecimal to DragValue and Slider (#1953)

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ‘ MSRV (Minimum Supported Rust Version) is now 1.61.0 (#1846).
    • PaintCallback shapes now require the whole callback to be put in an Arc<dyn Any> with the value being a backend-specific callback type (#1684).
    • Replaced needs_repaint in FullOutput with repaint_after. Used to force repaint after the set duration in reactive mode (#1694).
    • Layout::left_to_right and Layout::right_to_left now takes the vertical align as an argument. Previous default was Align::Center.
    • ๐Ÿ‘Œ Improved ergonomics of adding plot items. All plot items that take a series of 2D coordinates can now be created directly from Vec<[f64; 2]>. The Value and Values types were removed in favor of PlotPoint and PlotPoints respectively (#1816).
    • TextBuffer no longer needs to implement AsRef<str> (#1824).

    ๐Ÿ›  Fixed ๐Ÿ›

    • ๐Ÿ›  Fixed Response::changed for ui.toggle_value (#1573).
    • ๐Ÿ›  Fixed ImageButton's changing background padding on hover (#1595).
    • ๐Ÿ›  Fixed Plot auto-bounds bug (#1599).
    • ๐Ÿ›  Fixed dead-lock when alt-tabbing while also showing a tooltip (#1618).
    • ๐Ÿ›  Fixed ScrollArea scrolling when editing an unrelated TextEdit (#1779).
    • ๐Ÿ›  Fixed Slider not always generating events on change (#1854).
    • ๐Ÿ›  Fixed jitter of anchored windows for the first frame (#1856).
    • ๐Ÿ›  Fixed focus behavior when pressing Tab in a UI with no focused widget (#1861).
    • ๐Ÿ›  Fixed automatic plot bounds (#1865).

Previous changes from v0.18.1

    • ๐Ÿ”„ Change Shape::Callback from &dyn Any to &mut dyn Any to support more backends.