All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add version detection functions [#471] [#445] [#432]
- Add support for GenQuery2 API [#442]
- Add support for library features API [#441]
- Add support for replica truncate API [#440]
- Add support for new permission levels [#428]
- Add functions for manipulating metadata using rodsadmin level privileges [#420]
- Add support for reporting application name to iRODS server [#407] [#352]
- Modernize Docker test framework [#473] [#447] [#444] [#434] [#433] [#426] [#418]
- Disable port mappings in Docker test framework [#431]
- Temporarily skip broken tests [#435]
- Fix issues with iRODS Consumer server Docker container for testing [#474] [#446]
- Fix failing tests for replica truncate function call [#472]
- Fix duplicate entries appearing in large collection listing [#437]
- Fix sending of incorrect option value in StartupPack [#429]
- Fix test failure involving non-existent resource [#425]
- Fix addAVUMetadata returning error when communicating with iRODS 4.3.0 server [#415]
- Allow data object close operations with replica token to work when communicating with older iRODS versions [#402]
- Add wording about reporting security vulnerabilities [#480]
First coordinated stream is required to close and update the catalog when doing parallel transfer #408
Adjustments to close behavior for NFSRODS in parallel transfer to close first stream last
Enable unit tests to respect jargon properties defaults for ssl negotiation
Updated unit testing to work better with consortium test images, smoothed over a few issues. A configuration property for settings.xml was added to turn off tests leveraging parallel transfer. False will turn off tests that may fail against docker test images due to Docker networking and high ports
<jargon.test.option.exercise.parallel.txfr>false</jargon.test.option.exercise.parallel.txfr>
Added new signatures in CollectionAndDataObjectListAndSearchAO to return all children of a folder rather than paged results.
/**
* List all data objects and collections under a given absolute path, fetching
* all pages at once
*
* @param objStat {@link ObjStat}
* @return {@code List} of {@link CollectionAndDataObjectListingEntry}
* @throws FileNotFoundException {@link FileNotFoundException}
* @throws JargonException {@link JargonException}
*/
List<CollectionAndDataObjectListingEntry> listAllDataObjectsAndCollectionsUnderPath(final ObjStat objStat)
throws FileNotFoundException, JargonException;
/**
* List all data objects under a given absolute path, fetching all pages at once
*
* @param objStat {@link ObjStat}
* @return {@code List} of {@link CollectionAndDataObjectListingEntry}
* @throws FileNotFoundException {@link FileNotFoundException}
* @throws JargonException {@link JargonException}
*/
List<CollectionAndDataObjectListingEntry> listAllDataObjectsUnderPath(final String absolutePathToParent,
final int partialStartIndex) throws JargonException;
/**
* List all collections under a given absolute path, fetching all pages at once
*
* @param objStat {@link ObjStat}
* @return {@code List} of {@link CollectionAndDataObjectListingEntry}
* @throws FileNotFoundException {@link FileNotFoundException}
* @throws JargonException {@link JargonException}
*/
List<CollectionAndDataObjectListingEntry> listAllCollectionsUnderPath(final String absolutePathToParent,
final int partialStartIndex) throws FileNotFoundException, JargonException;
There is a slight behavior change post 4.2.8 where calling create on a file acts in a more idempotent way, not throwing an error when a file was previously created. This seems like a minor variance with a low level of surprise, therefore we'll just roll with the slight variation, not worry about prior differences, and adjust the unit testing expectations.
Retrieve shopping cart was having an issue with a JargonException when retrieving a non-existent cart, now will gracefully handle this. This also updates Stream2StreamAO so that streaming a byte buffer from iRODS when no file exists will properly return a DataNotFoundException
Added ability to append items to the file shopping cart
Added a modify time variable name for data objects that matches the collection modify time
Added unit test to verify IRODSFile and DataObject dates agree as part of explaining a user reported issue
Temporarily turned off certain ticket unit tests that are failing for follow up in a maintenance release
A pull request from Shane-Park to address string out of bounds exceptions
This appears to be a new error in iRODS, setting an expires date from a non-blank value to a blank value. The unit test failures have been quieted for this release and a follow up will be done with iRODS developers to discern whether this is a server regression.
This is a partial fix for changes to the ticket admin API. A CondInput set of key/values pairs was added to the packing instruction. A backwards compatable patch was made that supplies this for iRODS post 4.2.11. A follow on task will expose the new admin ticket functions in the API.