News / 14 November 2016

iRODS 4.2.0 is released


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.

The release notes include:

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


Terrell Russell