Skip to content

Releases: Nukesor/pueue

v0.11.0

30 Dec 19:28
Compare
Choose a tag to compare

[0.11.0] - 18-01-2020

Added

  • Add the --lines flag to the log subcommand.
    This is used to only show the last X lines of each task's stdout and stderr.
  • Add the --full flag to the log subcommand.
    This is used to show the whole logfile of each task's stdout and stderr.
  • Add the --successful-only flag to the clean subcommand.
    This let's keep you all important logs of failed tasks, while freeing up some screen space.

Changed

  • If multiple tasks are selected, log now only shows the last few lines for each log.
    You can use the new --full option to get the old behavior.

Fixed

  • Don't parse config path, if it's a directory.
  • Error with "Couldn't find config at path {:?}" when passing a directory via --config.
  • Fixed missing newline between tasks in log output.

v0.10.2

31 Dec 16:23
Compare
Choose a tag to compare

[0.10.2] - 31-12-2020

Fixed

  • It was possible to remove tasks with active dependants, i.e. tasks which have a dependency and didn't finish yet.
    This didn't lead to any crashes, but could lead to unwanted behavior, since the dependant tasks simply started due to the dependency no longer existing.
    It's however still possible to delete dependencies as long as their dependants are deleted as well.

v0.10.1

29 Dec 17:07
Compare
Choose a tag to compare

[0.10.1] - 29-12-2020

Fixed

  • panic, when using pueue status and only having tasks in non-default groups.

v0.10.0

29 Dec 03:21
Compare
Choose a tag to compare

[0.10.0] - 29-12-2020

This release adds a lot of breaking changes!
I tried to clean up, refactor and streamline as much code as possible.

v0.10.0 aims to be the last release before hitting v1.0.0.
From that point on I'll try to maintain backward compatibility for as long as possible (v2.0.0).
Please read this changelog carefully.

Changed

  • Use TLS encryption for all TCP communication.
  • Updated Crossterm and thereby bump the required rust version to 1.48.
  • Extract the shared secret into a separate file.
    This will allow users to publicly sync their config directory between machines.
  • Change default secret length from 20 to 512 chars.
  • Any unix socket code or configuration stuff has been removed, when building for Windows.
  • Lots of internal code cleanup/refactoring/restructuring.
  • Exit client with non-zero exit code when getting a failure message from the daemon.
  • The group list output has been properly styled.
  • Use unix sockets by default on unix systems.

Added

  • Add the shared.host configuration variable.
    This finally allows to accept outside connections, but comes with some security implications.
  • Create a self-signed ECDSA cert/key for TLS crypto with rcgen.
  • Error messages have been improved in many places.
  • daemon.pause_all_on_failure config, which actually pauses all groups as soon as a task fails.
  • daemon.pause_group_on_failure config, which only pauses the group of the affected task instead of everything.
  • Users can add some additional information to tasks with the task add --label $LABEL option, which will be displayed when calling pueue status.
  • --escape flag on the add subcommand, which takes all given Parameter strings and escapes special characters.
  • Remove --task-ids for wait. Now it's used the same way as start/kill/pause etc.

Removed

  • Removed the daemon.pause_on_failure configuration variable in favor of the other two previously mentioned options.
  • Removed the --port and --unix-socket-path cli flags on client in favor of the --config flag.
  • Removed the --port flag on the daemon in favor of the --config flag.

Fixed

  • Properly pass --config CLI argument to daemonized pueued instance.
  • The --default flag on the kill command has been removed, since this was the default anyway.
    That makes this command's behavior consistent with the start and pause command.
  • Allow the old kill [task_ids...] behavior.
    You no longer need the -t flag to kill a tasks.
    This broke in one of the previous refactorings.

Internal

  • The default group is now an actual group.

v0.9.0

14 Dec 01:39
Compare
Choose a tag to compare

[0.9.0] - 2020-12-14

Added

  • The wait subcommand. This allows you to wait for all tasks in the default queue or of a specific group to finish.
    On top of this, you can also wait for specific tasks.
  • New client configuration show_expanded_aliases (default: false).
    Determines whether the original input command or the expanded alias will be shown when calling status.
  • New --in-place option for restart, which resets and reuses the existing task instead of creating a new one.

Changed

  • Don't update the status of tasks with failed dependencies on paused queues.
    This allows to fix dependency chains without having to restart all tasks in combination with the pause_on_failure and the new --in-place restart option.

Fixed

  • pause_on_failure pauses the group of the failed tasks. Previously this always paused the default queue.
  • Properly display version when using -V.
  • Execute callbacks for tasks with failed dependencies.
  • Execute callbacks for tasks that failed to spawn at all.
  • Persist state changes when handling tasks that failed to spawn.
  • Set proper start/end times for all tasks that failed in any way.

v0.8.2

28 Nov 22:14
Compare
Choose a tag to compare

Added

  • Add exit_code parameter to callback hooks.
  • Add a confirmation message when using reset with running tasks by quebin31.

Changed

  • Update to beta branch of Clap v3. Mainly for better auto-completion scripts.

v0.8.1

27 Oct 21:21
Compare
Choose a tag to compare

[0.8.1] - 2020-10-27

Added

  • Add start, end and enqueue time parameters to callback hooks by soruh.
  • Config flag to truncate content in 'status'.

Fixed

  • ZSH completion script fix by ahkrr.

v0.8.0

25 Oct 17:56
Compare
Choose a tag to compare

[0.8.0] - 2020-10-25

This version adds breaking changes:

  • The configuration file structure has been changed. There's now a shared section.
  • The configuration files have been moved to a dedicated pueue subdirectory.

Added

  • Unix socket support (#90)
  • New option to specify a configuration file on startup for daemon and client.
  • Warning messages for removing/killing tasks (#111) by Julian Kaindl
  • Better message on pueue group, when there are no groups yet.
  • Guide on how to connect to remote hosts via ssh port forwarding.

Changed

  • Move a lot of documentation from the README and FAQ into Github's wiki. The docs have been restructured at the same time.
  • Never create a default config when starting the client. Only starting the daemon can do that.
  • Better error messages when connecting with wrong secret.
  • Windows: The configuration file will now also be placed in %APPDATA%\Local\pueue.

Fixed

  • Fixed panic, when killing and immediately removing a task. (#119)
  • Fixed broken non-responsive daemon, on panic in threads. (#119)
  • Don't allow empty commands on add.
  • The client will never persist/write the configuration file. (#116)
  • The daemon will only persist configuration file on startup, if anything changes. (#116)
  • (Probably fixed) Malformed configuration file. (#116)

v0.7.2

05 Oct 21:18
Compare
Choose a tag to compare

[0.7.2] - 2020-10-05

Fixed

  • Non-existing tasks were displayed as successfully removed. (#108)
  • Remove child process handling logic for MacOs, since the library simply doesn't support this.
  • Remove unneeded config features and reduce compile time by ~10%. Contribution by LovecraftianHorror (#112)
  • Remove futures-timers, effectively reducing compile time by ~14%. (#112)
  • Update to comfy-table v1.1.0, reducing compile time by another ~10%. (#112)

Changed

  • Linux process handling now always sends signals to it's direct children, if the root process is a sh -c process.
    Previously, this behavior was somewhat ambiguous and inconsistent. (#109)

Added

  • Update workflow to build arm binaries.

v0.7.1

24 Jul 16:21
Compare
Choose a tag to compare

[0.7.1] - 2020-07-24

Added

  • Update workflow to build arm binaries