The iRODS Consortium and RENCI are pleased to announce iRODS 4.3.5.
This release represents a year's worth of work to finalize the 4.3 series. It closes 133 issues in service of making this release as stable as possible for deployments which cannot upgrade to iRODS 5 yet.
Notable updates include memory leak fixes, various improvements for physical quotas, more deprecations, and better handling of multi-byte characters.
The latest binary packages for Enterprise Linux 8, Enterprise Linux 9, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, Debian 11, and Debian 12 are available at https://packages.irods.org/.
Changed
irepl: Update help text for-nand-S(#4687).- Make
update_deprecated_columns.pyprint exception information (#7833).iinit: Only non-native authentication schemes force the "iRODS password" prompt (#7948).- Enable authentication plugins to accept passwords in requests (#8016).
- Do not print stacktrace when
irods_environment.jsonfile is not readable (#8083).- GenQuery2: Allow function calls in GROUP-BY clause (#8093).
- GenQuery2: Grant users full control over
DISTINCTkeyword (#8261).- GenQuery2: Allow
DISTINCTkeyword in function calls (#8261).- Update help text for
irsync(#8288).- Optimize query performance when adding metadata (#8392).
- Update help text for various iCommands (#8451).
- Update feature test macros (#8580).
- Invoke
fileNotifywhen closing replica (#8586).- Update help text for physical quotas
iadminsubcommands (#8618).- Make
iadminquota GenQuery use the same query conditions (#8622).- Update help text for
itouchto be more explicit (#8673).- GenQuery2: Expose user type through permission-related columns (#8754).
- Declare package dependency on findutils for Enterprise Linux (#8873).
Removed
- Remove
-poption fromiputandicp(#4932).- Remove build hook python script (#8421).
Deprecated
- Deprecate
msiDataObjPut(#8229).- Deprecate
--rlockand--wlockoptions (#8272).- Deprecate macros for advisory lock API (#8272).
- Deprecate osauth scheme (#8301).
- Deprecate convenience functions for DNS/Hostname cache configuration properties (#8417).
- Deprecate control plane and
irods-grid(#8479).- Deprecate
iadmin ctime(#8850).- Deprecate
iadmin mkdir(#8850).- Deprecate
iadmin rmdir(#8850).- Deprecate
iadmin ls(#8850).Fixed
- Stop server from incrementing ticket
write-filecount after reaching limit (#2720).- Return correct error code to client when ticket limit is exceeded (#2720).
- Reduce scope of
FILE_PATH_KW(#4932).- Honor logical locking in registration/unregistration APIs (#5763).
- Fix renaming of collections containing multi-byte characters (#6239).
- Maintain appropriate permissions for
msiExecCmd_bindirectory on package upgrade (#6671).- Update modification time of replica on open with
O_TRUNC(#7128).- Fix
ilspage boundary bug involving linkPoint collections (#7712).- Do not create target collections or directories during dry-run of
irsync(#7774).- Fix use of MySQL
LIMITkeyword inupdate_deprecated_columns.py(#7833).- Prevent
iinitfrom showing native authentication password prompt for non-native authentication schemes (#7948).- Fix memory leaks in delay server (#8254, #8575).
- Make GenQuery2 honor group permissions (#8259).
- Restore support for
KeyValPairin Python rule engine plugin (#8265).- Fix
irsync's handling ofALL_KWwhen targeting a single data object (#8295).- Check for
nullptrin data_object_modify_info API (#8307).- Fix memory leak in delay server (#8334).
- Fix memory leak in native authentication plugin (#8334).
- Fix memory leaks in client libraries handling
rodsPaths(#8334).- Fix potential memory leak in
resolveRodsTarget(#8334).- Fix potential
collHandlememory leaks (#8334).- Fix memory leak in
getUtil(#8334).- Fix
rodsPathmemory leaks iniputandiget(#8334).- Limit max value of
maximum_size_for_single_buffer_in_megabytesfor DataObjGet API (#8373).- Guarantee
rodsEnvstrings are null-terminated (#8379).- Improve
irsync's handling for checksum errors (#8384).- Update modification time on empty overwrite for copy operation (#8413).
- Fix redirect bug of client request from Consumer server to Provider server in GenQuery2 API (#8439).
- Unregister replica before unlinking in DataObjUnlink API (#8441).
- Replace invalid UTF-8 sequences in log messages (#8498).
- Fix GenQuery2's ability to find objects lacking user permissions (#8546).
- Fix help text for
igroupadmin(#8583).- Fix
irsync's handling of overwrites and checksums involving stale replicas (#8590).- Fix double-free/corruption by setting free'd pointers to
nullptrin network plugins (#8593).- Fix zone reports for server-to-server connect errors (#8607).
- Remove all existing usage entries when recalculating physical quotas (#8633).
- Make
imiscsvrinforeport an error when connected to a server older than 4.3.4 (#8653).- Return nonzero when grid configuration APIs report an error (#8671).
- Make physical quota count the largest overrun (#8691).
- Make total quota update only apply to correct
resc_id(#8699).- Replace spaces with hyphens for agent information (
ips) (#8733).- Use
OWNpermissions instead ofdata_owner_namewhen calculating physical quota totals (#8750).- Fix queries for physical quotas so that quotas are properly processed (#8758).
- Clear input struct to avoid segmentation fault in
iget(#8793).- Prevent checksum without status update in replica_close API (#8801).
- Fix memory leaks stemming from
clearMsParam(#8857).- Do not crash delay server when in-memory delay queue buffer is too small (#8859).
- Fix memory leaks in iRODS Rule Language (#8864).
- Fix stalling of delay rule processing in delay server by removing unnecessary use of pool memory resource (#8868).
Added
- Add logical locking bypass keyword (#5763).
- Add new error code -
INVALID_INPUT_ARGUMENT_NULL_POINTER(#8311).- Add new error code -
CONNECTION_REFUSED(#8377).- Add new error code -
DEPRECATED_AUTHENTICATION_PLUGIN(#8391).- Serialize
TicketAdminInputdata structure for policy enforcement (#8518).Full GitHub commit history for the iRODS server
Full GitHub commit history for the iCommands
Alongside the core packages included in 4.3.5, the following plugins have been updated for compatibility: