v0.19.0
-
Add
"view_hardware"feature to make hardware rendering optional.- On Windows the
"view_software"renderer uses ~20MB less RAM than Nvidia OpenGL drivers. - Only recommended for small apps with simple UIs.
- If you hand pick features (recommended for release builds) you must enable this to retain hardware acceleration.
- On Windows the
-
Optimize system fonts memory use.
- Breaking Removed
FontDataRef. - Added
FontBytesthat can efficiently reference bytes in various formats, including memory maps. - Breaking View API
add_font_facenow receives aIpcFontBytes. - Refactored
ColorGlyphsandColorPalettesto parse on demand. - Windows builds with default fonts now uses ~20MB less memory.
- Breaking Removed
-
Inherit
StyleMixforWindowto facilitate theme implementation.- See
zng::windowdocumentation for theming tips.
- See
-
Unify pixel density units.
- Breaking Removed
zng::{layout::{Ppi, Dpi, ResolutionUnits}, image::ImagePpi}. - Added
zng::layout::{PxDensity, PxDensity2d, PxDensityUnits}. - Breaking Renamed all ppi to density.
- Breaking Removed
-
Unify
MixBlendModetype with view API.- Breaking Remove
zng::color::RenderMixBlendMode. - Breaking
zng::color::MixBlendModeis now non-exhaustive and has a new variantPlusLighter.
- Breaking Remove
-
Breaking Task functions that capture panic now return
zng::task::TaskPanicError. -
Fix gradient stops with midway adjustment.
-
Impl of
AddandSubforlayout::Vectoris now generic over any type that converts to vector. -
Add
Var::chase_beginto begin a deferred chase animation. -
Add
zng::app::memory_profilerfor recording DHAT heap traces. -
Add
zng::task::set_spawn_panic_handlerfor apps to optionally handle panics in spawn and forget tasks. -
Refactor
toggle::{select_on_init, deselect_on_deinit}to ignore reinit (quick deinit/init). -
Token data package for custom property assign attributes is now documented.
-
#[property]argumentwidget_implnow accepts multiple widget targets. -
Task worker process timeout is now configurable with ZNG_TASK_WORKER_TIMEOUT env var.
-
View process timeout is now configurable with ZNG_VIEW_TIMEOUT env var.
-
Fix view-process recover when it stops responding.
Crates will be available on crates.io once Publish completes.