Open
Conversation
ffeb6a2 to
29b2037
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.33→0.34Release Notes
emilk/egui (egui)
v0.34.1Compare Source
Nothing new
v0.34.0Compare Source
Highlights from this release
skrifaScrollAreasUias the main entrypointSkrifa and font hinting
The font rendering backend was switched from
ab_glyphtoskrifa+vello_cpu. This enabled us supportfont hinting and variations. It also paves the way for more font improvements in the future, like support for color
emojis and adding helpers for variations like
RichText::bold.Font hinting makes text more clear (look at the =):
Screen.Recording.2026-03-26.at.10.49.43.mov
We now support setting variable font parameters:
Screen.Recording.2026-03-26.at.11.37.21.mp4
(Unfortunately there is currently a bug with variations, meaning changing them live like this won't work in practise.
There is a draft PR to fix it, but it didn't make the release)
More
Ui, lessContextegui has long had a confusing overlap in responsibilities between
ContextandUi.In particular, you could add panels to either one (or both!).
In this release, we switch from having
Contextbe the main entrypoint, and instead provide whole-appUi.In egui we've replaced
Context::runwithContext::run_ui, and changed viewports to be given a&mut Uiinstead ofContext.In
eframewe've deprecatedApp::updatereplaced it withApp::ui(which provides a&mut Uiinstead of a&Context).In addition to this,
Uinow derefs toContext, so all code likeui.ctx().input(…)can now be writtenui.input(…).This means you are much less likely to have to use naked
Contexts.Contextcan still be useful though, since they implementCloneand can be sent to other threads so you can call.request_repainton them.Context::run_ui#7736 by @emilkDeref<Target = Context>forUi#7770 by @emilkApp::updatewithfn logicandfn ui#7775 by @emilkContext::styletoglobal_style; avoid confusion w/Ui::style#7772 by @emilkContextto avoid confusion #7773 by @emilkUiinstead ofContext#7779 by @emilkChanged panel API
As part of the above work, we have unified the panel API.
SidePanelandTopBottomPanelare deprecated, replaced by a singlePanel.Furthermore, it is now deprecated to use panels directly on
Context. Use theshow_insidefunctions instead, acting onUis.This unification and simplification will make it easier to maintain and improve panels going forward.
Panelto replaceSidePanelandTopBottomPanel#5659 by @sharky98Paneldirectly on aContext#7781 by @emilkCentralPanel::show#7783 by @emilkContext::used_sizeandContext::available_rect#7788 by @emilk⭐ Added
is_scrolling/is_smooth_scrollingutil, checking for active scroll action #7669 by @IsseWButton::shortcut_textandright_text#7696 by @emilkScrollArea::content_margin#7722 by @emilkTypedPluginGuardandTypedPluginHandle#7780 by @apekrosViewportInfo::occludedandvisible#7948 by @emilkAtomprefix/suffix support toDragValue#7949 by @lucasmerlinAtom::id,align,closure,max_size#7958 by @lucasmerlinDebugOptions::warn_if_rect_changes_id#7984 by @emilkTextEditAtomprefix/suffix #7587 by @lucasmerlinButton::left_text#7955 by @rustbasicResponse::parent_id#8010 by @lucasmerlinContext::text_edit_focused#8014 by @emilkContext::time#8017 by @emilkUi::is_tooltip#8016 by @emilkUiStack::bg_color#8020 by @emilkegui::IdSetpublic #8019 by @lucasmerlin🔧 Changed
accesskitfeature and always depend onaccesskit#7701 by @emilkFrameCache::getreturn a reference instead of cloning the cached value #7834 by @KonaeAkiraGalley::pos_from_layout_cursorpub#7864 by @dionbScrollAreas#8018 by @emilk🔥 Removed
CacheTrait::as_any_mut#7833 by @emilk🐛 Fixed
CentralPanel::show_insideallocates space in parent #7778 by @emilkCentralPanel::show_inside_dynto roundpanel_rect#7868 by @ripopovUiBuilder, to avoid wrapping passed in ids with Id::new() #7925 by @lucasmerlintruncate()and similar for os scaling other than 100% #7867 by @RndUsr123TextEditandLayoutJobalignments #7831 by @RndUsr123horizontal_wrappingrow height after usingtext_edit_multiline#8000 by @optozoraxVisuals::interact_cursorsupport inButton#7986 by @mango766🚀 Performance
Responseslightly #8011 by @emilkConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.