Releases: zng-ui/zng
Releases · zng-ui/zng
v0.5.0
- Add
OPEN_TITLE_BAR_CONTEXT_MENU_CMD
for windows. - Add
DRAG_MOVE_RESIZE_CMD
for windows. - Breaking View API changes:
- Add
open_title_bar_context_menu
. - Rename
close_window
toclose
. - Rename
focus_window
tofocus
. - Add
set_enabled_buttons
. - Add
set_system_shutdown_warn
. - Note that this is only a breaking change for direct dependents of
zng-view-api
.
- Add
- Better "custom chrome" example in
examples/window.rs
. - Add
OPEN_TITLE_BAR_CONTEXT_MENU_CMD
to window API. - Fix
WIDGET.border().offsets()
not including the innermost border offset. - Add
WindowVars::enabled_buttons
to window API. - Add
WindowVars::system_shutdown_warn
to window API. - Breaking Fix when/property assign expansion order.
- When blocks now expand in the same declaration order, before they always expanded after all property assigns.
// code like this incorrectly builds in v0.4:
fn version_0_4() -> impl UiNode {
let can_move = var(true);
Container! {
when *#{can_move} {
mouse::cursor = mouse::CursorIcon::Move;
}
mouse::on_mouse_down = hn!(can_move, |_| {
let _use = &can_move;
});
}
}
// now in v0.5 the value must be cloned before the last move:
fn version_0_5() -> impl UiNode {
let can_move = var(true);
Container! {
when *#{can_move.clone()} {
mouse::cursor = mouse::CursorIcon::Move;
}
mouse::on_mouse_down = hn!(|_| {
let _use = &can_move;
});
}
}
- Breaking Rename
VarCapabilities
toVarCapability
. - Breaking Add window extension API in
zng-view
.- Add
ViewExtension::window
. - Add
OpenGlContext
and replace thegl
fields withcontext
in multiple extension API args. - Rename
is_config_only
tois_init_only
. - Note that this is only a breaking change for direct dependents of
zng-view
. - Rename
ViewRenderExtensionError
toViewExtensionError
.
- Add
- Add window reference to args for
RendererExtension
when possible. - Fix
zng::view_process::default::run_same_process
not propagating app panics. - Add
WindowCloseRequestedArgs::headed/headless
. - Breaking Fix tab nav when a focus scope with
FocusScopeOnFocus::LastFocused
is a child of
another scope withTabNav::Cycle
.- Breaking change has minimal impact:
- Added input in
WidgetFocusInfo::on_focus_scope_move
. - Removed
FocusChangedCause::is_prev_request
.
- Added input in
- Breaking change has minimal impact:
- Add
FocusChangedCause::request_target
helper method. - Add
WidgetPath::parent_id
helper method. - Fix auto scroll to focused issues:
- When the focused child does not subscribe to focus change events.
- Scrolling when large widget is already visible.
- Scrolling again to same widget when focus change event did not represent a widget change.
- Add
WidgetInfo::spatial_bounds
. - Fix directional navigation cycling only inside viewport now full spatial bounds of scopes.
- Add better conversions for
CommandScope
. You can now scope on named widgets directly,FOO_CMD.scoped("bar-wgt")
. - Add
ContextualizedVar::new_value
. - Breaking
SCROLL.scroll_*
methods now return contextual vars, not values. - Fix panic on window move in Wayland.
- Fix minimize command removing maximized state from restore.
- Fix issue when parent widget's cursor can override child's cursor when the parent cursor var updates.
- Breaking Remove the
cursor_img
property and window var. - Breaking The
cursor
property now has input typeCursorSource
.- Note that the
CursorIcon
type converts toCursorSource
.
- Note that the
- Implement custom cursor images in the default view.
v0.4.0
- Panics in
task::respond
are now resumed in the response var modify closure. - Add
task::ipc
module, for running tasks in worker processes. - Breaking: Remove
"bytemuck"
feature fromzng-unique-id
.- Now must use
impl_unique_id_bytemuck!
to generate the impls. - Note that this is only a breaking change for direct dependents of
zng-unique-id
.
- Now must use
- Add single app-process instance mode.
- Adds
zng-ext-single-instance
crate re-exported inzng::app
when non-default
Cargo feature"single_instance"
is enabled.
- Adds
- Implement
AsRef<std::path::Path>
forTxt
. - Implement
AsRef<std::ffi::OsStr>
forTxt
. - Add app-process crash handler.
- Adds
zng::app::crash_handler
. - Can be used to easily implement crash reporting, stacktrace and minidump
collection, app restart on crash. - Call
zng::app::crash_handler::init_debug()
to quickly setup panic and minidump collection.
- Adds
- Fix view-process kill by user not working after respawn.
- Fix view-process assuming any signal kill was requested by the user.
- Fix potential issue retrieving current_exe trough symbolic links.
- Fix view-process panic message.
- Add
APP.about
. - Fix
AnsiText!
not resetting style. Markdown!
widget now usesAnsiText!
for ```console code block.- Fix
auto_size
not using the min/max_size constraints. - Breaking: Change return type of
SCROLL.vertical_offset
,SCROLL.horizontal_offset
andSCROLL.zoom_scale
.- Changed only from
ReadOnlyContextVar<Factor>
toContextVar<Factor>
so it has minimal impact.
- Changed only from
- Add
vertical_offset
,horizontal_offset
andzoom_scale
properties inScroll!
.- Users should prefer using scroll commands over these properties, but they are useful for implementing features
like binding two side-by-side scrolls, saving scroll state.
- Users should prefer using scroll commands over these properties, but they are useful for implementing features
v0.3.4
- Add Cargo feature documentation in each crate
README.md
andlib.rs
docs. - Add Screenshot function to the Inspector window.
- Fix
formatx!
causing futures to not be Send+Sync. UiTask
now logs a warning if dropped while pending.- Add
UiTask::cancel
to drop a pending task without logging a warning. - Fix
WINDOWS.frame_image
capture with multiple windows capturing pixels from the wrong window. - Fix
WINDOWS.frame_image
var not updating on load or error. - Fix cursor not resetting on widget deinit.
- Add missing
zng::app::test_log
. - Breaking: View API accessibility updates.
- Added
Event::AccessDeinit
, access can now be disabled by the system. - Removed
WindowRequest::access_root
, no longer needed. - Note that this is only a breaking change for direct dependents of
zng-view-api
.
- Added
- Fix many doc broken links.
v0.3.3
- Fix
zng-tp-licenses
build in docs.rs. - You can now suppress license collection on build by setting
"ZNG_TP_LICENSES=false
.
v0.3.2
- Fix docs.rs build for
zng
andzng-wgt-material-icons
. - Add AVIF support in prebuilt view.
- Implement prebuilt compression, prebuilt now depends on
tar
. - Implement
PartialOrd, Ord
forTxt
. - Add crate
zng-tp-licenses
for collecting and bundling licenses. - Add
third_party_licenses
on view API that provides prebuilt bundled licenses. - Add
zng::third_party
with service and types for aggregating third party license info.- Includes a default impl of
OPEN_LICENSES_CMD
that shows bundled licenses.
- Includes a default impl of
v0.3.1
zng version 0.3.1
v0.3.0
- Breaking: Fix typos in public function names, struct members and enum variants.
- Fix cfg features not enabling because of typos.
v0.2.5
- Fix docs.rs build for
zng-view-prebuilt
,zng-app
,zng-wgt
. - Unlock
cc
dependency version. - Remove crate features auto generated for optional dependencies.
- Add
zng::app::print_tracing
. - In debug builds, prints info, warn and error tracing events if no tracing subscriber is set before the first call to
APP.defaults
or
APP.minimal
.
v0.2.4
- Fix
zng
README not showing in crates.io.
v0.2.3
- Change docs website.