Releases: DICE-UNC/jargon
4.2.2.1-RELEASE
A maintenance and targeted feature release per the https://github.com/DICE-UNC/jargon/milestone/22 milestone.
This anticipates the next iRODS release, and any test failures upon the final iRODS release will be followed up with a 4.2.2.2 maintenance.
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.2.2.1-RELEASE</version>
</dependency>
Project: Jargon-core API
Date: 05/24/2018
Release Version: 4.2.2.1-RELEASE
git tag: 4.2.2.1-RELEASE
Developer: Mike Conway
News
4.2.3 Compatability and maintenance
for milestone: https://github.com/DICE-UNC/jargon/milestone/22
=======
Please go to https://github.com/DICE-UNC/jargon for the latest news and info.
Jargon-core consists of the following libraries
- jargon-core - base libraries, implementation of the iRODS protocol
- jargon-data-utils - additional functionality for dealing with iRODS data, such as building trees, storing information in iRODS on behalf of applications, and doing diffs between local and iRODS
- jargon-user-tagging - code for using free tagging and other metadata metaphors on top of iRODS
- jargon-user-profile - allows management of user profile and related configuration data in a user home directory
- jargon-ticket - support for ticket processing
- jargon-httpstream - stream http content into iRODS via Jargon
- jargon-ruleservice - support for running and managing rules from interfaces
- jargon-pool - initial implementation of commons-pool caching of iRODS agent connections. This is initially for WebDav, and will be utilized as an option in REST and cloud browser. Consider this code experimental
Requirements
- Jargon depends on Java 1.8+
- Jargon is built using Apache Maven2, see POM for dependencies
- Jargon supports iRODS 4.1.0 through 4.2.2, it also maintains very reasonable backards compatability to iRODS 3.3.1 however this is no longer actively tested
Libraries
Jargon-core uses Maven for dependency management. See the pom.xml file for references to various dependencies.
Note that the following bug and feature requests are logged in GForge with related commit information https://github.com/DICE-UNC/jargon/issues
Changes
Add trash operations service #280
Adding service object for managing trash to retrofit into MetaLnx
Escape spec chars in pam password #288
Added escaping of characters that cause problems with the kvp processing when sending PAM passwords and integrated into PAMAuth. This is linked to iRODS irods/irods#3528
Indexer/visitor pattern for data utils #296
Add code to support easy impl of metadata/file indexers via a Visitor pattern on iRODS directories. This is added to the jargon-data-utils and
provides a reliable way of traversing an iRODS hierarchy with control, applying a user-supplied procedure at each node via the Hierarchical Visitor pattern. This also has a dedicated implementation (at least an initial one) of a visitor with additional facilities for indexing crawlers. This will be optimized as time goes forward but is in employment already for several locations.
JavaDoc cleanups #279
Cleanups and fixes to javadocs to allow generation
4.2.2.0-RELEASE
This is a maintenance release of Jargon corresponding to iRODS 4.2.2 and backwards compatible to iRODS 3.3.1. Per the https://github.com/DICE-UNC/jargon/milestone/19 Milestone
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.2.2.0-RELEASE</version>
</dependency>
Project: Jargon-core API
Date: 01/04/2018
Release Version: 4.2.2.0-RELEASE
git tag: 4.2.2.0-RELEASE
Developer: Mike Conway
News
4.2.2 Compatability and maintenance
for milestone: https://github.com/DICE-UNC/jargon/milestone/19
=======
Please go to [[https://github.com/DICE-UNC/jargon]] for the latest news and info.
Jargon-core consists of the following libraries
- jargon-core - base libraries, implementation of the iRODS protocol
- jargon-data-utils - additional functionality for dealing with iRODS data, such as building trees, storing information in iRODS on behalf of applications, and doing diffs between local and iRODS
- jargon-user-tagging - code for using free tagging and other metadata metaphors on top of iRODS
- jargon-user-profile - allows management of user profile and related configuration data in a user home directory
- jargon-ticket - support for ticket processing
- jargon-httpstream - stream http content into iRODS via Jargon
- jargon-ruleservice - support for running and managing rules from interfaces
- jargon-pool - initial implementation of commons-pool caching of iRODS agent connections. This is initially for WebDav, and will be utilized as an option in REST and cloud browser. Consider this code experimental
Requirements
- Jargon depends on Java 1.8+
- Jargon is built using Apache Maven2, see POM for dependencies
- Jargon supports iRODS 4.1.0 through 4.2.2, it also maintains very reasonable backards compatability to iRODS 3.3.1 however this is no longer actively tested
Libraries
Jargon-core uses Maven for dependency management. See the pom.xml file for references to various dependencies.
Note that the following bug and feature requests are logged in GForge with related commit information [[https://github.com/DICE-UNC/jargon/issues]]
Changes
Failures against 4.1.9 with neg require on server executing file.deleteWithForceOption in unit tests. #216
Fixes to flush behavior (related to #224) remaining after a switch to the SSL negotiation communication regime, corrections to behavior of flush() in client status operation send/receive in recursive delete operations
User lacks privileges to invoke the given API" when adding groups / users to groups #255
Added function to UserGroupAO with 'asGroupAdmin' variants to manipulate groups as a user type groupadmin. A few needed functions are added, with plans to add more in coming updates
add enum to indicate rule executing on chosen rule engine #259
Added code to RuleProcessingAO to indicate rule type, and do simple auto detection based on extension when running from a file. See the user guide for details on using the new rule capabilities
mysql causes spec query exception getting user perm through groups #271
Treat spec query error due to not running on a particular dbase platform as a spec query not available error during find user permission by group membership. This will be enhanced in a later release with pluggable spec queries starting with MySql.
ResourceAO findByName does not return parent resource #175
Updated resource methods for composable resource trees as part of MetaLnx development. Resource
query and listing methods now include parent resources.
change metadata behavior to 'set' versus 'add' #250
New 'set' metadata that does add or update is now supported for resorce, user, data object, and collection. See imeta set docs for details.
remove resource group from data obj query #197
Removed resource group from data obj genqueries
IRODSFileImpl rename method not overriding File.rename #2
Added appropriate method signature to conform more closely to J2SE API, keeping the present one without deprecation for now.
new behavior for dataobjao testphysical move issue, use resc id instead of resource name #192
Added resource id to DataObject along with resource name
Irods Jargon-core seems to compile and run without jglobus or com.claymore dependencies just fine #176
Remove claymore and globus dependencies. This may be reintroduced in some fashion if/when dedicated Globus integration testing happens. For now GSI is not typically used but is planned for the future.
Add version check for pam password with semicolon failing test 4.2+ #220
For iRODS 4.2+ the escaping of PAM passwords with a ; is no longer done, as iRODS itself corrects this. The patch is still in place
for iRODS 4.1 up to 4.2.
4.2.0.0-RELEASE
This is a maintenance release of Jargon corresponding to iRODS 4.2 and backwards compatible to iRODS 3.3.1. Per the 4.1.10.0 Milestone
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.2.0.0-RELEASE</version>
</dependency>
Project: Jargon-core API
Date: 5/7/2017
Release Version: 4.2.0.0-RELEASE
git tag: 4.2.0.0-RELEASE
Developer: Mike Conway - DICE
News
4.2.0 Compatability and maintenance
for milestone: https://github.com/DICE-UNC/jargon/milestone/16
=======
Please go to [[https://github.com/DICE-UNC/jargon]] for the latest news and info.
Jargon-core consists of the following libraries
- jargon-core - base libraries, implementation of the iRODS protocol
- jargon-data-utils - additional functionality for dealing with iRODS data, such as building trees, storing information in iRODS on behalf of applications, and doing diffs between local and iRODS
- jargon-user-tagging - code for using free tagging and other metadata metaphors on top of iRODS
- jargon-user-profile - allows management of user profile and related configuration data in a user home directory
- jargon-ticket - support for ticket processing
- jargon-httpstream - stream http content into iRODS via Jargon
- jargon-ruleservice - support for running and managing rules from interfaces
- jargon-pool - initial implementation of commons-pool caching of iRODS agent connections. This is initially for WebDav, and will be utilized as an option in REST and cloud browser. Consider this code expe$
Requirements
- Jargon depends on Java 1.8+
- Jargon is built using Apache Maven2, see POM for dependencies
- Jargon supports iRODS 4.1.0 through 4.2.X
Libraries
Jargon-core uses Maven for dependency management. See the pom.xml file for references to various dependencies.
Note that the following bug and feature requests are logged in GForge with related commit information [[https://github.com/DICE-UNC/jargon/issues]]
Changes
fix javadoc gen issues #230
Clean up javadocs to allow generation via Maven
Performance regression in 4.1.10.0-RELEASE #243, #234
Removed extra flush behavior that was an artifact of previous iRODS versions. Have begun to deemphasize 3.3.1 through 4.0 iRODS server versions.
Fix usage of SSL socket factory from custom context. #242
Fix provided by pull request.
Connection pooling implementation #225
Initial implementation of commons-pool for connections
4.1.10.0-RELEASE
This is a maintenance release of Jargon corresponding to iRODS 4.1.10 and backwards compatible to iRODS 3.3.1. Per the 4.1.10.0 Milestone
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.1.10.0-RELEASE</version>
</dependency>
Project: Jargon-core API
Date: 2/9/2017
Release Version: 4.1.10.0-RELEASE
git tag: 4.1.10.0-RELEASE
Developer: Mike Conway - DICE
News
4.1.10 Release compatability release
for milestone: https://github.com/DICE-UNC/jargon/milestone/11
This includes support for client-server negotiation and SSL encryption of transport
Please go to [[https://github.com/DICE-UNC/jargon]] for the latest news and info.
Jargon-core consists of the following libraries
- jargon-core - base libraries, implementation of the iRODS protocol
- jargon-data-utils - additional functionality for dealing with iRODS data, such as building trees, storing information in iRODS on behalf of applications, and doing diffs between local and iRODS
- jargon-user-tagging - code for using free tagging and other metadata metaphors on top of iRODS
- jargon-user-profile - allows management of user profile and related configuration data in a user home directory
- jargon-ticket - support for ticket processing
- jargon-httpstream - stream http content into iRODS via Jargon
- jargon-ruleservice - support for running and managing rules from interfaces
Requirements
- Jargon depends on Java 1.8+
- Jargon is built using Apache Maven2, see POM for dependencies
- Jargon supports iRODS 3.0 through 4.1.10, with preliminary testing complete for iRODS 4.2
Libraries
Jargon-core uses Maven for dependency management. See the pom.xml file for references to various dependencies.
Note that the following bug and feature requests are logged in GForge with related commit information [[https://github.com/DICE-UNC/jargon/issues]]
Changes
FileNotFoundException declared in PackingIrodsOutputStream signature #150
Removed extraneous exceptions from method signature
deprecate WSO support in jargon altogether #51
Removed jargon-workflow code (WSO) as non-supported in iRODS
add speccol pi to dataobjinppi to avoid xml parse messages in irods log #149
Avoid logged iRODS errors for missing section of DataObjInp_PI by providing SpecColl_PI and KeyValPair_PI structures
Fix lexographic comparison of iRODS version #203
Changed from a string comparison of iRODS reported version to a more sophisticated comparator object
Update FileCloseInp for in_pdmo for iRODS 4.1.9 #205
Update FileCloseInp packing instruction for additional resource information
Special character handling in delete operations seems to be off. #170
Directories can be created with multiple special chars (notably &) but problems may occur in delete. Unit test shows
an iRODS issue referenced at Create/delete file with & char allows create, causes -816000 error on delete #3398, will ignore unit test for now.
IRODSAccount fails with whitespace in default path #189
toURI with white spaces gives URISyntaxException, url encode that information
Add client/server negotiation support for SSL encryption #4
Honor client server negotiation and SSL transport encryption, as well as shared-key encryption for parallel file transfers. (docs coming soon). This is early access and should be used with caution until release time.
IndexOutOfBoundsException in PackingIrodsOutputStream #200
Simplified the buffering code and added unit and functional tests, especially for conditions when the putBufferSize is manipulated in jargon.properties.
-23000 error code from iRODS with parallel file operations #199
Testing with CyberDuck. Added a new IRODSAccessObjectFactory.authenticateIRODSAccountUtilizingCachedConnectionIfPresent to avoid double-opening a connection, reducing side effects
for some usage patterns.
add checksum support to Jargon streaming API #194
Added support for checksumming on close of an IRODSFileOutputStream, respecting checksum and checksum with verification flags in jargon.properties. If either of those flags is true,
a checksum is computed and stored in iRODS. Given the nature of the java.io API, actual verification is not done, just computation and storage in the iCAT.
PAM auth failure when password includes semicolon #195
Added KVP packing instruction support to escape ; character in PAM password, added unit test verification
improve logging in CollectionAndDataObjectListAndSearchAOImpl #135
Added toString methods to result set and result row, limited debug logging of result rows to 100 rows. Fixed a typo in the logging statement for collection listings.
iRODS CS_NEG_REQUIRE + PAM authentication #215
Fixed mismatch between local SSL negotiation stance enum values and iRODS negotiation enum values. Fixed double send of SslEndInp.
"Catalog SQL error" in jargon-core when using Oracle #196
Replicated issue, identified as iRODS server issue, due to missing specific queries. For cat sql errors when checking group authorization, a 'specific_query_patch-bug196.sh' demonstrates a repair to a 4.1.x iRODS installation with Oracle iCAT. See #196 for details.
Connections left open in 4.1.10.0-RC1 #222
Expanded testing to more complete PAM + SSL negotiation permutations, fixed some issues with finalizers triggering and opening and closing the various tunnelled and non-secure connections in these PAM scenarios. There are two paths for SSL tunneling and there were some interactions between these two paths to clean up that caused errors, or showed up in the Jargon logs as finalizer warnings about unclosed connections.
Additional testing for reported issues, minor changes
Login fails if password contains linux escape characters #202
Added test cases, fails to replicate
transfer get of file with parens and spaces in name gives file not found #1
Added test case that fails to replicate
irods + mysql and latin1 charset issues #227
Added test case for MySQL testing. This appears to be resolved by setting UTF8 in MySql as well as in the odbc.ini on iRODS. Will retain test.
Parallel file transfer does not work #228
Added test case. This does not replicate and is pending further study.
4.1.10.0-RC2 Release Candidate
This is a maintenance release of Jargon corresponding to iRODS 4.1.10 and backwards compatible to iRODS 3.3.1. Per the 4.1.10.0 Milestone
See README.md for release notes
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.1.10.0-RC2</version>
</dependency>
4.1.10.0-RC1 Release Candidate
This is a maintenance release of Jargon corresponding to iRODS 4.1.10 and backwards compatible to iRODS 3.3.1. Per the 4.1.10.0 Milestone
See README.md for release notes
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.1.10.0-RC1</version>
</dependency>
4.0.2.6-RELEASE
This is a maintenance release of Jargon corresponding to iRODS 4.1.9 and backwards compatible to iRODS 3.3.1. Per the 4.0.2.6 Milestone
See README.md for release notes
This is available on Maven
<repository>
<id>dice.repository</id>
<name>dice.repository</name>
<url>https://raw.github.com/DICE-UNC/DICE-Maven/master/releases</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</repository>
....
<dependency>
<groupId>org.irods.jargon</groupId>
<artifactId>jargon-core</artifactId>
<version>4.0.2.6-RELEASE</version>
</dependency>
4.0.2.6-RC1
This is a maintenance release of Jargon with minor items for iRODS 4.1.9.
Release notes are available here
4.0.2.5-RELEASE
This is a maintenance release of Jargon. This represents a large number of minor tweaks and additional tests based on user reports. This is a 'catch-up' release to set a checkpoint before integrating in SSL negotiation and transport security.
Release notes are available here
4.0.2.4-RELEASE
this is a release of the jargon libraries for iRODS 4.1.7. It is a recommended maintenance release for all versions of iRODS.
Project: Jargon-core API
Date: 11/19/2015
Release Version: 4.0.2.4-RELEASE
git tag: 4.0.2.4-RELEASE
Developer: Mike Conway - DICE
News
Maintenance release of Jargon work in progress, focused on bug fixes, more 4.1.7 compatability, and stream performance for i/o and put/get
Please go to [[https://github.com/DICE-UNC/jargon]] for the latest news and info.
Jargon-core consists of the following libraries
- jargon-core - base libraries, implementation of the iRODS protocol
- jargon-data-utils - additional functionality for dealing with iRODS data, such as building trees, storing information in iRODS on behalf of applications, and doing diffs between local and iRODS
- jargon-user-tagging - code for using free tagging and other metadata metaphors on top of iRODS
- jargon-user-profile - allows management of user profile and related configuration data in a user home directory
- jargon-ticket - support for ticket processing
- jargon-httpstream - stream http content into iRODS via Jargon
- jargon-ruleservice - support for running and managing rules from interfaces
- jargon-workflow - support for iRODS workflows
Requirements
- Jargon depends on Java 1.8+
- Jargon is built using Apache Maven2, see POM for dependencies
- Jargon supports iRODS 3.0 through iRODS 3.3.1 community, as well as iRODS 4.1.7 consortium
Libraries
Jargon-core uses Maven for dependency management. See the pom.xml file for references to various dependencies.
Note that the following bug and feature requests are logged in GForge with related commit information [[https://github.com/DICE-UNC/jargon/issues]]
Changes
move semantics error in cloud browser moving a/path/a to a/path/b with collection already exists #140
Updated semantics of move collection to avoid 'collection already exists errors' by adding the source collection as the child of the target collection name
across federation browsing under strict acls doesn't interpolate home/ and find subdirs viewable #39
More gracefully handle path guessing heuristics cross-federation browsing when drilling down and stict ACLs is on.
CI integration with iRODS 4 #18
Changes in build automation and testing to integrate Jargon testing into iRODS Consortium Continuous integration
copy of file to itself recursively endlessly copies until path gets too large #151
Added checks to not copy a collection recursively under itself. Revealed in cloud browser testing.
-832000 in cloud browser clicking on file in fed zone #152
Removed resource group name from DataObject selects when querying for domain object. That is no longer useful with new resource domain hierarchy and was causing GenQuery exceptions with later iRODS versions
Update cross-zone path heuristic guessing so one can reasonably browse 'down' to home dirs in federated zones
PackingIrodsInputStream and PackingIrodsOutputStream
Major enhancements to the performance of streaming i/o though simple read-ahead and write-behind buffering streams, see:
and
These enhancements are used in the ModeShape, WebDav, REST, and cloud browser code
PEP on output stream #144
Fixed open flags on WRITE and WRITE_TRUNCATE in output stream code to fire postProcForPut policy enforcement point. This also required an iRODS fix 4.1.6+
Jargon breaking GSI by zapping list of CAs #137
Added check of empty CA since the default value of the certificateAuthority in GSIIRODSAccount is blank versus null. User submitted patch.
Trailing slash on path to CollectionAO.getPermissionForCollection() throws FileNotFoundException #37
Enhanced collection-related methods to tolerate trailing slashes on collections in various operations
enhancements to transfer operations for add'l checking and path handling. #31
For put/get to a directory, do a permission check and create any necessary subdirs as specified
SSL cert check bypass option #155
Added a jargon.properties setting to turn off SSL cert chain checking by using a custom 'trust all' trust manager. This is suitable for testing, not for production. Also, IRODSSession now supports a setter method to inject a custom X509TrustManager class.
TLS v1 being used in SSL pam auth #154
Fixes for SSL protocol selection to address some SSL/PAM handshake issues. In addition, JDK1.8 is favored on most platforms to support later versions of TLS.
Misc
Lots of small fixes, pull requests, iRODS compatability tests and fixes through work with consortium