[0.2.0] - [UNRELEASED]
Added
state
command to print the current poll/listen variable state.- Support for
open-many
command. m
as another duration unit for minute.
Fixed
- The logs going to
eww_{}.log
instead ofewwii_{}.log
. - Logs not truncating if it is over 100MB and not deleting if over 7 days old.
[0.1.4] - 2025-09-18
Added
--preserve
flag to theupdate
command which preserves the new updates.
[0.1.3] - 2025-09-17
Changed
update
command so that it preserves current widget state.--inject-vars
argument of update to just--inject
(or-i
in short).
Fixed
image_width
andimage_height
not working for image widget.
[0.1.2] - 2025-09-13
Added
- “Parent-death signal is not supported” warning on macOS.
- Error logging on parent-death signal fail.
Fixed
- Code not compiling for FreeBSD.
[0.1.1] - 2025-09-07
Added
- Better poll handling for performance.
Changed
update
to not require a window argument.
Fixed
- Poll/Listen handlers not working for multiple windows.
[0.1.0] - 2025-09-06
Added
- SIGINT and SIGTERM catching to KILL AND OBLITERATE children cleanly.
- Proper poll/listen handler setup in
open_window(...)
. - Cleaner poll/listen handler shutdown on
ewwii close
. api::linux
for getting system information likecpu
,gpu
,ram
,disk
,kernel version
etc.- Support for defining multiple
enter([..])
at top level.
Changed
- Changed
std::monitor
return values so that it will work fine with Rhai. - Error handling so that it uses rhai_trace and codespan-reporting for more user-friendly and pretty errors.
- Internal WidgetNode parsing so that user don’t have to return anything (in rhai).
Fixed
- Ewwii creating zombie process on opening window.
- Ewwii shutting down all poll/listen handlers when any window closes.
- Broken
%
based width/height in window definition. - Default poll/listen variables not working in external modules.
call-fns
command not returning anything.poll/listen
definition extractor not skipping comments.
Removed
- Deprecated attribute warning which cluttered the logs.
std::json
(Rhai has built in json support).std::math
(Rhai already convers everything that it has).- The need for
dyn_id
for dynamic system. THIS IS A MAJOR UX change as it massivly reduces errors and the burden on users. - Daemon exit on configuration error mechanism in favor of hot-reloading.
[0.1.0-beta] - 2025-08-27
Added
std::json
module to handle all json related tasks in Rhai.api::wifi
module for handling wifi related tasks.- Better error handling for
ErrorFunctionNotFound
. - Better dynamic system which can handle dyn_id issues and reodering.
std::math
module for mathematics related tasks.propagate_natural_height
property to scroll widget.- Faster re-evaluation of configuration by reusing compiled configuration.
- Improved runtime error handling of WidgetNode casting.
- Caching for ParseConfig in re-evaluation system.
- Proper error handling for runtime error in external module code.
- call-fns command for calling a Rhai function. Note: The function can only see poll/listen variables as their initial value.
- update command with –inject-vars flag to update widget state. Note: All poll/listen variables will reset to their initial values.
std::command
module for running shell commands.INPUT_VAL
environment variable for Input widget commands (onchange
andonaccept
), containing the current text of the input field.- Parse error handling for external module code.
- Killing poll/listen handlers feature in
ewwii kill
command.
Changed
x
,y
,widget
, andheight
properties on window definition are now optional.- Internal Id to WidgetInfo mapping now borrows values instead of owning them to improve performance.
- homogeneous is no longer set to true if
space_evenly
property on box is not defined. - Widget creation and diffing system to borrow WidgetNode instead of owning them to improve performance.
Fixed
- Ewwii window not closing when user requests with
WM_DELETE_WINDOW
event. - Ewwii window not resizable by default.
- Ewwii not printing errors from external modules.
- Prevents early termination caused by kill_on_drop on
listen
. - Slider updating value while dragging issue.
[0.1.0-alpha] - 2025-08-18
Added
- Introduced new programmable configuration system based on Rhai, replacing the Yuck syntax.
- New widget tree system using Rhai functions like
box
,centerbox
,defwidget
, etc. - Diffing system which is the backbone of dynamic updates.
Changed
- Complete rewrite of the internal widget compiler to support declarative Rhai input.
- GTK widget construction is redesigned to work with the new tree.
- Replaced
Simplexpr
and Yuck AST with Rhai’s built in expression system and widget trees. - Removed dependency on Yuck parser.
- Full rewrite of Documentation.
Removed
- Entire Yuck and Simplexpr code from the parsing and rendering codebase.