Skip to content

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 00:01
· 273 commits to main since this release
bc1625b
  • 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.
  • Optimize system fonts memory use.

    • Breaking Removed FontDataRef.
    • Added FontBytes that can efficiently reference bytes in various formats, including memory maps.
    • Breaking View API add_font_face now receives a IpcFontBytes.
    • Refactored ColorGlyphs and ColorPalettes to parse on demand.
    • Windows builds with default fonts now uses ~20MB less memory.
  • Inherit StyleMix for Window to facilitate theme implementation.

    • See zng::window documentation for theming tips.
  • 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.
  • Unify MixBlendMode type with view API.

    • Breaking Remove zng::color::RenderMixBlendMode.
    • Breaking zng::color::MixBlendMode is now non-exhaustive and has a new variant PlusLighter.
  • Breaking Task functions that capture panic now return zng::task::TaskPanicError.

  • Fix gradient stops with midway adjustment.

  • Impl of Add and Sub for layout::Vector is now generic over any type that converts to vector.

  • Add Var::chase_begin to begin a deferred chase animation.

  • Add zng::app::memory_profiler for recording DHAT heap traces.

  • Add zng::task::set_spawn_panic_handler for 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] argument widget_impl now 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.