Kory Draughn

Chief Technologist

iRODS Consortium

Technology Update

June 2026

iRODS User Group Meeting 2026

Barcelona, Spain

Contributors

iRODS Release Release Date Commits
5.0.2 2025-10-01 37 + 8
4.3.5 2026-03-03 121 + 19
Kory Draughn

Alan King

Markus Kitsinger

Derek Dong

Martin Jaime Flores Jr

Terrell Russell

Justin James

Daniel Moore

Nishant Dash

Violet White

Felix A. Croes

Phillip Davis

Awab

Peter Verraedt

June Releford

lenocil

5.0.2 Release Highlights

  • Added support for Enterprise Linux 10 and Debian 13
  • Plugin versioning is independent of the server version
  • Plugin version numbers now follow three segments instead of four
  • Improved support for Decoupled Mode in the S3 resource plugin
  • Improved support for multi-byte characters when renaming collections
  • Many improvements for irsync

4.3.5 Release Highlights

The final server release of the 4.3 series.

  • Includes memory leak fixes, more deprecations, and multi-byte character fixes
  • Removes -p option from iput and icp

5.1.0 Release - Where is it?

It's on the way.

 

There's a few more things to work out before it's ready.

 

We appreciate your patience.

5.1.0 Core Server Updates

  • GenQuery2
  • Replica Truncate API
  • Support for MariaDB
  • Serialization of more iRODS data types
  • Improved server stability

** Bold items discussed in this talk **​​

  • Improved documentation
    • How to report security vulnerabilities
    • Updated dynamic PEP listing
  • Replication
    • Good replicas overwriting good replicas is now a no-op rather than an error

API and Source Compatibility

Maintaining backward compatibility is important to the Consortium.

 

To help in satifying this requirement, we will do the following:

  • Never modify packing instruction which are part of an official release
  • Never modify data types used in public APIs
  • Never modify data types sent over the network
  • Keep source code compatible within a major version (hmm)

 

These rules DO NOT apply to experimental APIs, libraries, or tools.

Main Server Process

  • Disallows running with root privileges
  • Logs real and effective UID/GID of user who launched the server
  • Warns when launched by non-owner of the service account home directory

New Authentication Scheme

TODO

Server Setup and Secure Communication

TODO

Resource Rebalance

TODO

Quotas

TODO

Random Scheme and Vault Path Policy

Added new microservices which allow administrators to customize how physical paths are generated when using the random scheme vault path policy.

 

  • msi_set_random_scheme_style(integer)
    • Controls which random scheme style is applied during physical path generation

  • msi_set_random_scheme_suffix_length(integer)
    • Controls the length of the randomly-generated string appended to the physical path

Error codes and dstream

Records the iRODS error code of the last executed operation.

  • Error code available through the last_error() member function
  • Allows applications using the dstream library to report specific information about why an operation failed
    • e.g. iRODS HTTP API and Logical Quotas violations
// Assume "stream" is an instance of dstream.
// If "stream" is in a bad state, print the error code to stderr.
if (!stream) {
	fmt::print(stderr, "iRODS error code: {}\n", stream.last_error());
}

Plugins and Clients

Testing

  • Automated plugin testing via GitHub Actions
    • Covers all plugins except the Python and Audit AMQP rule engine plugins
    • Built and tested against multiple iRODS versions
    • Detects source compatibility breakage

 

  • Removed dependency on Docker Compose Python module from the iRODS Testing Environment

Policy Composition Rule Engine Plugin

TODO

Logical Quotas Rule Engine Plugin

TODO

UnivMSS Resource Plugin

TODO

Audit AMQP Rule Engine Plugin

TODO

S3 Resource Plugin

TODO

HTTP API

TODO

S3 API

TODO

Python iRODS Client

TODO

Cyberduck

Refactored to use irods4j instead of Jargon.

iRODS Internship Presentations - Summer 2025

pam_interactive Authentication for the Python iRODS Client (PRC)
This talk introduces support for the pam_interactive authentication scheme in the Python iRODS Client (PRC). It ports the C++ plugin to enable a server-driven, conversational handshake, which is essential for complex PAM setups such as multi-factor authentication.

 

Updates to the iRODS Zone Management Tool and GenQuery2
The iRODS Zone Management Tool has been refactored to remove its dependence on Material UI for increased maintainability. GenQuery2 has been modified to allow for functions to be used in the GROUP-BY clause.

UGM 2026 - Technology Update

By korydraughn

UGM 2026 - Technology Update

iRODS User Group Meeting 2026 - Technology Update

  • 39