Releases: Ferdi265/pipectl
pipectl v0.5.1
This release contains a few documentation and CMake fixes, as well as fixing removal of pipes by the wrong pipectl
instance when using -f
.
Bugfixes
- Fix
--verbose
option not being documented - Fix some typos in CMake option help text
- Fix the man page not being regenerated when its sources change
- Fix unlinking of pipes already removed by a second instance of
pipectl
started with-f
Changes
- Made release tarballs reproducible. Running
./scripts/release.sh
while checked out on a tag should now result in an identical tarball as attached to this release.
pipectl v0.5.0
This release rewrites the piping code to fix a longstanding issue with pipectl not exiting after the process on the other side of the output pipe (pipectl -o
) ends.
Bugfixes
- Fixed pipectl not exiting after the process on the other side of the output pipe (
pipectl -o
) ends (#1)
Changes
- Changed the core piping code to buffer up to 4 kilobytes of data between stdin and the pipe for
-i
, and between the pipe and stdout for-o
. This fixes a potential issue where bytes could have been lost if awrite()
call returns with fewer bytes written than expected. - Changed the core piping code to use
poll()
correctly and only perform one non-blocking read or write per file descriptor per poll. This fixes pipectl never returning to the core polling loop in some cases and was the root cause for #1.
pipectl v0.4.2
This patch release contains a minor refactor in the way the nonblocking flag is set on pipes. This release also clarifies the License as GPL-3.0-or-later in the README.
Changes
- The setting of the
O_NONBLOCK
flag was refactored into theopen_pipe()
function instead of being duplicated in the code - A
release.sh
script was added to generate signed release tarballs.
pipectl v0.4.1
This bugfix release fixes a missing CMake include in 0.4.0
causing man pages to be installed in the wrong location.
Bugfixes
- fixed
CMAKE_INSTALL_MANDIR
not being set by includingGNUInstallDirs
- fixed hardcoded
CMAKE_INSTALL_PREFIX/bin
path by switching toCMAKE_INSTALL_BINDIR
pipectl v0.4.0
This documentation release adds a manual page for pipectl
. This release increments a minor version number despite no actual features being added because an optional dependency was added.
New Features
pipectl
now has a manual page that is built usingscdoc
if available.
Upgrading
This release adds a CMake option, INSTALL_DOCUMENTATION
that is OFF
by default. Users that wish to install the manual pages should compile with -DINSTALL_DOCUMENTATION=ON
. Note that turning this option on makes scdoc
a required dependency.
pipectl v0.3.0
This release contains a few bugfixes and two new features: custom pipe paths and environment variables for discovery of the preferred temporary directory for the pipe
New Features
- Add an option to create a named pipe at a custom path by using
--path
or-p
pipectl
now discovers the directory to place pipes in by checkingXDG_RUNTIME_DIR
,TMPDIR
, and then falling back to using/tmp
Bugfixes
- Fixed pipes being deleted when using
pipectl -f -i
.pipectl
now only deletes a previous pipe when-o
is present. - Fixed errors when deleting a previous pipe using
-f
not being handled. - Fixed the error message format being inconsistent. All error message should now be nice and easily understandable.
pipectl v0.2.2
This release contains a small bugfix.
Bugfixes
- Fixed pipes not being deleted when pipectl dies from SIGHUP or SIGTERM
pipectl v0.2.1
This release fixes warnings found by scan-build.
New Features
- This release contains no new features
pipectl v0.2.0
This release adds the --lock
option for synchronization between concurrent writes
New Features
- Allow synchronizing writes to the pipe with the
--lock
or-l
option
pipectl v0.1.2
This release adds the GPL3 license file.
New Features
- This release contains no new features