-
Notifications
You must be signed in to change notification settings - Fork 19
/
ChangeLog
336 lines (201 loc) · 8.95 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
[Upcoming]
Added container label "vendor".
[4.2.1]
Fix stack-use-after-scope bug identified by address-sanitizer.
[4.2.0]
Add compatibility for OpenSSL across iRODS versions.
Add to the release Makefile Docker container builds for
iRODS 4.2.7, 4.2.11 and 4.2.12.
Add experimental CI build against iRODS 4.3-nightly.
Fix missing checksum file for the release tarball.
[4.1.0]
Add iRODS 4.2.12 to test matrix.
Fix struct initialisation for metadata operations (affects iRODS
4.2.12).
[4.0.1]
Fix missing format string in logging which caused a segfault when
log message arugments contained a printf placeholder.
[4.0.0]
Improve connection management by closing the connection while
waiting for the next JSON document and reopening when required.
[3.3.0]
Fix ability to list the checksum of an object with a bad replica.
Add iRODS 4.2.11 to test matrix.
Improve signal handling so that iRODS connections are closed
before exiting.
Fix a segfault caused by irods error values being returned as if
they were the number of bytes read when a user did not have
permission to get an object.
[3.2.0]
Fix a segfault when the file specified by the -f/--file option was
absent.
Fix 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.
Fix for the baton-do "get" operation; the "raw" and "save" options were
not being passed.
Fix for the baton-do "get" operation; the JSON sub-document
decsribing the result was not being returned.
[3.1.0]
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]
Skip the test that always fails on iRODS <4.2.9 due to iRODS bug
https://github.com/irods/irods/issues/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]
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]
Bugfix: Added a workaround for iRODS issue
https://github.com/irods/irods/issues/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: 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]
Bugfix: correct 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.
Bugfix: add 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]
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.
Add support for iRODS 4.2, ended full support for iRODS 3.x.
Add a --connect-time CLI option to limit connection duration.
Add a --no-error CLI option to baton-do
Add a remove data object operation.
Add a create and remove collection option (with recursion).
Add the ability to optionally create and return checksums on put.
Add stricter checks on the incoming JSON to help identify errors.
Switch to using Conda for baton dependencies during tests.
Switch to using iRODS running in Docker for tests.
Refactor the list_checksum function to avoid updating the
checksum.
Bugfix: fix bug where settings from AC_CHECK_LIBs were reset.
Bugfix: use json_to_collection_path for collection operations.
Bugfix: add 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]
Bugfix: ensure args_copy.path is defined during error handling.
Add --wlock command line argument to baton-put and baton-do,
enabling server-side advisory locking.
Fix llvm build warnings (Joshua Randall).
Documentation updates.
[1.1.0]
Add --single-server CLI option to allow the user to prevent
direct access to resource servers when uploading files.
[1.0.1]
Restore the --save CLI option of baton-get
[1.0.0]
This release includes C API changes that are not backwards compatible.
Add the baton-put command-line program.
Add baton-do command-line program.
Add new move and checksum operations.
Deprecate baton-metasuper program.
Use FindBin in baton wrapper script.
[0.17.1]
Relink with iRODS 4.1.10.
Use disposable-irods 1.2.
[0.17.0]
Bugfix: Check for errors when closing data objects.
Add --version CLI argument to baton Perl script.
Allow baton to report the location of files in compound resources.
[0.16.4]
Bugfix: an incorrect error code could be returned in JSON
responses.
Bugfix: the root collection '/' was incorrectly identified as
a relative path.
[0.16.3]
Add support for user#zone syntax in permissions.
Add baton-specificquery program (contributed by Joshua
C. Randall <jcrandall@alum.mit.edu>).
Add new autoconf macro ax_with_irods.
Test on iRODS 4.1.8.
[0.16.2]
Bugfix: handle replicates that have no checksum.
[0.16.1]
Bugfix: search operators "n>=", "n<=" were not being accepted by
user input validation.
[0.16.0]
Bugfix: baton-metamod was missing its --unsafe CLI option.
Report data object resource and location for replicates when
the --replicate option is used.
Improve error messages.
[0.15.0]
Add a --checksum option to the CLI of baton-list and
baton-metaquery which allows data object checksums to be reported.
Add reporting of a user's or group's zone to results obtained
when querying permissions.
Support for iRODS 4.0.x discontinued.
[0.14.0]
Bugfix: fixed queries on ACLs across zones returning no results.
Add support for iRODS 4.1.x. Support for 4.0.x is temporarily
suspended until after the release of iRODS 4.1.0.
Add a safe mode requiring the use of absolute iRODS paths. This
is the default and may be disabled by using the --unsafe command
line argument.
Add a convenience Perl script 'baton' to generate baton-format
JSON for input to the C programs (as an alternative to using
'jq').
Add libtool version information to the shared library.
[0.13.0]
Queries for timestamps and no longer limited to replicate '0'' and
timestamps for all replicates are reported, rather than just the
most recent.
[0.12.0]
Add support for the 'NOT LIKE' and 'IN' query
operators. Contribution from Joshua Randall.
Add --with-irods=/path/to/irods option to the configure script.
[0.11.1]
Add a --buffer-size option to baton-get. This enables the data
transfer buffer size to be set by the user.
[0.11.0]
Add baton-get program to allow data to be downloaded as files
or inline JSON.