36.0.0rc5
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_VERSIONline in your policy package. For example, if you only want to support the entire Rucio36release line (so 36.1.0, 36.2.0...) without yet supporting Rucio37, 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
abstractmethoddecorator in place ofNotImplementedErrorin instances where we're usingNotImplementedErrorto 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_didandadd_dids#6973 - Deletion: Reaper fails to delete files in S3 based RSEs #6548
- Documentation: Importing a schema from a policy package with a
lfn2pfnalgorithm results in circular imports due to module-level logic #7165 - Fix
TripleDESissue that's blockingcryptographydependency update #7075 - Protocols: RSEProtocol crashes if
protocol_attrdoesn't haveauth_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