Skip to content

Releases: Nukesor/pueue

v2.0.1

12 Mar 13:31
236e208
Compare
Choose a tag to compare

Added

  • Better error output and error context for filesystem related errors #239.

Fixed

  • Commands no longer inherit environment variables from the daemon process by drewkett #297.
    Previously, the daemon environment variables bled into the subprocesses.

pueue-lib-v0.19.4

12 Mar 13:18
7244f78
Compare
Choose a tag to compare

Added

  • New Error::IoPathError, which provides better error messages for path related IoErrors.
  • Error::RawIoError, for all generic IoErrors that already have some context.

Changed

  • More info in Error::IoError, for better context on some IoErrors.

Removed

  • Error::LogWrite in favor of the new IoPathError.
  • Error::LogRead in favor of the new IoPathError.
  • Error::FileNotFound in favor of the new IoPathError.

v2.0.0

18 Feb 17:25
7238111
Compare
Choose a tag to compare

This release marks the second stable release of Pueue.

Shortly after releasing v1.0.0 a few short-comings of some design decisions became apparent.
This release aims to remove all those short-comings or important missing features.
Some of those changes required breaking changes of both internal APIs and datastructures, as well as the CLI interfaces and the configuration file.
Since this project sticks to SemVer, this meant that a new major release was necessary.

Hopefully, this will be the last major release for quite a while.
There are a few features planned that might introduce further breaking changes, but those will most likely need quite some time to implement (if we manage to implement them at all).

Anyhow, I'm quite pleased with the overall state of this release!
A lot of cool and convenient stuff has been added and quite a bit of internal logic has been streamlined and cleaned up.

Also a huge thanks to all contributors that helped working on this version!

Added

  • Shell auto-completion value hints for some arguments (zsh and fish only).
  • Introduce the rm (remove), re (restart) and fo (follow) subcommand aliases #245.
  • Allow to set the amount of parallel tasks at group creation by Spyros Roum #245.
  • When calling pueue without a subcommand, the status command will be called by default #247.
  • Add the --group parameter to the pueue clean command #248.
  • Add output for a task's log output as template parameters for callbacks #269.
  • Add --lines parameter to pueue follow to only show specified number of lines from stdout before following #270.
  • Notify the user if a task is added to a paused group #265.
  • Notify the user that when killing whole groups, those groups are also paused #265.
  • Implementation of configuration profiles #244.
    This supports multiple profiles in a single pueue.yml, which can be loaded via the --profile/-p $name flag.
  • Added the shared.runtime_directory config variable for any runtime related files, such as sockets.
  • XDG_CONFIG_HOME is respected for Pueue's config directory #243.
  • XDG_DATA_HOME is used if the pueue_directory config isn't explicitly set #243.
  • XDG_RUNTIME_DIR is used if the new runtime_directory config isn't explicitly set #243.
  • The unix socket is now located in the runtime_directory by default #243.
  • The format-status subcommand #213.
    This is a preliminary feature, which allows users to use external tools, such as jq, to filter Pueue's state -j output and pipe them back into format-status to display it.
    This feature will probably be removed once a proper internal filter logic has been added.
    The simplest usage looks like this: pueue status --json | jq -c '.tasks' | pueue format-status
  • Show currently active commands when calling pueue wait.

Changed

  • Improved memory footprint for reading partial logs.
  • Always only show the last X lines of output when using pueue log without additional parameters.
  • pueue parallel without arguments now also shows the groups with their current limit like pueue group. #264
  • Configuration files will no longer be changed programatically #241.
  • Default values for all most configuration variables have been added #241.
  • Breaking changes: stderr and stdout of Pueue's tasks are now combined into a single file. #286
    This means a few things.
    • One doesn't have to filter for stderr any longer.
    • All logs are now combined in a single chronologically correct log file.
    • One can no longer filter for stderr/stdout specific output.
  • Breaking changes: The group subcommand now has group add [-p $count] $name and group remove $name subcommands.
    The old group [-a,-p,-r] flags have been removed.
  • Breaking changes: The configuration for groups can no longer be done via configuration file.
    This means, that groups can only be edited, created or deleted via the commandline interface.
    The amount of parallel tasks will also be reset to 1 when upgrading.

Removed

  • No longer read /etc/pueue/ configuration files.
    Pueue isn't designed as a system wide service, hence this doesn't make any sense to have system wide configuration files.
  • If multiple configuration files are found, they're no longer merged together.
    Instead, only the first file will be used.

Fixed

  • Recover tasks from Locked state if editing fails #267
  • pueue log now behaves the same for local and remote logs.
    Remote logs previously showed more lines under some circumstances.
  • panic due to rogue .unwrap() when filtering for a non-existing group in pueue status.

v2.0.0-beta.1

31 Jan 17:36
adc88c0
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

This is the beta release for second stable version of Pueue.

Shortly after releasing v1.0.0 a few short-comings of some design decisions became apparent.
This release aims to remove all those short-comings or important missing features.
Some of those changes required breaking changes of both internal APIs and datastructures, as well as the CLI interfaces and the configuration file.
Since this project sticks to SemVer, this meant that a new major release was necessary.

Hopefully, this will be the last stable release for quite a while.
There are a few features planned that might introduce further breaking changes, but those will most likely need quite some time to implement (if we manage to implement them at all).

Anyhow, I'm quite pleased with the overall state of this release!
A lot of cool and convenient stuff has been added and quite a bit of internal logic has been streamlined and cleaned up.

Also a huge thanks to all contributors that helped working on this version!

