Skip to content

Releases: DICE-UNC/jargon

4.2.2.1-RELEASE

24 May 14:37
Compare
Choose a tag to compare

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

05 Jan 01:15
Compare
Choose a tag to compare

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

09 May 18:27
Compare
Choose a tag to compare

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

09 Feb 13:24
Compare
Choose a tag to compare

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

23 Jan 15:23
Compare
Choose a tag to compare
Pre-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

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

06 Jan 17:44
Compare
Choose a tag to compare
Pre-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

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

13 Jul 13:58
Compare
Choose a tag to compare

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

08 Jun 19:16
Compare
Choose a tag to compare
4.0.2.6-RC1 Pre-release
Pre-release

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

07 Apr 13:55
Compare
Choose a tag to compare

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

19 Nov 14:18
Compare
Choose a tag to compare

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

Release https://github.com/DICE-UNC/jargon/milestones/Performance%20enhancements%20for%20streams%20and%20put/get%20-%204.0.2.4

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:

https://github.com/DICE-UNC/jargon/blob/master/jargon-core/src/main/java/org/irods/jargon/core/pub/io/PackingIrodsInputStream.java

and

https://github.com/DICE-UNC/jargon/blob/master/jargon-core/src/main/java/org/irods/jargon/core/pub/io/PackingIrodsOutputStream.java

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