Skip to content

Releases: irods/python-irodsclient

v3.2.0

28 Aug 01:59

Choose a tag to compare

This release makes the library compatible with iRODS 5, adds support for the PAM Interactive authentication scheme, improves support for groupadmins, and adds new features for GenQuery1.

With this release, users can override the global default number of rows to return for GenQuery1 queries. See GenQuery1 Queries to learn more.

The Consortium recommends that users enable PYTHON_IRODSCLIENT_CONFIGURATION_LOAD_ERRORS_FATAL to aid in detecting invalid configuration values on program startup. This option will be enabled by default in a future release. See Python iRODS Client Settings File for more information.

Changed

  • Use group keyword to create groups in iRODS 4.3.4 and later (#742).
  • Bump iRODS compatibility to iRODS 5.0.1 (#743).

Removed

  • Remove deprecated user-group symbols (#440).

Fixed

  • Apply user_zone property appropriately when creating users as a groupadmin (#759).
  • Qualify username when retrieving user via session.users.get('<username>') (#764).

Added

  • Implement support for PAM Interactive authentication scheme (#653).
  • Add support for iRODS 5 access time (#700).
  • Allow developers to override the global default number of rows to return for GenQuery1 queries (#712).
  • Add mypy type checking (#744).
  • Allow the exclusion of GenQuery1 columns through negation (#755).
  • Add convenience function for creating remote users as a groupadmin (#759).

v3.1.1

09 Jun 15:20

Choose a tag to compare

[v3.1.1] - 2025-06-09

This patch release resolves bugs related to connections, ips tracking, and dependencies.

Changed

  • Log authentication messages at DEBUG level (#706).
  • Remove dependency on test module (#735).

Fixed

  • Add missing import to connection.py (#5).
  • Allow put and create of data object to raise an error on overwrite (#132, #322).
  • Do not create local file when download of nonexistent data object fails (#681, #714).
  • Trap exception in connection finalizer (#691).
  • Fix imports for make_session in README examples (#710).
  • Remove semicolon from <option> tag in StartupPack (#730).

Added

  • Add exception class for HIERARCHY_ERROR (#717).
  • Add exception class for SYS_SOCK_READ_TIMEDOUT (#718).

v3.1.0

21 Mar 21:12

Choose a tag to compare

[v3.1.0] - 2025-03-21

This release includes a full port of the iRODS 4.3 authentication framework with working implementations for the native and pam_password authentication schemes.

It also removes support for Python versions earlier than 3.9.

Changed

  • Implement iRODS 4.3 authentication flow for native and pam_password authentication schemes (#499).
  • Replace deprecated use of hyphen in description file property name (#684).
  • Change server version compatibility to iRODS 4.3.4 (#694).

Removed

  • Remove support for Python 3.8 and earlier (#553).

Fixed

  • Make computation of .irodsA file path independent of irods_environment.json file path (#686).
  • Adjust strings in tests to avoid SyntaxWarning messages (#687).

Added

  • Allow retrieval of connected server version without having to authenticate first (#688).

v3.0.0

19 Dec 23:46

Choose a tag to compare

[v3.0.0] - 2024-12-19

This major release primarily focuses on the removal of Python 2 compatibility. With that comes improvements for PAM authentication and facilities to help with cleaning up resources on program shutdown.

Changed

  • Remove Python 2 compatibility (#480).
  • Format codebase using Black formatter (#615).
  • Expose keyword parameter for controlling whether the .irodsA file is to be overwritten (#635).
  • Check environment variable is defined before use, to avoid SyntaxError (#641).
  • Improve documentation (#651, #654).
  • Replace use of utcfromtimestamp and utcnow (#670).

Fixed

  • Correct faulty GenQuery1 column mappings (#642, #643).
  • Escape special characters in passwords for PAM authentication (#649, #650).
  • Catch ENOTCONN error from socket.shutdown() on BSD/MacOS (#657).
  • Remove call to initialize log facilities on import of irods module (#660).

Added

  • Provide mechanism for registering deterministic execution of cleanup functions on program shutdown (#614).
  • Add SYS_LIBRARY_ERROR to irods.exception module (#668).

v2.2.0

14 Oct 17:15

Choose a tag to compare

[v2.2.0] - 2024-10-14

Changed

  • Bump server compatibility to iRODS 4.3.3 (#3).
  • Limit maximum value for connection timeouts (#623).
  • Disable client redirection to resource, by default (#626, #627).

Fixed

  • Adjust use of imported symbols from module for testing (#613).
  • Modify the correct object in session.clone() for ticket_applied attribute (#619).
  • Correct ticket expire example in README (#630).

Added

  • Attach server response to exception as server_msg attribute (#606).
  • Add CAT_TICKET_USES_EXCEEDED to irods.exception module (#632).

v2.1.0

13 Aug 18:35

Choose a tag to compare

  • [#3] v2.1.0 and update changelog [Terrell Russell]
  • [#3] allow genquery2_test to work under all Python2/3 versions [Daniel Moore]
  • [#3] call assertRaisesRegex[p] with/without final 'p' (depends on Python 2 or 3) [Daniel Moore]
  • [#534] implement replica truncate [Daniel Moore]
  • [#584] load settings from environment even without use of config file [Daniel Moore]
  • [#600] Comment out test_files_query_case_sensitive BETWEEN tests [Alan King]
  • [#597] genquery2_test: Replace Postgres-specific assertions [Alan King]
  • [#566] Rename login_auth_test.py to prevent running with full suite [Alan King]
  • [#533][#556] implement library features [Daniel Moore]
  • [#537] add --help option to the script setupssl.py [Daniel Moore]
  • [#574] rename progress_bar to updatables, allow for genericity [Daniel Moore]
  • [#574] Allow for tqdm progress bars to be used [Raoul Schram]
  • [#586] implement xml_mode() in a new irods.helpers module [Daniel Moore]
  • [#558] iRODSAccess: Handle non-str types in constructor [Alan King]
  • [#558] Add tests for iRODSAccess constructor type checking [Alan King]
  • [#567] return logging to normal after a run of the pool_test [Daniel Moore]
  • [#3][#562] skip issue 562 (leaking connections) test for Python2 [Daniel Moore]
  • [#565] Descend Bad_AVU_Value from ValueError [Daniel Moore]
  • [#587] unique_name now hashes the call tuple for a random seed. [Daniel Moore]
  • [#3][#525] allow touch API tests to run on Python 2 [Daniel Moore]
  • [#532,#564,#569] fix stored connections to match desired connection timeout. [Daniel Moore]
  • [#562] release old connection when redirecting [Daniel Moore]
  • [#576] test admin mode in metadata.apply_atomic_operations [Daniel Moore]
  • [#576] Add missing admin_mode in JSON message for metadata.apply_atomic_operations [Paul Borgermans]
  • [#571] exclude collection "/" from subcollections [Daniel Moore]
  • [#557] de-duplicate acl lists in case of multiple replicas. [Daniel Moore]
  • [#525] Add support for touch API operation. [Kory Draughn]
  • [#535] Implement basic support for GenQuery2 [Sietse Snel]
  • [#547] unify AVU field exceptions interface for metadata add and set [Daniel Moore]
  • [#550] Add support for client hints [Sietse Snel]

v2.0.1

30 Apr 18:40

Choose a tag to compare

  • [#543] Fix issue with parallel downloads to a directory [Raoul Schram]
  • [#521] clearer documentation and errors regarding pam/pam_password [Daniel Moore]
  • [#518] preserve login_ internally generated exceptions [Daniel Moore]
  • [#522][#523] allow '=' and ';' in PAM passwords [Daniel Moore]
  • [#519] force verify mode to CERT_NONE if irods verify setting is explicitly none [Daniel Moore]
  • [#526] can now opt out of strong primes to speed up SSL & PAM tests [Daniel Moore]
  • [#3] make sure tempfile.mktemp imported where needed for tests [Daniel Moore]
  • [#3] tweak compatibility to iRODS 4.3.2 [Daniel Moore]
  • [#539] iRODS 4.3.2 rmgroup adaptation [Daniel Moore]

v2.0.0

12 Feb 20:03

Choose a tag to compare

  • [#3] version bump for 2.0.0 [Terrell Russell]
  • [#3] update project description [Terrell Russell]
  • [#495] append modes seek to end on data_object.open(...) [Daniel Moore]
  • [#510] update README to reflect removal of session.permissions [Terrell Russell]
  • [#510] change permissions to acls [Daniel Moore]
  • [#504] modify replicate/trim code snippet and description [Daniel Moore]
  • [#459] respect the default_resource setting for replication [Daniel Moore]
  • [#484,#509] Update version mentioned in README for Quota [Terrell Russell]
  • [#503] swap readme from .rst to markdown [Terrell Russell]
  • [#484] change to proper RST marker "::" in quotas section [Daniel Moore]
  • [#485][#430][#494] document new legacy_auth.pam.* settings [Daniel Moore]
  • [#501] context manager to temporarily alter settings [Daniel Moore]
  • [#430][#494][#498] client auth "plugins" / pam_password compatibility / TTL fix [Daniel Moore]
  • [#485] allow detection of config without actually loading it. [Daniel Moore]
  • [#462][#399] Default the dataSize to 0 and prefer DATA_SIZE_KW over seek [Daniel Moore]
  • [#497] suppress fatal errors when loading configuration [Daniel Moore]
  • [#485][#489] document available settings and override environment variables [Daniel Moore]
  • [#489] allow environment variable overrides of individual settings during autoload [Daniel Moore]
  • [#485] writeable_properties including xml parser [Daniel Moore]
  • [#484] Add quotas to README [Daniel Moore]
  • [#474][#479] Allow querying, setting, and removing quotas [Daniel Moore]
  • [#483] make PRC version available as tuple [Daniel Moore]

v1.1.9

13 Oct 19:59

Choose a tag to compare

  • [#471][#472] allow save, load, and autoload of configuration [Daniel Moore]
  • [#456] auto-close data objects that go out of scope [Daniel Moore]
  • [#455] remove ticket check [Daniel Moore]
  • [#452] implement client redirection to resource server [Daniel Moore]
  • [#455] introduce low level ticket api changes [Daniel Moore]
  • [#234] Implement case-insensitive queries [Sietse Snel]

v1.1.8

18 May 18:15

Choose a tag to compare

  • [#450] test for setting/getting comments [Daniel Moore]
  • [#377] fix iRODSSession connection timeout [Daniel Moore]
  • [#450] Get property comments from replica object [Gwenael Leysour de Rohello]
  • [#448] protect against bad parameters in modify_password [Daniel Moore]
  • [#442] allow non-default string types in AVU fields [Daniel Moore]
  • [#443] add NotLike (GenQuery 'NOT LIKE') operator [Daniel Moore]