Releases: Nukesor/pueue
pueue-lib-v0.19.5
Added
- Settings option to configure pid path
v2.0.1
pueue-lib-v0.19.4
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 newIoPathError
.Error::LogRead
in favor of the newIoPathError
.Error::FileNotFound
in favor of the newIoPathError
.
v2.0.0
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) andfo
(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, thestatus
command will be called by default #247. - Add the
--group
parameter to thepueue clean
command #248. - Add
output
for a task's log output as template parameters for callbacks #269. - Add
--lines
parameter topueue 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 singlepueue.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 thepueue_directory
config isn't explicitly set #243.XDG_RUNTIME_DIR
is used if the newruntime_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 asjq
, to filter Pueue'sstate -j
output and pipe them back intoformat-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 likepueue 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
andstdout
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 hasgroup add [-p $count] $name
andgroup remove $name
subcommands.
The oldgroup [-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 to1
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 inpueue status
.
v2.0.0-beta.1
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) andfo
(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, thestatus
command will be called by default #247. - Add the
--group
parameter to thepueue clean
command #248. - Add
output
for a task's log output as template parameters for callbacks #269. - Add
--lines
parameter topueue 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 singlepueue.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 thepueue_directory
config isn't explicitly set #243.XDG_RUNTIME_DIR
is used if the newruntime_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 asjq
, to filter Pueue'sstate -j
output and pipe them back intoformat-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 likepueue 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
andstdout
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 hasgroup add [-p $count] $name
andgroup remove $name
subcommands.
The oldgroup [-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 to1
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 inpueue status
.
pueue-lib-v0.19.0
[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 theState
. - 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 thepueue_directory
config isn't explicitly set #243.XDG_RUNTIME_DIR
is used if the newruntime_directory
config isn't explicitly set #243.- Add
lines
toLogRequestMessage
#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 fromPathBuf
toOption<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 fromBTreeMap<String, GroupStatus>
to the newBTreeMap<String, Group>
struct. - Breaking: The
GroupResponseMessage
now also uses the newGroup
struct.
v1.0.6
[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
v1.0.4
v1.0.3
[1.0.3] - 2021-09-15
Fix
- The
default
group wasn't created, if thepueue.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 in1.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.