All Versions
24
Latest Version
Avg Release Cycle
31 days
Latest Release
624 days ago

Changelog History
Page 2

  • v0.13.1 Changes

    June 28, 2021

    โž• Added โญ

    • Plot: you can now set the stroke of a HLine/VLine.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • Plot::new now takes an id_source: impl Hash instead of a name: impl ToString. Functionally it is the same.
  • v0.13.0 Changes

    June 24, 2021

    โž• Added โญ

    • Plot:
    • Panels:
      • Added right and bottom panels (SidePanel::right and Panel::bottom).
      • Panels can now be resized.
      • Added an option to overwrite frame of a Panel.
    • Improve accessibility / screen reader.
    • โž• Added ScrollArea::show_rows for efficient scrolling of huge UI:s.
    • โž• Added ScrollArea::enable_scrolling to allow freezing scrolling when editing TextEdit widgets within it
    • โž• Added Ui::set_visible as a way to hide widgets.
    • Added Style::override_text_style to easily change the text style of everything in a Ui (or globally).
    • ๐Ÿ’… You can now change TextStyle on checkboxes, radio buttons and SelectableLabel.
    • โž• Added support for cint under cint feature.
    • Added features extra_asserts and extra_debug_asserts to enable additional checks.
    • ๐Ÿ‘ TextEdit now supports edits on a generic buffer using TextBuffer.
    • Added Context::set_debug_on_hover and egui::trace!(ui)

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • Minimum Rust version is now 1.51 (used to be 1.52)
    • ๐Ÿ’… Tweaked the default visuals style.
    • Plot: Renamed Curve to Line.
    • TopPanel::top is now TopBottomPanel::top.
    • ๐Ÿ— SidePanel::left no longet takes the default width by argument, but by a builder call.
    • 0๏ธโƒฃ SidePanel::left is resizable by default.

    ๐Ÿ›  Fixed ๐Ÿ›

    • ๐Ÿ›  Fixed uneven lettering on non-integral device scales ("extortion lettering").
    • ๐Ÿ›  Fixed invisible scroll bar when native window is too narrow for egui.
  • v0.12.0 Changes

    May 10, 2021

    โž• Added โญ

    • โž• Added anchors to windows and areas so you can put a window in e.g. the top right corner.
    • ๐Ÿ‘‰ Make labels interactive with Label::sense(Sense::click()).
    • Added Response::request_focus and Response::surrender_focus.
    • โž• Added TextEdit::code_editor (VERY basic).
    • Pan and zoom plots.
    • Add plot legends.
    • Users can now store custom state in egui::Memory.
    • Added Response::on_disabled_hover_text to show tooltip for disabled widgets.
    • ๐ŸŒ Zoom input: ctrl-scroll and (on eframe web) trackpad-pinch gesture.
    • ๐Ÿ‘Œ Support for raw multi touch events, enabling zoom, rotate, and more. Works with eframe web on mobile devices, and should work with egui_glium for certain touch devices/screens.
    • โž• Added (optional) compatibility with mint.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ‘‰ Make Memory::has_focus public (again).
    • Plot must now be given a name that is unique within its scope.
    • Tab only selects labels if the screen_reader option is turned on.
    • ๐Ÿ’ป Renamed ui.wrap to ui.scope.

    ๐Ÿ›  Fixed ๐Ÿ›

    โœ‚ Removed ๐Ÿ”ฅ

    • Moved experimental markup language to egui_demo_lib
  • v0.11.0 Changes

    April 05, 2021

    โž• Added โญ

    • You can now give focus to any clickable widget with tab/shift-tab.
      • Use space or enter to click the selected widget.
      • Use arrow keys to adjust sliders and DragValues.
    • egui will now output events when widgets gain keyboard focus.
      • This can be hooked up to a screen reader to aid the visually impaired
    • โž• Added the option to restrict the dragging bounds of Window and Area to a specified area using drag_bounds(rect).
    • โž• Added support for small and raised text.
    • Added ui.set_row_height.
    • โž• Added DebugOptions::show_widgets to debug layouting by hovering widgets.
    • โž• Added ComboBox to more easily customize combo boxes.
    • โž• Added Slider::new and DragValue::new to replace old type-specific constructors.
    • โž• Added TextEdit::password to hide input characters.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ’ป ui.advance_cursor is now called ui.add_space.
    • kb_focus is now just called focus.

    ๐Ÿ›  Fixed ๐Ÿ›

    • ๐Ÿ›  Fixed some bugs related to centered layouts.
    • ๐Ÿ›  Fixed secondary-click to open a menu.
    • Fix panic for zero-range sliders and zero-speed drag values.
    • ๐Ÿ›  Fixed false id clash error for wrapping text.
    • ๐Ÿ›  Fixed bug that would close a popup (e.g. the color picker) when clicking inside of it.

    ๐Ÿ—„ Deprecated โ˜ข๏ธ

    • Deprectated combo_box_with_label in favor of new ComboBox.
    • Deprectated type-specific constructors for Slider and DragValue (Slider::f32, DragValue::usize etc).
  • v0.10.0 Changes

    February 28, 2021

    โž• Added โญ

    • โž• Added egui::plot::Plot to plot some 2D data.
    • โž• Added Ui::hyperlink_to(label, url).
    • Sliders can now have a value prefix and suffix (e.g. the suffix "ยฐ" works like a unit).
    • Context::set_pixels_per_point to control the scale of the UI.
    • โž• Added Response::changed() to query if e.g. a slider was dragged, text was entered or a checkbox was clicked.
    • โž• Added support for all integers in DragValue and Slider (except 128-bit).

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ‘Œ Improve the positioning of tooltips.
    • Only show tooltips if mouse is still.
    • 0๏ธโƒฃ Slider will now show the value display by default, unless turned off with .show_value(false).
    • The Slider value is now a DragValue which when dragged can pick values outside of the slider range (unless clamp_to_range is set).
  • v0.9.0 Changes

    February 07, 2021

    โž• Added โญ

    • โž• Added support for secondary and middle mouse buttons.
    • โž• Added Label methods for code, strong, strikethrough, underline and italics.
    • โž• Added ui.group(|ui| { โ€ฆ }) to visually group some widgets within a frame.
    • ๐Ÿ’ป Added Ui helpers for doing manual layout (ui.put, ui.allocate_ui_at_rect and more).
    • โž• Added ui.set_enabled(false) to disable all widgets in a Ui (grayed out and non-interactive).
    • โž• Added TextEdit::hint_text for showing a weak hint text when empty.
    • egui::popup::popup_below_widget: show a popup area below another widget.
    • Added Slider::clamp_to_range(bool): if set, clamp the incoming and outgoing values to the slider range.
    • ๐Ÿ’ป Add: ui.spacing(), ui.spacing_mut(), ui.visuals(), ui.visuals_mut().
    • โž• Add: ctx.set_visuals().
    • ๐Ÿ’… You can now control text wrapping with Style::wrap.
    • Added Grid::max_col_width.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • Text will now wrap at newlines, spaces, dashes, punctuation or in the middle of a words if necessary, in that order of priority.
    • Widgets will now always line break at \n characters.
    • Widgets will now more intelligently choose whether or not to wrap text.
    • mouse has been renamed pointer everywhere (to make it clear it includes touches too).
    • ๐Ÿ’ป Most parts of Response are now methods, so if ui.button("โ€ฆ").clicked { is now if ui.button("โ€ฆ").clicked() {.
    • Response::active is now gone. You can use response.dragged() or response.clicked() instead.
    • Backend: pointer (mouse/touch) position and buttons are now passed to egui in the event stream.
    • DragValue::range is now called clamp_range and also clamps incoming values.
    • ๐Ÿ“‡ Renamed Triangles to Mesh.
    • The tessellator now wraps the clip rectangle and mesh in struct ClippedMesh(Rect, Mesh).
    • Mesh::split_to_u16 now returns a 16-bit indexed Mesh16.

    ๐Ÿ›  Fixed ๐Ÿ›

    • It is now possible to click widgets even when FPS is very low.
    • ๐Ÿ‘ Tessellator: handle sharp path corners better (switch to bevel instead of miter joints for > 90ยฐ).
  • v0.8.0 Changes

    January 17, 2021

    โž• Added โญ

    • โž• Added a simple grid layout (Grid).
    • Added ui.allocate_at_least and ui.allocate_exact_size.
    • โž• Added function InputState::key_down.
    • โž• Added Window::current_pos to position a window.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ†• New simpler and sleeker look!
    • ๐Ÿ“‡ Renamed PaintCmd to Shape.
    • Replace tuple (Rect, Shape) with tuple-struct ClippedShape.
    • ๐Ÿ“‡ Renamed feature "serde" to "persistence".
    • Break out the modules math and paint into separate crates emath and epaint.

    ๐Ÿ›  Fixed ๐Ÿ›

    • ๐Ÿ›  Fixed a bug that would sometimes trigger a "Mismatching panels" panic in debug builds.
    • Image and ImageButton will no longer stretch to fill a justified layout.
  • v0.7.0 Changes

    January 04, 2021

    โž• Added โญ

    • Added ui.scroll_to_cursor and response.scroll_to_me (#81 by lucaspoffo).
    • โž• Added window.id(โ€ฆ) and area.id(โ€ฆ) for overriding the default Id.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ“‡ Renamed Srgba to Color32.
    • All color contructions now starts with from_, e.g. Color32::from_rgb.
    • ๐Ÿ“‡ Renamed FontFamily::VariableWidth to FontFamily::Proportional.
    • Removed pixels_per_point from FontDefinitions.

    ๐Ÿ›  Fixed ๐Ÿ›

    • ๐Ÿšฆ RepaintSignal now implements Sync so it can be sent to a background thread.
    • TextEdit widgets are now slightly larger to accommodate their frames.

    ๐Ÿ—„ Deprecated โ˜ข๏ธ

    • ๐Ÿ—„ Deprecated color::srgba.
  • v0.6.0 Changes

    December 26, 2020

    โž• Added โญ

    • Turn off Window title bars with window.title_bar(false).
    • ๐Ÿ’ป ImageButton - ui.add(ImageButton::new(โ€ฆ)).
    • ๐Ÿ’ป ui.vertical_centered and ui.vertical_centered_justified.
    • ๐Ÿ’ป ui.allocate_painter helper.
    • โš  Mouse-over explanation to duplicate ID warning.
    • You can now easily constrain egui to a portion of the screen using RawInput::screen_rect.
    • You can now control the minimum and maixumum number of decimals to show in a Slider or DragValue.
    • โž• Added egui::math::Rot2: rotation helper.
    • Response now contains the Id of the widget it pertains to.
    • ๐Ÿ’ป ui.allocate_response that allocates space and checks for interactions.
    • โž• Added response.interact(sense), e.g. to check for clicks on labels.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ’ป ui.allocate_space now returns an (Id, Rect) tuple.
    • Arc<Context> has been replaced with CtxRef everywhere.
    • ๐Ÿ’… Slight tweak of the default Style and font sizes.
    • SidePanel::left and TopPanel::top now takes impl Hash as first argument.
    • A Window may now cover an existing CentralPanel.
    • ๐Ÿ’ป ui.image now takes impl Into<Vec2> as a size argument.
    • Made some more fields of RawInput optional.
    • ๐Ÿ‘€ Slider and DragValue uses fewer decimals by default. See the full precision by hovering over the value.
    • egui::App: added fn name(&self) and fn clear_color(&self).
    • Combo boxes has scroll bars when needed.
    • Expand Window + Resize containers to be large enough for last frames content
    • 0๏ธโƒฃ ui.columns: Columns now defaults to justified top-to-down layouts.
    • ๐Ÿ“‡ Renamed Sense::nothing() to Sense::hover().
    • Replaced parking_lot dependency with atomic_refcell by default.

    ๐Ÿ›  Fixed ๐Ÿ›

    • The background for CentralPanel will now cover unused space too.
    • ๐Ÿ’ป ui.columns: Improve allocated size estimation.

    ๐Ÿ—„ Deprecated โ˜ข๏ธ

    • RawInput::screen_size - use RawInput::screen_rect instead.
    • ๐Ÿ’ป left/centered/right column functions on Ui.
    • ๐Ÿ’ป ui.interact_hover and ui.hovered.
  • v0.5.0 Changes

    December 13, 2020

    โž• Added โญ

    • ๐Ÿ‘ Emoji support: 1216 different emojis that work in any text.
      • The Demo app comes with a Font Book to explore the available glyphs.
    • ๐Ÿ’ป ui.horizontal_wrapped(|ui| ...): Add widgets on a row but wrap at max_size.
    • ui.horizontal_wrapped_for_text: Like ui.horizontal_wrapped, but with spacing made for embedding text.
    • ui.horizontal_for_text: Like ui.horizontal, but with spacing made for embedding text.
    • egui::Layout now supports justified layouts where contents is also centered, right-aligned, etc.
    • ๐Ÿ’ป ui.allocate_ui(size, |ui| ...): Easily create a child-Ui of a given size.
    • ๐Ÿ’ป SelectableLabel (ui.selectable_label and ui.selectable_value): A text-button that can be selected.
    • ๐Ÿ’ป ui.small_button: A smaller button that looks good embedded in text.
    • ui.drag_angle_tau: For those who want to specify angles as fractions of ฯ„ (a full turn).
    • Add Resize::id_source and ScrollArea::id_source to let the user avoid Id clashes.

    ๐Ÿ”„ Changed ๐Ÿ”ง

    • ๐Ÿ†• New default font: Ubuntu-Light.
    • ๐Ÿ‘‰ Make it simpler to override fonts in FontDefinitions.
    • โœ‚ Remove minimum button width.
    • ๐Ÿ”จ Refactor egui::Layout substantially, changing its interface.
    • Calling on_hover_text/on_hover_ui multiple times will stack tooltips underneath the previous ones.
    • Text wrapping on labels, buttons, checkboxes and radio buttons is now based on the layout.

    โœ‚ Removed ๐Ÿ”ฅ

    • โœ‚ Removed the label! macro.