Skip to content

Releases: Nukesor/pueue

v1.0.1

20 Aug 12:36
9fb224c
Compare
Choose a tag to compare

[1.0.1] - 20-08-2021

Fix

  • Update to clap v3.0.0-beta.4. The upgrade from beta.2 to beta.4 introduced breaking changes, which lead to compiler errors when doing a cargo install without --locked.
    A beta upgrade seems to be handled like a patch version in semantic versioning.
    This isn't a bug per se, but it leads to confusion when people forget the --locked flag during install.

v1.0.0

18 Aug 22:58
8e233d0
Compare
Choose a tag to compare

[1.0.0] - 19-08-2021

A lot of things happened during this release.
Even though quite a few new features were added, the main effort went into increasing stability and inter-version compatibility.

The goal of this release is to push the code quality, error handling, test coverage and stability to a level that justifies a v1.0 release.
Since this project follows semantic versioning, this includes no breaking changes and backward compatibility on minor version upgrades.
This also means that I'm quite certain that there are no critical bugs in the project and that all important and planned features have been implemented.

Unless some critical issues pop up, this can be seen as a finished version of the project!

Disclaimer: This project is mainly developed for Linux.
Windows and MacOS/Apple platforms are partially supported, but this is a community effort.
Thereby, v1.0 might be misleading for those.
I hope you understand, that I cannot wait for someone to implement missing features for these platforms.
I want this project to move forward.

Added

  • ~ is respected in configuration paths by dadav for #191.
  • Use pueue kill --signal SigTerm to send Unix signals directly to Pueue's processes. #202
  • Support for other apple platforms. New build artifacts for ios-aarch64.
  • Option in config file to use the --in-place flag on restart by default.
  • --failed-in-group [group_name] for restart. That way you can restart all failed tasks of a specific group #211
  • Options in config file to configure the time and datetime format in pueue status for #212.
  • Add a worker pool representation for groups to Pueue #218.
    The task's group name and the pool's worker id for a given task are then injected into the environment variables of the subprocess.
    This allows users to map Pueue's internal group and worker logic to external resources:
    ./run_on_gpu_pool --gpu $PUEUE_WORKER_ID --pool $PUEUE_GROUP`
    
  • The last lines of stderr and stdout are now available in the callback command. #196.
  • Add callback_log_lines setting for the daemon, specifying the amount of lines returned to the callback. #196.
  • Add a PID file to $pueue_directory/pueue.pid, which will be used to check whether there's an already running daemon.

Changed

  • Use the next available id instead of constantly increasing id's.
    This results in ids being reused, on pueue clean or pueue remove of the last tasks in a queue.
  • Show the date in pueue status for the start and end fields, if the task didn't start today.
  • Backward compatible protocol for stable version changes with serde_cbor.
  • Detection of old daemon versions during client->daemon handshake.
  • Overall better debug messages.
  • Use tokio's async runtime and set a hardcoded limit of 4 worker threads, which is already more than enough.
  • Add a debug message, when using pueue wait or pueue wait -g some_group and there're no tasks in the group.
  • Stabilized internal daemon shutdown and restoration logic.
  • Rename Index to Id in pueue status to free up screen space.
  • Remove Exitcode column in pueue status and include exitcode into Failed status to free up screen space.
  • You can no longer remove groups, if there are still tasks assigned to that group.
  • A non-zero exit code will be returned, if no tasks were affected by an action.

Datastructures

A whole lot of Pueue's internal datastructures have been refactored.
The main goal of this was to prevent impossible/invalid states wherever possible.

Overall, this resulted in sleaker und much better maintainable code. However, this broke backwards compatibility to pre-v1.0 at numerous places.

  • Json structure of the Task struct changed significantly, as data depending on the current status has been moved into the TaskStatus enum.
  • Many messages have been touched, as several new enums have been introduced and many fields have been removed.

Fixed

  • Handle very rare race-condition, where tasks with failed dependencies start anyway.
  • pueue log --json now works again. #186
    By default, only a few lines of output will be provided, but this can be configured via the --full and --lines option.
  • Use crossbeam's mpsc channels, resulting in faster execution of user's instructions.
  • Fix issue where the daemon was shutting down so fast, there wasn't enough time to respond the client that it's actually shutting down.

Removed

  • Removed the enqueue parameter from callback, as the callback is only run for finished tasks.

v1.0.0-rc.4

31 Jul 11:22
ee71ad7
Compare
Choose a tag to compare
(cargo-release) pueue version 1.0.0-rc.4

v1.0.0-rc.3

07 Jul 21:11
e7bc8a3
Compare
Choose a tag to compare
(cargo-release) pueue version 1.0.0-rc.3

v1.0.0-rc.2

15 Jun 20:30
81c9a9f
Compare
Choose a tag to compare
(cargo-release) pueue version 1.0.0-rc.2

v1.0.0-rc.1

28 May 12:33
0135b94
Compare
Choose a tag to compare
(cargo-release) pueue version 1.0.0-rc.1

v0.12.2

20 Apr 15:49
3282a13
Compare
Choose a tag to compare

[0.12.2] - 20-04-2021

Fixed

  • Remove task logs on pueue remove. #187
  • Improve Windows support by oiatz. #114
  • Fix empty output for empty groups when requesting a specific group with status -g $name. #190
  • Fix missing output when explicitly requesting the default group with status -g default. #190

v0.12.1

12 Mar 12:25
72cdda1
Compare
Choose a tag to compare

[0.12.1] - 12-03-2021

Fixed

  • Dependant tasks didn't update the id of their dependencies, if a dependency's id was changed via pueue switch #185

Changed

  • Show the status of the default group, if there are no tasks in the queue.

v0.12.0

10 Feb 01:14
Compare
Choose a tag to compare

[0.12.0] - 10-02-2021

Info for all packagers:
In case you updated your packaging rules for the new layout in v0.11, those changes need to be reverted.
The new repository layout with workspaces didn't work out that well.
Managing two crates in a single repository in combination with cargo release turned out to be quite annoying.

Added

  • --all-failed flag for restart.
    This will restart all tasks that didn't finish with a Success status. #79
  • New config option client.dark_mode by Mephistophiles. #178
    Default: false. Adds the ability to switch to dark colors instead of regular colors.

Changed

  • Rename/change some flags on the restart subcommand.
    1. Rename --path to --edit-path. The short flag stays the same (p).
    2. Rename the short flag for --start-immediately to -k.
  • Dependency bump to pueue-lib v0.12.1

Fixed

  • -s flag overload on the restart command.
    --start-immediately and --stashed collided.
  • Error on BSD due to inability to get username from system registry. #173

v0.11.1

30 Dec 19:28
Compare
Choose a tag to compare

[0.11.1] - 19-01-2020

Fixed

  • Wrong version in the Github release files (pueue-v0.11.0-alpha.0) due to an error in the build process with the new project structure.