[3.0.0] - 2022-12-12
This release was planned to be a much smaller one, but you know how it's like.
A new major version is appropriate, as the process handling has been completely refactored.
Thanks to the work of @mjpieters, Pueue now uses process groups to manage subprocesses, preventing detached processes by default!
This also closes a long standing issue and brings the support for MacOs on par with Linux!
v3.0.0 also adds the long-requested feature to add a query/filter logic for the status
command and lots of other quality of life improvements.
The test coverage and development tooling has never been better, the project continues to improve!
Breaking Changes
- Tasks are now started in a process group, and
pueue kill
will kill all processes in the group #372.
The--children
cli flag has been deprecated (signals go to the whole group, always).
This brings pueue's task handling in line with how interactive shells handle jobs.
As a side-effect it prevents detached processes and thereby covers the 90% usecase users usually expect.
Changed
pueue log
output now includes the task label, if any exists. #355- Enable
pueue edit
to edit multiple properties in one go.
Added
- status querying!
pueue status
now implements the first version of a simple query logic.
The filtering/order/limit logic is also applied to the--json
output.
This allows you to:columns=id,status,path
select the exact columns you want to be shown.[column] [<|>|=|~] [value]
Apply various filters to columns.
There's only a fix amount of operations on a small amount of columns available for now.
If you need more filtering capabilities, please create an issue or a PR :).limit [last|first] 10
limit the results that'll be shown.order_by [column] [asc|desc]
order by certain columns.- For exact info on the syntax check the syntax file.
I still have to write detailed docs on how to use it.
- Show a hint when calling
pueue log
if the task output has been truncated. #318 - Add
Settings.shared.alias_file
, which allows to set the location of thepueue_aliases.yml
file. - Added functionality to edit a task's label #354.
- Added the
created_at
andenqueued_at
metadata fields onTask
#356.
They'll only be exposed when runningstatus --json
for now.
Fixed
- Interpret the
$EDITOR
command, when editing a task's command/path, as a shell expression instead of an executable (#336).
This gives users more control over how their editor should be started. - Don't show the version warning message between daemon and client, when using a
--json
flag. - Fix some test failures in non-standard environments for NixOS test suite (#346).
- The time in pueue's logs will now be in localtime instead of UTC #385.
- MacOs support has been brought on par with Linux.
Misc
- Continuation of testing the
pueue
client, pushing the test coverage from ~70% to ~78%. - A codecov.yml syntax error was corrected, which prevented Codecov from applying the repository-specific configuration.
- CI tests are now run using cargo nextest, for faster test execution, flaky test handling and better test output.
- The macos test suite is now the same as that for Linux, including the client and daemon test suites.