Added

  • Introduce the rm (remove), re (restart) and fo (follow) subcommand aliases #245.
  • Allow to set the amount of parallel tasks at group creation by Spyros Roum #245.
  • When calling pueue without a subcommand, the status command will be called by default #247.
  • Add the --group parameter to the pueue clean command #248.
  • Add output for a task's log output as template parameters for callbacks #269.
  • Add --lines parameter to pueue follow to only show specified number of lines from stdout before following #270.
  • Notify the user if a task is added to a paused group #265.
  • Notify the user that when killing whole groups, those groups are also paused #265.
  • Implementation of configuration profiles #244.
    This supports multiple profiles in a single pueue.yml, which can be loaded via the --profile/-p $name flag.
  • Added the shared.runtime_directory config variable for any runtime related files, such as sockets.
  • XDG_CONFIG_HOME is respected for Pueue's config directory #243.
  • XDG_DATA_HOME is used if the pueue_directory config isn't explicitly set #243.
  • XDG_RUNTIME_DIR is used if the new runtime_directory config isn't explicitly set #243.
  • The unix socket is now located in the runtime_directory by default #243.
  • The format-status subcommand #213.
    This is a preliminary feature, which allows users to use external tools, such as jq, to filter Pueue's state -j output and pipe them back into format-status to display it.
    This feature will probably be removed once a proper internal filter logic has been added.
    The simplest usage looks like this: pueue status --json | jq -c '.tasks' | pueue format-status

Changed

  • Improved memory footprint for reading partial logs.
  • Always only show the last X lines of output when using pueue log without additional parameters.
  • pueue parallel without arguments now also shows the groups with their current limit like pueue group. #264
  • Configuration files will no longer be changed programatically #241.
  • Default values for all most configuration variables have been added #241.
  • Breaking changes: stderr and stdout of Pueue's tasks are now combined into a single file.
    This means a few things.
    • One doesn't have to filter for stderr any longer.
    • All logs are now combined in a single chronologically correct log file.
    • One can no longer filter for stderr/stdout specific output.
  • Breaking changes: The group subcommand now has group add [-p $count] $name and group remove $name subcommands.
    The old group [-a,-p,-r] flags have been removed.
  • Breaking changes: The configuration for groups can no longer be done via configuration file.
    This means, that groups can only be edited, created or deleted via the commandline interface.
    The amount of parallel tasks will also be reset to 1 when upgrading.

Removed

  • No longer read /etc/pueue/ configuration files.
    Pueue isn't designed as a system wide service, hence this doesn't make any sense to have system wide configuration files.
  • If multiple configuration files are found, they're no longer merged together.
    Instead, only the first file will be used.

Fixed

  • Recover tasks from Locked state if editing fails #267
  • pueue log now behaves the same for local and remote logs.
    Remote logs previously showed more lines under some circumstances.
  • panic due to rogue .unwrap() when filtering for a non-existing group in pueue status.

pueue-lib-v0.19.0

30 Jan 14:43
700943a
Compare
Choose a tag to compare

[0.19.0] - 2022-01-30

Added

  • Add optional group field to CleanMessage.
  • Add optional parallel_tasks field to Group create message.
  • Introduced a Group struct, which is used to store information about groups in the State.
  • Added the shared.runtime_directory config variable for any runtime related files, such as sockets.
  • XDG_CONFIG_HOME is respected for Pueue's config directory #243.
  • XDG_DATA_HOME is used if the pueue_directory config isn't explicitly set #243.
  • XDG_RUNTIME_DIR is used if the new runtime_directory config isn't explicitly set #243.
  • Add lines to LogRequestMessage #270.
  • Add a new message type Message::EditRestore, which is used to notify the daemon of a failed editing process.

Removed

  • Remove the settings.daemon.default_parallel_tasks setting, as it doesn't have any effect.

Changed

  • Switch from async-std to tokio.
  • Update to rustls 0.20
  • Breaking: Logs are now no longer split into two files, for stderr and stdout respectively, but rather a single file for both.
  • Breaking: The unix socket is now located in the runtime_directory by default #243.
  • Breaking: Shared::pueue_directory changed from PathBuf to Option<PathBuf>.
  • Breaking: Settings::read_with_defaults no longer a boolean as first parameter.
    Instead, it returns a tuple of (Settings, bool) with the boolean indicating whether a config file has been found.
  • Breaking: The type of State.group changed from BTreeMap<String, GroupStatus> to the new BTreeMap<String, Group> struct.
  • Breaking: The GroupResponseMessage now also uses the new Group struct.

v1.0.6

05 Jan 01:59
9b8d07e
Compare
Choose a tag to compare

[1.0.6] - 2022-01-05

Fixed

  • The --after flag on add no longer accepted multiple parameters. This was due to a change in Clap's API in their bump from beta to full v3 release.

v1.0.5

02 Jan 17:47
5ba717f
Compare
Choose a tag to compare

[1.0.5] - 2022-01-02

Changed

  • Update to stable clap v3.0.

Fix

  • Panic instead of looping endlessly if task_log directory disappears.

v1.0.4

12 Nov 01:11
effde6f
Compare
Choose a tag to compare

[1.0.4] - 2021-11-12

Fix

  • Hard panic of the daemon, when one tries to switch a task with itself #262.

v1.0.3

15 Sep 18:29
391d882
Compare
Choose a tag to compare

[1.0.3] - 2021-09-15

Fix

  • The default group wasn't created, if the pueue.yml config file didn't contain it. #242.
    This lead to crashes and undefined behavior in the daemon and the client.
    This bug was introduced in 1.0.0 due to changes to the internal datastructures and several added features.
    It only popped up now, due to #236 being fixed, as the config is now being correctly used.
    This only affects users with quite old pueue configs or custom config files.

v1.0.2

12 Sep 08:01
f1c9de5
Compare
Choose a tag to compare

[1.0.2] - 12-09-2021

Fix

  • Settings weren't always read on daemon restart.
    This bug was introduced in 1.0.0 due to large-scale refactorings and insufficient testing.