cargo pueue 3.0.0

latest releases: 3.4.1, 3.4.0, 3.3.3...
23 months ago

[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 the pueue_aliases.yml file.
  • Added functionality to edit a task's label #354.
  • Added the created_at and enqueued_at metadata fields on Task #356.
    They'll only be exposed when running status --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.

Don't miss a new pueue release

NewReleases is sending notifications on new releases.