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.
- Initial effort started by intern in 2025, completed by core dev team
- Added support for parallel transfer over port 1247
- Added common iRODS configuration options to cyberduckprofile
- Added support for secure communication
- Added support for PAM
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