Skip to main content

36.0.0rc1

Release Candidate

This is a release candidate! Only to be used in testing environments!

Important changes

  • For policy package operators: Rucio 36 includes a breaking change in the way the supported Rucio version is configured. With this change, the version with PEP-compliant version specifier; you can find the specification for the version specifiers here: https://peps.python.org/pep-0440/#version-specifiers In order to migrate to the new format, you simply need to add a version specifier comparison operator to the SUPPORTED_VERSION line in your policy package. For example, if you only want to support the entire Rucio 36 release line (so 36.1.0, 36.2.0...) without yet supporting Rucio 37, you can use the compatible release operator ~=, as seen below. Before Rucio 36: SUPPORTED_VERSION = '36' From Rucio 36 onwards: SUPPORTED_VERSION = '~=36.0'

General

Features

  • Policies: Prepare replacement of current policy import with policy packages #4798
  • Policies: Policy package version support: specifying each supported major version (current way of doing things) vs specifying a minimum valid version (proposal) #7082
  • Testing: Move ATLAS VO test to use policy package #6962

Enhancements

  • Policies: Allow permissions to optionally return a message #6580
  • Policies: "diff"-based policies, instead of fully replicating the base policy package code #6842
  • Policies: Refactor all ATLAS-related code into ATLAS policy package #7027
  • Policies: Policy package version check: instead of parsing string manually, use packaging.version.Version #7083
  • Policies: Extraction of Belle II logic to policy package #7157
  • Protocols: Use abstractmethod decorator in place of NotImplementedError in instances where we're using NotImplementedError to mark an abstract method #7031
  • Release management: Unneeded dev dependency virtualenv #7140
  • Testing: Introduce test coverage in PR reviews (and possibly in CI) #6545
  • Testing: Better define unit tests and integ tests #7007
  • Testing: Improve test coverage #7008
  • Testing: Remove unnecessary test_download_states #7070

Bugs

  • Authentication & Authorisation: Permissions: Unify the permissions for add_did and add_dids #6973
  • Deletion: Reaper fails to delete files in S3 based RSEs #6548
  • Documentation: Importing a schema from a policy package with a lfn2pfn algorithm results in circular imports due to module-level logic #7165
  • Fix TripleDES issue that's blocking cryptography dependency update #7075
  • Protocols: RSEProtocol crashes if protocol_attr doesn't have auth_token #7023
  • REST & API: Align recursive Parameter Handling and Documentation in Scope API Endpoint #7175
  • Release management: Version block is outdated for minimum Python version #7182
  • Testing: VO tests: Belle II test failing due to using deprecated policy package version syntax for SUPPORTED_VERSION #7186
  • Transfers: Automatix crash if one destination RSE is not available #6925