Skip to content

Add 8.9 removal notice to deprecation warnings - #7509

Merged
oliver-sanders merged 7 commits into
cylc:masterfrom
MetRonnie:delete-back-compat
Oct 8, 2026
Merged

oliver-sanders merged 7 commits into
cylc:masterfrom
MetRonnie:delete-back-compat

Conversation

@MetRonnie

@MetRonnie MetRonnie commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Partially addresses #7278

Closes #7275

Check List

  • I have read CONTRIBUTING.md and added my name as a Code Contributor.
  • Contains logically grouped changes (else tidy your branch by rebase).
  • Does not contain off-topic changes (use other PRs for other changes).
  • No dependency changes
  • Tests are included (or explain why tests are not needed).
  • Changelog entry not needed
  • Cylc-Doc pull request opened if required at cylc/cylc-doc/pull/XXXX.
  • If this is a bug fix, PR should be raised against the relevant ?.?.x branch.

@MetRonnie MetRonnie added this to the 8.7.0 milestone Oct 5, 2026
@MetRonnie MetRonnie self-assigned this Oct 5, 2026
Comment thread cylc/flow/rundb.py Outdated
Comment thread cylc/flow/task_events_mgr.py Outdated
@MetRonnie
MetRonnie marked this pull request as ready for review October 6, 2026 12:32
Comment on lines -229 to -239
# BACK COMPAT: post_load_db_coerce
# The DB at 8.0.x stores Interval values as neither ISO8601 duration
# string or DurationFloat. This has been fixed at 8.1.0.
# url:
# https://github.com/cylc/cylc-flow/pull/5138
# from:
# 8.0.x
# to:
# 8.1.x
# remove at:
# 8.7

@MetRonnie MetRonnie Oct 6, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment now only applies to a specific method of the BroadcastConfigValidator - there is already a comment over there:

# BACK COMPAT: BroadcastConfigValidator.coerce_interval
# The DB at 8.0.x stores Interval values as neither ISO8601 duration
# string or DurationFloat. This has been fixed at 8.1.0, and
# the following method acts as a bridge between fixed and broken.
# url: https://github.com/cylc/cylc-flow/pull/5138
# from: 8.0
# to: 8.1
# remove after: https://github.com/cylc/cylc-flow/issues/7339
@classmethod
def coerce_interval(cls, value, keys):

Comment on lines -683 to -688
# BACK COMPAT: contact pre "suite" to "workflow" conversion.
# from:
# Cylc 8
# remove at:
# Cylc 8.x
data[key.replace('SUITE', 'WORKFLOW')] = value

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed support for Cylc 7 contact files - I think at 8.7 we have agreed there should not be support for interacting with running Cylc 7 workflows.

(I checked this function is not used in cylc-uiserver)

@jfrost-mo jfrost-mo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a sensible set of additional deprecation warnings/markers. The first comment in cylc/flow/scheduler.py is the only one I feel strongly about, otherwise just minor queries.

Comment thread cylc/flow/scheduler.py Outdated
Comment on lines +401 to +402
# remove at: 8.x (pending a deprecation warning mentioning the removal
# version at least 2 minor versions before)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we define this warning?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do later when we get round to it, don't want to delay this PR

Comment on lines +412 to +413
# remove at: 8.x (pending a deprecation warning mentioning the removal
# version at least 2 minor versions before)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we define this warning?

Comment thread tests/unit/test_config.py

@jfrost-mo jfrost-mo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking sensible; cylc 7 really permeates this codebase.

Only comment is about another bit of code the could be removed, but that really wants to happen in a separate PR. Therefore happy to approve this one.

Comment thread cylc/flow/network/scan.py
@jfrost-mo

Copy link
Copy Markdown
Contributor

Also looks like some functional test KGOs need updating.

@MetRonnie
MetRonnie marked this pull request as draft October 7, 2026 09:01
@MetRonnie
MetRonnie requested a review from jfrost-mo October 7, 2026 11:20
@MetRonnie

Copy link
Copy Markdown
Member Author

Rebased onto master to bring in the changes from #7489

@MetRonnie
MetRonnie marked this pull request as ready for review October 7, 2026 11:21
Comment thread cylc/flow/network/scan.py
# BACK COMPAT: suite.rc logic
# FROM: 8.0
# TO: 8.7
# REMOVE AT: 8.11

@MetRonnie MetRonnie Oct 7, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jfrost-mo jfrost-mo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the diff and it looks good.

Comment thread cylc/flow/network/scan.py Outdated
Comment on lines -150 to -158
return False
else:
# ... can be run by Cylc 8

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eh?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed in person, I will remove the functional change to scan as we still want to display suite.rc workflows in the GUI so users can start them with an earlier version of Cylc 8 using the play form, for example

Comment thread cylc/flow/scripts/lint.py Outdated
Comment thread cylc/flow/scripts/lint.py Outdated
# TO: 8.6.*
# REMOVE: 8.8
# TO: 8.7
# REMOVE AT: 8.10

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be 8.11 (four minor version window?).

@MetRonnie MetRonnie Oct 7, 2026 •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Depends how you count (inclusive of the to: version or not)?

I was basing it off

# BACK COMPAT: handle --flow=all from earlier clients
# FROM: 8.0
# TO: 8.5.0
# REMOVE AT: 8.8
def back_compat_flow_all(flow: List[str]) -> List[str]:

# BACK COMPAT: mode=None
# the mode can be `None` for commands issued from older Cylc
# versions
# From: 8.4
# To: 8.5
# Remove at: 8.8
mode = StopMode(mode.value) if mode else StopMode.REQUEST_CLEAN

Comment thread cylc/flow/scheduler.py
@oliver-sanders
oliver-sanders merged commit 4e6c2d0 into cylc:master Oct 8, 2026
28 checks passed
@MetRonnie
MetRonnie deleted the delete-back-compat branch October 8, 2026 10:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

back compat: 8.7 removals

3 participants