|
1 | 1 | # |
2 | 2 |
|
| 3 | +## 4.3.4 |
| 4 | + |
| 5 | +Release Date: 2025-03-05 |
| 6 | + |
| 7 | +The iRODS Consortium and RENCI are pleased to announce iRODS 4.3.4. |
| 8 | + |
| 9 | +This release primarily focuses on preparing the ground for the initial release of iRODS 5 by introducing more deprecations, fixing bugs, and cleaning up implementations. |
| 10 | + |
| 11 | +The biggest news of this release is that `imiscsvrinfo` has been updated to report SSL/TLS certificate information, if in use. This is made possible due to enhancements to the `rcGetMiscSvrInfo` API endpoint. Keep in mind that this requires the client to have a proper client-side configuration. |
| 12 | + |
| 13 | +This release consists of [94 commits from 6 contributors](https://github.com/irods/irods/compare/4.3.3...4.3.4) and [closed 134 issues marked for 4.3.4](https://github.com/irods/irods/issues?q=milestone%3A4.3.4). |
| 14 | + |
| 15 | +The latest binary packages for AlmaLinux8, RockyLinux9, Ubuntu20, Ubuntu22, Ubuntu24, Debian11, and Debian12 are available at <https://packages.irods.org/>. |
| 16 | + |
| 17 | +### Changed |
| 18 | + |
| 19 | +- Improve documentation (#2600, #7622, #7701, #7784, #7952, #8000). |
| 20 | +- Return errors on one-sided encryption in parallel transfer (#4984). |
| 21 | +- Improve testing (#6421, #7412, #7491, #7795, #7990, #8046, #8047, #8183, #8185, #8247). |
| 22 | +- Clean up code (#5800, #6972). |
| 23 | +- Remove unnecessary code - source files, functions, declarations, header includes, etc (#6043, #6234, #6546, #7919, #7942, #8010, #8133, #8201, #8204). |
| 24 | +- Replace use of externals-provided libarchive with distro-provided libarchive (#6250, #7286). |
| 25 | +- Improve CMake (#6319, #6584). |
| 26 | +- Update clang-format / clang-tidy configuration (#6970, #7313, #7751, #7821, #7822). |
| 27 | +- Remove ACLs following removal of user (#7778). |
| 28 | +- Migrate GitHub workflows to Ubuntu 24.04 (#7823). |
| 29 | +- Expand permission levels supported by atomic ACL operations API (#7913). |
| 30 | +- Reduce log noise (#7953). |
| 31 | +- Remove installation of packedRei directory from CMakeLists.txt (#7993). |
| 32 | +- Install msiExecCmd_bin/hello script as a template (#7994). |
| 33 | +- Replace stacktrace with user-friendly error message in `itree` (#8082). |
| 34 | +- Improve GenQuery2 parser's handling of whitespace sequences (#8182). |
| 35 | +- Add json_events.hpp header file to development package (#8200). |
| 36 | + |
| 37 | +### Removed |
| 38 | + |
| 39 | +- Remove CentOS 7 build from GitHub workflows (#7968). |
| 40 | + |
| 41 | +### Deprecated |
| 42 | + |
| 43 | +- Deprecate `ilocate` (#2524). |
| 44 | +- Deprecate `igetwild` (#2525). |
| 45 | +- Deprecate creation or modification of user having rodsgroup type in GeneralAdmin API (#2978). |
| 46 | +- Deprecate modification of ACL policy (#6843). |
| 47 | +- Deprecate GeneralRowInsert and GeneralRowPurge (#7608). |
| 48 | +- Deprecate update_deprecated_database_columns.py (#7835). |
| 49 | +- Deprecate `imeta qu` (#7959). |
| 50 | +- Deprecate `imeta` interactive mode (#7961). |
| 51 | +- Deprecate server monitoring microservices (#7977). |
| 52 | +- Deprecate DataObjLock and DataObjUnlock (#7979). |
| 53 | +- Deprecate unused global variables in resource manager implementation. (#8042). |
| 54 | +- Deprecate `fillGenQueryInpFromStrCond` (#8088). |
| 55 | +- Deprecate `forkAndExec` (#8109). |
| 56 | + |
| 57 | +### Fixed |
| 58 | + |
| 59 | +- Avoid SIGABRT by setting pointers to null after deallocation (#3581). |
| 60 | +- Use `ProcessType` to detect server vs pure client (#6684). |
| 61 | +- Rework logic in `_cllExecSqlNoResult` to return proper error codes (#7440, #7599). |
| 62 | +- Fix flex warning for GenQuery2 lexer rules (#7685). |
| 63 | +- Validate and reject invalid zone names (#7722). |
| 64 | +- Return non-zero exit code from `iadmin` on failure (#7734). |
| 65 | +- Remove undefined reference to variable in exception (#7752). |
| 66 | +- Ignore SIGPIPE so agents do not terminate immediately (#7933, #7934). |
| 67 | +- Change if-statement so ticket use-count is only updated on first pass (#7967). |
| 68 | +- Write client and proxy user info to `ips` data file in correct order (#8001). |
| 69 | +- Modify JSON schema file to enforce required attributes of `controlled_user_connection_list` (#8017). |
| 70 | +- Use `std::tolower` with `std::transform` correctly (#8045). |
| 71 | +- Fix error handling logic for heartbeat operation (#8050). |
| 72 | +- Return error on invalid GenQuery1 aggregate function (#8080). |
| 73 | +- Return error on nonexistent target for write functions in iRODS Rule Language (#8095). |
| 74 | +- Clean up memory in `rsDataObjChksum`, various endpoints, and iCommands (#8106). |
| 75 | +- Correct narrowing of floating point values (#8110). |
| 76 | +- Remove constructor from `Cache` data type in iRODS Rule Language to allow for `memset` (#8111). |
| 77 | +- Avoid segfault in `rcDisconnect` (#8120). |
| 78 | +- Fix libstdc++ linker error for `ienv`, `ierror`, and `ipwd` on EL8 (#8122). |
| 79 | +- Fix GenQuery2 column mappings for user zone (#8134). |
| 80 | +- Use correct GenQuery2 table aliases for permissions (#8135). |
| 81 | +- Fix `nullptr` to function argument and unsigned overflow (#8153). |
| 82 | +- Fix read/write loop in `istream` (#8166). |
| 83 | +- Clear `rodsPathInp_t` instead of freeing memory (#8221). |
| 84 | +- Add support for `order_asc` keyword to GenQuery1 string parser (#8249). |
| 85 | + |
| 86 | +### Added |
| 87 | + |
| 88 | +- Add dedicated keywords for creating groups via GeneralAdmin API (#2978). |
| 89 | +- Make checksum buffer size configurable (#7947). |
| 90 | +- Provide way for clients to obtain SSL/TLS certificate information (#7986). |
| 91 | +- Add support for Undefined Behavior Sanitizer (#8090). |
| 92 | + |
| 93 | +[Full GitHub Listing](https://github.com/irods/irods/issues?q=milestone%3A4.3.4) |
| 94 | + |
3 | 95 | ## 4.3.3 |
4 | 96 |
|
5 | 97 | Release Date: 2024-08-26 |
|
0 commit comments