Releases: Nukesor/pueue
v3.1.1
v3.1.0
v3.0.1
v3.0.0
[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.
v3.0.0 Release candidate 1
This is the first candidate for the v3.0.0 release.
Check the Changelog for more details.
It would be awesome, if you would take a look at it and verify that the new process handling works as expected :)
v2.1.0
Added
- Use the new
--color
command-line switch to control when pueue will use colors in its output. Fixes #311 by mjpieters.
The default isauto
, which means it'll enable colors when connected to a TTY.
The other options arenever
andalways
.
Fixed
Changed
- Exit
pueue follow
when reading logs, as soon as the followed task is no longer active. - Properly formatted debug output.
- Hide
Task.envs
andAddMessage.envs
in debug output, as they were too verbose and contained possibly sensible information.
Misc
pueue-lib-v0.20.0
Added
Message::Close
which indicates the client that everything is done and the connection is being closed.
Removed
- Breaking change: Backward compatibility logic for the old group structure in the main state.
- Breaking change:
TheState
no longer owns a copy of the current settings.
This became possible due to the group configuration no longer being part of the configuration file.
Fixed
- The networking logic wasn't able to handle rapid successiv messages until now.
If two messages were sent in quick succession, the client would receive both messages in one go.
The reason for this was simply that the receiving buffer was always of a size of 1400 Bytes, even if the actual payload was much smaller.
This wasn't a problem until now as there was no scenario where two messages were send immediately one after another.
v2.0.4
Fixed
- Return the correct path from
pueue_lib::settings::configuration_directories()
,
when we get a path fromdirs::config_dir()
(was/home/<user>/.config/pueue.yaml/
, is now again/home/<user>/.config/pueue/
). - Use the correct path to delete the PID file during shutdown.
v2.0.3
Fixed
-
Use the
dirs
crate for platform specific directory discovery. #311
The previous trivial implementation was error prone in some edge-cases.
For instance, Pueue fell back to the shared directory, if the$XDG_RUNTIME_DIR
couldn't be found.
This resulted in a reocurrence of #302 in non-XDG environments.Furthermore, Pueue used the wrong directories for its configuration and cache on Apple and Windows platforms.
This is now fixed.This change is a bit tricky:
- It's a fix on one hand (correct directories for Apple & Windows + fix for #311).
- It's somewhat of a breaking change for Apple & Windows on the other hand?
I still decided to make this a patch release, as the next major release is still in the pipeline and needs a lot of work.
#302 will still show up in Apple/Windows environments, as there doesn't seem to be runtime directory equivalent for those platforms.
v2.0.2
Added
- Better debug output for migration instructions from v1 to v2 #298.
- Better error output and error context for some filesystem related errors (continuation).
- Add a new option to specify the location of the
PID
file:shared.pid_path
#302.
Fixed
- Some options weren't properly passed onto the forked daemon instance, when starting
pueued
with the-d
flag.- the
-vvv
flags - the
--profile
option.
- the
- Autocompletion shell scripts. Their generation is now also tested to prevent future regressions.
- Move the
PID
file into the runtime directory to prevent rare startup issues after crashes + reboot. #302.
This won't cause any problems for running clients/daemons, making this a backward compatible change. - The
format-status
option now respects the order in which tasks piped back into pueue, as long as they're passed in list form #301.
Tasks that're passed as a map will still be displayed in increasing order.