Releases: DICE-UNC/jargon
Jargon 4.0.2.4-RC1
Jargon Core API
Project: Jargon-core API
Date: 11/09/2015
Release Version: 4.0.2.4-RC1
git tag: 4.0.2.4-RC1
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/Minor%20changes%20and%20compatibility%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
CI integration with iRODS 4 #18
Enhancements to testing setup to integrate Jargon into Consortium CI services
PEP on output stream #144
Fixes and tests for firing postProcForPut after certain streaming i/o operations
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
Jargon 4.0.2.3 Release
Jargon Core API
Project: Jargon-core API
Date:
Release Version: 4.0.2.3-RELEASE
git tag: 4.0.2.3-RELEASE
Developer: Mike Conway - DICE
News
Release with misc fixes and features for iRODS 4.1 certification
Release milestone https://github.com/DICE-UNC/jargon/milestones/4.0.2.3%20with%20iRODS%204.1
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.7+
- 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.0.3 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
apparent new resource oriented error messages #105
Added new exceptions in iRODS 4.1, especially for resource hierarchies, and did some organization of the exception tree by introducing new super-classes.
resource avu queries failing #104
Moved resource queries away from old string building approach to the composition by builder approach, enhanced the unit testing. This fixed some errors in resource AVU queries with 4.1.
Read length set to zero on replication with iRODS 4.1 #106
Added backwards-compatible processing for new replicate API number.
Read length set to zero on copy with iRODS 4.1 #107
Added backwards-compatible processing for copy API number and improved overwrite logic
Error listing replicas in a resource group (cat unknown table) #108
Resource groups are no longer a concept, so some operations using resource groups now throw an UnsupportedOperationException when ussued against a 4.1+ iRODS host. These operations continue to be supported pre 4.1. Unit test code was adjusted.
testTrimReplicasForDataObjectByResourceNameInvalid fails with uncaught -78000 #109
Added a ResourceNotFoundException in the hierarchy. For prior to 4.1, will maintain current behavior of silently ignoring, which in retrospect might be a bit odd. But no surprises! From 4.1+ will throw a DataNotFoundException. It's a little messy, may rethink that later.
Read length set to 0 on phymove, likely protocol change #111
Fixed phymove api numbers, maintains backwards compatability
Potential federation error 4.1 iRODS query across zones getting objStat #126
Added heruistic creation of ObjStats in certain occasions where strict ACLs would otherwise cause an error. This is meant to assist interfaces that need to 'navigate' down from the root, to give these interfaces a chance to get to viewable directories. This can be turned off with jargon properties.
Stream performance enhancements #87
Added PackingInputStream and PackingOutputStream that do read-ahead and write-behind caching so that reads and writes using small buffer sizes from the perspective of a client (e.g. WebDav implemenation)
so that more performant buffer sizes can be used in protocol operations with irods.
Jargon 4.0.2.3-RC1
Jargon Core API
Project: Jargon-core API
Date:
Release Version: 4.0.2.3-RC1
git tag: 4.0.2.3-RC1
Developer: Mike Conway - DICE
News
Releae candidate for misc fixes and features for iRODS 4.1 certification
Release milestone https://github.com/DICE-UNC/jargon/milestones/4.0.2.3%20with%20iRODS%204.1
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.7+
*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.0.3 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
apparent new resource oriented error messages #105
Added new exceptions in iRODS 4.1, especially for resource hierarchies, and did some organization of the exception tree by introducing new super-classes.
resource avu queries failing #104
Moved resource queries away from old string building approach to the composition by builder approach, enhanced the unit testing. This fixed some errors in resource AVU queries with 4.1.
Read length set to zero on replication with iRODS 4.1 #106
Added backwards-compatible processing for new replicate API number.
Read length set to zero on copy with iRODS 4.1 #107
Added backwards-compatible processing for copy API number and improved overwrite logic
Error listing replicas in a resource group (cat unknown table) #108
Resource groups are no longer a concept, so some operations using resource groups now throw an UnsupportedOperationException when ussued against a 4.1+ iRODS host. These operations continue to be supported pre 4.1. Unit test code was adjusted.
testTrimReplicasForDataObjectByResourceNameInvalid fails with uncaught -78000 #109
Added a ResourceNotFoundException in the hierarchy. For prior to 4.1, will maintain current behavior of silently ignoring, which in retrospect might be a bit odd. But no surprises! From 4.1+ will throw a DataNotFoundException. It's a little messy, may rethink that later.
Read length set to 0 on phymove, likely protocol change #111
Fixed phymove api numbers, maintains backwards compatability
Jargon 4.0.2.2-RELEASE
The following is a minor Jargon release. This is essentially minor housekeeping to clear the way for the upcoming 4.0.2.3 release, which provides compatibility with the upcoming iRODS 4.1 server.
Project: Jargon-core API
Date: 05/22/2015
Release Version: 4.0.2.2-RELEASE
git tag: 4.0.2.2-RELEASE
Developer: Mike Conway - DICE
News
Misc fixes and features for Cyberduck integration, other minor fixes
Release milestone https://github.com/DICE-UNC/jargon/milestones/Maintenance%20release%204.0.2.2%20with%20misc%20Cyberduck%20integration
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.7+
*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.0.3 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
Integration misc with CyberDuck #101
Misc small changes as we test Cyberduck integration with iRODS. This is a catch-all issue for many minor changes.
Authenticates as the proxy instead of client #100
Handle authentication with proxy user, per a patch supplied by Tony Edgin at iPlant (Thanks!)
Option to obtain MD5 from server after upload is complete #89
Breaking out checksum utilities to its own service object (DataObjectChecksumUtilitiesAO) and beginning to add richer hooks for
various checksum management scenarios. This was originally done to have simpler hooks for CyberDuck. Eventually checksum code in various places will be deprecated and will point to these consolidated services.
jargon-conveyor migration to idrop #120
Took jargon-conveyor out of this project to clarify roles. Conveyor is tied to iDrop, and we are making jargon core libs focused on iRODS interactions and protocols. This also helps with the move to integrate jargon testing into CI at the consortium
stand in entries for unviewable dirs in strictacl code need to set last entry #121
Fake stand-in dirs when doing listings need to set 'last entry' so that looping code with results can use it in for() loops properly. Was causing an infininite loop in the irods-webdav code.
Jargon 4.0.2.1 Release
See the readme.md file for details.
This is the the release for Jargon 4.0.2.1, which is primarily a bug-fix, compatibility, and performance enhancement release of the core iRODS Java API.
This version is backwards compatible with iRODS 3.3.1, and certified against iRODS 4.0 versions up to 4.0.3. Binary versions are available in the DICE-Maven repo on GitHub.
4.0.2.1-RC1
Jargon 4.0.2.1 Release Canddiate 1
See the readme.md file for details.
This is the first candidate for Jargon 4.0.2.1, which is primarily a bug-fix, compatibility, and performance enhancement release of the core iRODS Java API.
This version is backwards compatible with iRODS 3.3.1, and certified against iRODS 4.0 versions up to 4.0.3. Binary versions are available in the DICE-Maven repo on GitHub.
4.0.2-RELEASE
Jargon Core API
work on milestone: https://github.com/DICE-UNC/jargon/issues?milestone=4&state=open
Project: Jargon-core API
Date: 09/16/2014
Release Version: 4.0.2
git tag: 4.0.2-RELEASE
Developer: Mike Conway - DICE
News
This release marks compatability with iRODS 4.0.3, integration work with the iRODS Consortium CI infrastructure, and a large number of accumulated fixes
and features marking the transition to the iRODS consortium model.
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-conveyor - transfer manager for managing and synchronizing data with iRODS
- 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.6+
*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.0.3 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]]
Bug Fixes
PAM/SSL issues and slowness in workflow processing #27
Fixed PAM flush behavior for versions of iRODS > 3.2, avoiding those flushes when not necessary. This can cause significant response time issues and was only needed to work around a bug in earlier versions of iRODS PAM processing.
gen query error with IN statement #17
Fix IN statenent in GenQuery processing
improvements to efficiency of stream io transfers #16
Additional buffering and paremeter adjustments to improve file i/o streaming
Features
implement checksum variants #24
implement pluggable checksum generation/validation (#24)
remove cache of objStat for IRODSFile operations #34
IRODSFile uses a scheme to cache information to respond to exists, isFile, length, and other requests.
As these sorts of requests are made multiple times in client scenarios, it was originally coded to cache that information once (it obtains an objStat in the background), rather than calling iRODS each time a file.xxx() method was called.
That can save a good deal of traffic, but requires calling reset() to clear the cache on the client side.
The cache semantics were removed and reset() now is deprecated and has no effect.
Significant development of new transfer framework (conveyor) to replace older transfer engine.
Conveyor is a drop-in framework to manage a persistent queue of transfers with file-by-file accounting. This will be extended in later releases to provide a client-side rule
engine that can manage pre and post transfer and pre and post file operation workflows on the client side. Conveyor is embedded within iDrop and can also be easily incorporated
into other interfaces and tools.
Add flow manager to conveyor #11
Add flow manager support to conveyor framework. This is a client side rule engine to interact with conveyor. FlowManager allows definition of Java based microservices and chaining into workflows using a Groovy based DSL
Mounted collection support
Support has been added to interact with iRODS mounted collections, including list/read/write operations
Support for rule editing and execution from interfaces
Support for interactive rule editing, with extended methods and classes to assist in interactive editing and running of iRODS rules, has been added
in the jargon-ruleservice project
iRODS Workflow support
Basic workflow support has been added in the jargon-workflow subproject to be able to parse and execute iRODS workflows
CI integration with iRODS 4 #18
Additional code and adjustments to support CI integration at iRODS Consortium. Testing now possible, with a likely second round of changes in 3.0.3 to fully automate Jargon testing in CI
Other Changes
Added capability to compute a SHA1 checksum via streaming to support ModeShape