The iRODS Consortium and RENCI are pleased to announce iRODS 4.2.0.
(Released live on stage from the iRODS Workshop at Supercomputing 2016)
iRODS 4.2.0 is the product of over a year and a half of refactoring and significant reorganization of the rule engine framework into the seventh iRODS plugin interface.
This release consists of 951 commits from 9 contributors and closed 275 issues.
All the code and current working issues are hosted at GitHub: https://github.com/irods/irods
APT and YUM Repositories are available at https://packages.irods.org.
Notable Features
- Pluggable Rule Engine - Seventh plugin interface now supports writing rule engines for any language. The iRODS Rule Language has been moved to a plugin, alongside a default policy C++ rule engine.
- First Class API Plugins - Enabling dynamic policy enforcement points (PEPs) and full parameter serialization for every plugin operation
- Refactored build system - CMake, Clang, APT/YUM repositories
- CMake - Now a standard CMake project, much more developer friendly - Clang - All supported platforms now building the C++14 codebase - Packages separated - Cleaner dependencies, dev and runtime ready for developers - APT/YUM Repositories - Packages now hosted at RENCI, making installations and upgrades much easier- All control scripts in Python - Reusable module, reduced codepaths
- New process model - Two long running processes to amortize dynamic linking startup cost
- Configuration schemas now included - Default setups will no longer need a public network connection for validation
- Run-In-Place now a first class citizen - Now called Non-Package Install
Notes
- Externalization of code into separate repositories
- iCommands client - Fuse client - Microservice objects (MSOs)- idbug removed
- iphybun, ixmsg, irodsXmsgServer marked as deprecated
- Resource hierarchies refactored to use IDs - Upgrades will experience a one-time full table scan whereby all data objects are updated. A 10M data object lab test installation took 13 minutes to update. 100M data objects are estimated to take 2-3 hours to update.
- Distributing iCommands to users who do not have root is not yet supported for 4.2. It will be included again in a later release.
- Quieter rodsLog during normal operations