1.29.0
Long Term Support (LTS)
This release marks the start of the 1.29 Long Term Support (LTS) release line. This release line will be supported with security and critical patches until at least July 2024.
Upgrade Instructions
This feature release requires a database schema upgrade. Please consult the documentation about upgrading your database schema.
The following changes are necessary and are covered by the alembic upgrade head command:
-
Introduction of the
availability_read,availability_writeandavailability_deletecolumns inrsestable. This will replace theavailabilitycolumn in a later release. (Alembic revision1677d4d803c8) -
Extend
refresh_tokencolumn intokenstable. (Alembic revisionfa7a7d78b602) -
Drop
third_party_copycolumn inrse_protocolstable. (Alembic revisiond6e2c3b2cf26) -
Creation of several global temporary tables on Oracle. (Alembic revision
f41ffe206f37) -
Migration of RSE Settings (
city,region_code,country_name,continent,time_zone,ISP) fromrsestable torse_attr_map; These columns will be dropped fromrsesin a future release. (Alembic revision2190e703eb6e)
Important changes
-
This release drops the, long deprecated, DQ2 compatibility clients.
-
Full removal of Python 2.7 compatibility. If you require Python 2.7 compatibility on the clients side, please consider the Rucio 1.26 LTS release line which will still be supported until mid-2023.
General
Features
- Core & Internals: Passing scope to construct_surl() #4836
- Database: Further integration of temporary tables to other major workflows #5441
- Documentation: Fix client API documentation page #5444
- Messaging: Hermes 2 evolution #4610
- Release management: Removal of Python 2.7 dependencies from the code #5435
Enhancements
- Authentication & Authorisation: Replace deprecated
oauth2clientdependency #5343 - Core & Internals: Replace dependency
python-memcached#5341 - Core & Internals: Calculation of container
lengthandevents#5422 - Core & Internals: Cannot update
continentattribute of RSE #5464 - Core & Internals: rucio-admin rse update shows no error for unsupported options #5491
- Database: Add poolclass configuration options for database engine #5391
- Database: Add additional operators in metadata filter engine for Oracle #5503
- Database: global temp table detection query is costly on oracle #5714
- Documentation: Further OIDC and SSO optimization and documentation #5437
- Metadata: Using plugin ALL or JSON returns DataIdentifierNotFound if json metadata is not set #4512
- Remove third_party_copy column #5634
- Introduce a heartbeat handler to kronos #5685
- Protocols: Remove legacy S3 protocols and libraries #5346
- Protocols: Check before deleting with GFAL #5622
- Recovery: Heartbeat handler for bad_replicas daemons #5562
- Recovery: Create rules for suspicious replicas with only one declaration #5591
- Testing: mypy static code analysis #4455
Bugs
- Cache detection code results in wrong logging level #5697
- global temporary tables not used on oracle #5710
- Transfers: Logic error in FTS3 transfertool checksum validation strategy #5670
Clients
Features
- Clients: Remove DQ2 Client #5584
Bugs
- Clients: Config not found RuntimeError in version 1.29.0rc1 #5704
WebUI
Enhancements
- WebUI: Make subscriptions page real-time #5583