Skip to content

Releases: wtsi-npg/baton

3.2.0

17 Sep 10:59
Compare
Choose a tag to compare

Bugfix: segfault when the file specified by the -f/--file option was absent.

Bugfix: null checksum handling. A JSON null value can legitimately be returned
on checksum verification e.g. where the server has not created a checksum for
the data object.

Bugfix: for the baton-do "get" operation; the "raw" and "save" options were not
being passed.

Bugfix: for the baton-do "get" operation; the JSON sub-document describing
the result was not being returned.

3.1.0

24 Aug 14:40
Compare
Choose a tag to compare

Add support for iRODS 4.2.10. Remove iRODS 4.2.8 and 4.2.9 from
tests.

Remove conda-forge from Conda channels used to build and run.

Add get_client_version and get_server_version functions.

Use get_server_version to allow checksum verification tests to be
skipped on older servers which do not support it.

iRODS 4.2.9 makes some API changes which are accommodated here, while
retaining backward compatibility with previous 4.x versions.

The most significant change is the addition of the ability to select
"good" replicates i.e. at-rest on the server. Previously we were able
only to select "newly created" replicates i.e. those which were not
stale, but which could be in-flight. This change in iRODS was made
possible by adding object locking to the server.

The API features for the old-style "newly created" replicates are
marked as deprecated and redirect to API for "good" replicates on
iRODS >= 4.2.9.

Add default of creating checksums to checksum_data_obj if no operation
is specified.

3.0.1

21 Jun 13:53
Compare
Choose a tag to compare

Skip the test that always fails on iRODS <4.2.9 due to iRODS bug irods/irods#5400.

Default to replResc resource in the iRODS environment file. Print test log on failure.

Bugfix: Set PKG_CONFIG_PATH to allow configure to find libcheck.

Bugfix: free memory correctly after the "checksum" operation.

3.0.0

25 May 13:37
Compare
Choose a tag to compare

Add a --verify flag to baton-put and "verify" to baton-do "put" operations. This validates the uploaded file against a checksum provided by the client. The client should provide a default checksum algorithm, otherwise it will fall back to iRODS' default. The checksum and verify options are mutually exclusive.

No longer force checksum re-caculation in baton_json_checksum_op.

Change signature of put_data_obj to add iRODS default resource.

Change option_flags enum order.

Change return type of checksum_data_obj.

Remove iRODS 4.1.12 from the test matrix.

Bugfix: double free for query input when listing checksums of a dataobject that has inconsistent checksums.

2.1.0

14 Sep 11:06
48cb1dd
Compare
Choose a tag to compare

Bugfix: Added a workaround for iRODS issue
irods/irods#5072. The workaround
requires creating a new connection for every put operation when
baton is re-using a connection for multiple operations. The
workaround will be active only if baton is compiled the configure
flag --enable-put-workaround.

Bugfix: exit non-zero when the iRODS plugins cannot be located.

Bugfix: fix segfault when operations require a path and none
supplied.

Add iRODS 4.2.8 to the test matrix.

Check for both libirods_common and libirods_client for iRODS 4.2.x.

Use the available replication resource in the test server Docker
image, rather than manually irepl to another local resource.

Use check library from Conda, rather than building from source.

2.0.1

05 Dec 15:05
Compare
Choose a tag to compare

This is a bugfix release addressing a bug introduced in 2.0.0 that causes
intermittent segmentation faults.

Corrected cases where we simply returned the target JSON as an
operation result. A result should always be a freshly created JSON
struct so that the caller knows how to free it.

Added checks to free rods_path.rodsObjStat consistently. Although
valgrind didn't find errors with the existing checks, they were not
applied consistently.

2.0.0

09 Oct 08:51
Compare
Choose a tag to compare

This release includes changes to the JSON returned by baton-do
that are not backwardly compatible.

Ensured that all operations return a JSON document describing the
target, even in cases where the target was deleted.

JSON object and JSON array results now appear under distinct
keys to allow automatic unmarshalling by Go.

Timestamps are now formatted as RFC3339, which is the default for
Go unmarshalling.

Added support for iRODS 4.2, ended full support for iRODS 3.x.

Added a --connect-time CLI option to limit connection duration.

Added a --no-error CLI option to baton-do

Added a remove data object operation.

Added a create and remove collection option (with recursion).

Added the ability to optionally create and return checksums on put.

Added stricter checks on the incoming JSON to help identify errors.

Switched to using Conda for baton dependencies during tests.

Switched to using iRODS running in Docker for tests.

Refactored the list_checksum function to avoid updating the
checksum.

Bugfix: Fixed bug where settings from AC_CHECK_LIBs were reset.

Bugfix: Use json_to_collection_path for collection operations.

Bugfix: Added missing error initialisation and missing error
code checks.

Bugfix: Handle paths and file names named '0' correctly in the
Perl wrapper script.

1.2.0

16 Jan 12:26
Compare
Choose a tag to compare

Added --wlock CLI option

1.1.0

09 Jan 13:11
Compare
Choose a tag to compare

Added --single-server CLI option

1.0.1

07 Dec 12:41
Compare
Choose a tag to compare

restore the --save CLI option of baton-get