All Versions
24
Latest Version
Avg Release Cycle
31 days
Latest Release
613 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.19.0 Changes
August 20, 2022โ Added โญ
- ๐ Added
*_released
&*_clicked
methods forPointerState
(#1582). - โ Added
PointerButton::Extra1
andPointerButton::Extra2
(#1592). - โ Added
egui::hex_color!
to createColor32
's from hex strings under thecolor-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 inTextEdit
(#1812).- โ Added
custom_formatter
method forSlider
andDragValue
(#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()
andPointerState::button_triple_clicked()
(#1906). - โ Added
custom_formatter
,binary
,octal
, andhexadecimal
toDragValue
andSlider
(#1953)
๐ Changed ๐ง
- ๐ MSRV (Minimum Supported Rust Version) is now
1.61.0
(#1846). PaintCallback
shapes now require the whole callback to be put in anArc<dyn Any>
with the value being a backend-specific callback type (#1684).- Replaced
needs_repaint
inFullOutput
withrepaint_after
. Used to force repaint after the set duration in reactive mode (#1694). Layout::left_to_right
andLayout::right_to_left
now takes the vertical align as an argument. Previous default wasAlign::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]>
. TheValue
andValues
types were removed in favor ofPlotPoint
andPlotPoints
respectively (#1816). TextBuffer
no longer needs to implementAsRef<str>
(#1824).
๐ Fixed ๐
- ๐ Fixed
Response::changed
forui.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 unrelatedTextEdit
(#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).
- ๐ Added
-
v0.18.1 Changes
May 01, 2022- ๐ Change
Shape::Callback
from&dyn Any
to&mut dyn Any
to support more backends.
- ๐ Change
-
v0.18.0 Changes
April 30, 2022โ Added โญ
- Added
Shape::Callback
for backend-specific painting, with an example (#1351). - โ Added
Frame::canvas
(#1362). - ๐ป
Context::request_repaint
will now wake up UI thread, if integrations has calledContext::set_request_repaint_callback
(#1366). - Added
Plot::allow_scroll
,Plot::allow_zoom
no longer affects scrolling (#1382). - โ Added
Ui::push_id
to resolve id clashes (#1374). - โ Added
ComboBox::icon
(#1405). - Added
Ui::scroll_with_delta
. - โ Added
Frame::outer_margin
. - โ Added
Painter::hline
andPainter::vline
. - โ Added
Link
andui.link
(#1506). - โ Added triple-click support; triple-clicking a TextEdit field will select the whole paragraph (#1512).
- Added
Plot::x_grid_spacer
andPlot::y_grid_spacer
for custom grid spacing (#1180). - โ Added
Ui::spinner()
shortcut method (#1494). - โ Added
CursorIcon
s for resizing columns, rows, and the eight cardinal directions. - โ Added
Ui::toggle_value
. - โ Added ability to add any widgets to the header of a collapsing region (#1538).
๐ Changed ๐ง
- ๐ MSRV (Minimum Supported Rust Version) is now
1.60.0
(#1467). ClippedMesh
has been replaced withClippedPrimitive
(#1351).- ๐ Renamed
Frame::margin
toFrame::inner_margin
. - ๐ Renamed
AlphaImage
toFontImage
to discourage any other use for it (#1412). - โ Warnings will be painted on screen when there is an
Id
clash forGrid
,Plot
orScrollArea
(#1452). Checkbox
andRadioButton
with an empty label (""
) will now take up much less space (#1456).- Replaced
Memory::top_most_layer
with more flexibleMemory::layer_ids
. - ๐ Renamed the feature
convert_bytemuck
tobytemuck
(#1467). - ๐ Renamed the feature
serialize
toserde
(#1467). - Renamed
Painter::sub_region
toPainter::with_clip_rect
.
๐ Fixed ๐
- ๐ Fixed
ComboBox
es always being rendered left-aligned (#1304). - ๐ Fixed ui code that could lead to a deadlock (#1380).
- Text is darker and more readable in bright mode (#1412).
- ๐ Fixed a lot of broken/missing doclinks (#1419).
- ๐ Fixed
Ui::add_visible
sometimes leaving theUi
in a disabled state (#1436). - โ Added line breaking rules for Japanese text (#1498).
๐ Deprecated โข๏ธ
- ๐ Deprecated
CollapsingHeader::selectable
(#1538).
โ Removed ๐ฅ
- Removed the
single_threaded/multi_threaded
flags - egui is now always thread-safe (#1390).
Contributors ๐
- Added
-
v0.17.0 Changes
February 22, 2022โ Added โญ
- Much improved font selection (#1154):
- You can now select any font size and family using
RichText::size
amdRichText::family
and the newFontId
. - Easily change text styles with
Style::text_styles
. - Added
Ui::text_style_height
. - Added
TextStyle::resolve
. - Made the v-align and scale of user fonts tweakable (#1241).
- You can now select any font size and family using
- Plot:
- Added
Plot::x_axis_formatter
andPlot::y_axis_formatter
for custom axis labels (#1130). - Added
Plot::allow_boxed_zoom()
,Plot::boxed_zoom_pointer()
for boxed zooming on plots (#1188). - Added plot pointer coordinates with
Plot::coordinates_formatter
. (#1235). - Added linked axis support for plots via
plot::LinkedAxisGroup
(#1184).
- Added
- ๐ป
Context::load_texture
to convert an image into a texture which can be displayed using e.g.ui.image(texture, size)
(#1110). - ๐
Ui::input_mut
to modify how subsequent widgets see theInputState
and a convenience methodInputState::consume_key
for shortcuts or hotkeys (#1212). - ๐ป Added
Ui::add_visible
andUi::add_visible_ui
. - โ Added
CollapsingHeader::icon
to override the default open/close icon using a custom function. (1147). - โ Added
ui.data()
,ctx.data()
,ctx.options()
andctx.tessellation_options()
(#1175). - Added
Response::on_hover_text_at_pointer
as a convenience akin toResponse::on_hover_text
(1179). - โ Opt-in dependency on
tracing
crate for logging warnings (#1192). - โ Added
ui.weak(text)
. - โ Added
Slider::step_by
(1225). - Added
Context::move_to_top
andContext::top_most_layer
for managing the layer on the top (#1242). - ๐ Support a subset of macOS' emacs input field keybindings in
TextEdit
(#1243). - โ Added ability to scroll an UI into view without specifying an alignment (1247).
- Added
Ui::scroll_to_rect
(1252).
๐ Changed ๐ง
- ๐ โ ๏ธ
Context::input
andUi::input
now locks a mutex. This can lead to a dead-lock is used in anif let
binding!if let Some(pos) = ui.input().pointer.latest_pos()
and similar must now be rewritten on two lines.- Search for this problem in your code using the regex
if let .*input
.
- ๐ Better contrast in the default light mode style (#1238).
- ๐ Renamed
CtxRef
toContext
(#1050). - ๐ฏ
Context
can now be cloned and stored between frames (#1050). - ๐ป Renamed
Ui::visible
toUi::is_visible
. - Split
Event::Text
intoEvent::Text
andEvent::Paste
(#1058). - Replaced
Style::body_text_style
with more genericStyle::text_styles
(#1154). - ๐
TextStyle
is no longerCopy
(#1154). - ๐
Replaced
TextEdit::text_style
withTextEdit::font
(#1154). Plot::highlight
now takes abool
argument (#1159).ScrollArea::show
now returns aScrollAreaOutput
, so you might need to add.inner
after the call to it (#1166).- Replaced
corner_radius: f32
withrounding: Rounding
, allowing per-corner rounding settings (#1206). - Replaced Frame's
margin: Vec2
withmargin: Margin
, allowing for different margins on opposing sides (#1219). - Renamed
Plot::custom_label_func
toPlot::label_formatter
(#1235). Areas::layer_id_at
ignores non-interatable layers (i.e. Tooltips) (#1240).ScrollArea
:s will not shrink below a certain minimum size, set bymin_scrolled_width/min_scrolled_height
(1255).- For integrations:
Output
has now been renamedPlatformOutput
andContext::run
now returns the newFullOutput
(#1292).FontImage
has been replaced byTexturesDelta
(found inFullOutput
), describing what textures were loaded and freed each frame (#1110).- The painter must support partial texture updates (#1149).
- Added
RawInput::max_texture_side
which should be filled in with e.g.GL_MAX_TEXTURE_SIZE
(#1154).
๐ Fixed ๐
- Plot
Orientation
was not public, although fields using this type were (#1130). - Context menus now respects the theme (#1043).
- Calling
Context::set_pixels_per_point
before the first frame will now work. - Tooltips that don't fit the window don't flicker anymore (#1240).
- Scroll areas now follow text cursor (#1252).
- Slider: correctly respond with drag and focus events when interacting with the value directly (1270).
Contributors ๐
- Much improved font selection (#1154):
-
v0.16.1 Changes
December 31, 2021โ Added โญ
- Added back
CtxRef::begin_frame,end_frame
as an alternative toCtxRef::run
.
- Added back
-
v0.16.0 Changes
December 29, 2021โ Added โญ
- Added context menus: See
Ui::menu_button
andResponse::context_menu
(#543). - ๐ Most widgets containing text (
Label
,Button
etc) now supports rich text (#855). - Plots:
- You can now read and write the cursor of a
TextEdit
(#848). - When using a custom font you can now specify a font index (#873).
- โ Added vertical sliders with
Slider::new(โฆ).vertical()
(#875). - Added
Button::image_and_text
(#832). - โ Added
CollapsingHeader::open
to control if it is open or collapsed (#1006). - Added
egui::widgets::color_picker::color_picker_color32
to show the color picker.
๐ Changed ๐ง
- ๐ MSRV (Minimum Supported Rust Version) is now
1.56.0
. - ๐ป
ui.add(Button::new("โฆ").text_color(โฆ))
is nowui.button(RichText::new("โฆ").color(โฆ))
(same forLabel
)(#855). - Plots now provide a
show
method that has to be used to add items to and show the plot (#766). - ๐ป
menu::menu(ui, ...)
is nowui.menu_button(...)
(#543) - Replaced
CtxRef::begin_frame
andend_frame
withCtxRef::run
(#872). - Replaced
scroll_delta
andzoom_delta
inRawInput
withEvent::Scroll
andEvent::Zoom
. - Unified the four
Memory
data buckets (data
,data_temp
,id_data
andid_data_temp
) into a singleMemory::data
, with a new interface (#836). - โ
Replaced
Ui::__test
withegui::__run_test_ui
(#872).
๐ Fixed ๐
- ๐ Fixed
ComboBox
and other popups getting clipped to parent window (#885). - ๐ The color picker is now better at keeping the same hue even when saturation goes to zero (#886).
โ Removed ๐ฅ
- โ Removed
egui::math
(useegui::emath
instead). - โ Removed
egui::paint
(useegui::epaint
instead).
Contributors ๐
- Added context menus: See
-
v0.15.0 Changes
October 24, 2021โ Added โญ
- โ Added horizontal scrolling support to
ScrollArea
andWindow
(opt-in). TextEdit::layouter
: Add custom text layout for e.g. syntax highlighting or WYSIWYG.- ๐
Fonts::layout_job
: New text layout engine allowing mixing fonts, colors and styles, with underlining and strikethrough. - โ Added
ui.add_enabled(bool, widget)
to easily add a possibly disabled widget. - Added
ui.add_enabled_ui(bool, |ui| โฆ)
to create a possibly disabled UI section. - โ Added feature
"serialize"
separatedly from"persistence"
. - Added
egui::widgets::global_dark_light_mode_buttons
to easily add buttons for switching the egui theme. TextEdit
can now be used to show text which can be selected and copied, but not edited.- โ Added
Memory::caches
for caching things from one frame to the next.
๐ Changed ๐ง
- ๐ Change the default monospace font to Hack.
- ๐ป Label text will now be centered, right-aligned and/or justified based on the layout of the
Ui
it is in. Hyperlink
will now word-wrap just like aLabel
.- ๐ป All
Ui
s must now have a finitemax_rect
.- Deprecated:
max_rect_finite
,available_size_before_wrap_finite
andavailable_rect_before_wrap_finite
.
- Deprecated:
Painter
/Fonts
: text layout now expect a color when creating aGalley
. You may override that color withPainter::galley_with_color
.- ๐ MSRV (Minimum Supported Rust Version) is now
1.54.0
. - ๐
By default,
DragValue
s no longer show a tooltip when hovered. Change withStyle::explanation_tooltips
. - Smaller and nicer color picker.
ScrollArea
will auto-shrink to content size unless told otherwise usingScollArea::auto_shrink
.- By default,
Slider
'sclamp_to_range
is set to true. - ๐ Renamed
TextEdit::enabled
toTextEdit::interactive
. - ๐ป
ui.label
(and friends) now takeimpl ToString
as argument instead ofimpl Into<Label>
.
๐ Fixed ๐
- ๐ Fixed wrongly sized multiline
TextEdit
in justified layouts. - ๐ Fixed clip rectangle of windows that don't fit the central area.
- ๐ Show tooltips above widgets on touch screens.
- ๐ Fixed popups sometimes getting clipped by panels.
โ Removed ๐ฅ
- ๐ป Replace
Button::enabled
withui.add_enabled
.
Contributors ๐
- โ Added horizontal scrolling support to
-
v0.14.2 Changes
August 28, 2021๐ Fixed ๐
- ๐ Fixed window resize bug introduced in
0.14.1
.
- ๐ Fixed window resize bug introduced in
-
v0.14.1 Changes
August 28, 2021โ Added โญ
- โ Added
Ui::horizontal_top
.
๐ Fixed ๐
- Fixed
set_width/set_min_width/set_height/set_min_height/expand_to_include_x/expand_to_include_y
. - ๐ Make minimum grid column width propagate properly.
- ๐ Make sure
TextEdit
contents expand to fill width if applicable. ProgressBar
: add a minimum width and fix for having it in an infinite layout.- ๐ Fixed sometimes not being able to click inside a combo box or popup menu.
- โ Added
-
v0.14.0 Changes
August 24, 2021โ Added โญ
- ๐ป Panels can now be added to any
Ui
. - Plot:
- Line styles.
- Added
show_background
andshow_axes
methods toPlot
.
- Progress bar.
- ๐ป
Grid::num_columns
: allow the last column to take up the rest of the space of the parentUi
. - โ Added an API for dropping files into egui (see
RawInput
). CollapsingHeader
can now optionally be selectable.
๐ Changed ๐ง
- A single-line
TextEdit
will now clip text that doesn't fit in it, and scroll. - ๐ป Return closure return value from
Area::show
,ComboBox::show_ui
,ComboBox::combo_box_with_label
,Window::show
,popup::*
,menu::menu
. - ๐ Only move/resize windows with primary mouse button.
- ๐ Tooltips are now moved to not cover the widget they are attached to.
๐ Fixed ๐
- Fixed custom font definitions getting replaced when
pixels_per_point
is changed. - ๐ Fixed
lost_focus
forTextEdit
. - Clicking the edge of a menu button will now properly open the menu.
- ๐ Fixed hover detection close to an
Area
. - Fixed case where
Plot
'smin_auto_bounds
could be ignored after the first call toPlot::ui
. - ๐ Fixed slow startup when using large font files.
Contributors ๐
- ๐ป Panels can now be added to any