Skip to content

Downgrade: raise RecipesBase compat floor to 1.0 (incompatible with Plots 1 below)#51

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix-downgrade-floor
Jun 15, 2026
Merged

Downgrade: raise RecipesBase compat floor to 1.0 (incompatible with Plots 1 below)#51
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix-downgrade-floor

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

The MINIMUM-VERSION (downgrade) job fails. Reproduced locally on Julia 1.10 (the LTS downgrade floor); the conflict is:

Unsatisfiable requirements detected for package Plots [91a5bcdd]:
 Plots [91a5bcdd] log:
 ├─restricted to versions 1 by project, leaving only versions: 1.0.0-1.41.6
 └─restricted by compatibility requirements with RecipesBase [3cdcf5f2]
   to versions: 0.29.0-0.29.9 or uninstalled — no versions left
     └─RecipesBase restricted to versions 0.8.0 by an explicit requirement

Why the old floor was impossible

  • At the downgrade minimum RecipesBase is pinned to its floor 0.8.0 (compat RecipesBase = "0.8, 1.0"), and the test dep Plots is pinned to its floor 1.0.0 (compat Plots = "1").
  • In the registry, every Plots 1.x requires RecipesBase = "1" (Plots 1.0-1.23 -> RecipesBase 1). RecipesBase 0.8.x is only co-installable with the pre-1.0 Plots 0.29.x.
  • So RecipesBase 0.8.0 and Plots 1 have an empty intersection -> Unsatisfiable. Bumping the Plots floor cannot help, since no Plots >= 1 supports RecipesBase 0.8.

Fix

Raise the lower bound: RecipesBase = "0.8, 1.0" -> RecipesBase = "1.0". 1.0 is the smallest RecipesBase co-installable with Plots 1. The @recipe API this package uses is unchanged between RecipesBase 0.8 and 1.0; no upper bound lowered, no test logic touched.

Resolve verification (local, Julia 1.10 LTS)

Mimicking julia-downgrade-compat --min (all [compat] entries pinned to their lower bounds):

  • floor RecipesBase = 0.8 -> Unsatisfiable (reproduces CI).
  • floor RecipesBase = 1.0 -> RESOLVE SUCCEEDED (installs Plots v1.23.6, exit 0).

Resolution only — the full test suite was not run locally; PR CI confirms.

Ignore until reviewed by @ChrisRackauckas.

ChrisRackauckas and others added 2 commits June 13, 2026 07:01
…ble against Plots 1)

At the downgrade minimum, RecipesBase is pinned to its floor 0.8.0 while the
test dep Plots is pinned to its floor 1.0.0. Every Plots 1.x requires
`RecipesBase = "1"` (Plots 1.0-1.23 -> RecipesBase 1); RecipesBase 0.8.x is
only co-installable with the ancient pre-1.0 Plots 0.29.x. So RecipesBase 0.8.0
and Plots 1 have an empty intersection, giving an Unsatisfiable.

RecipesBase 1.0 is the smallest floor co-installable with Plots 1. The
`@recipe` API this package uses is unchanged between 0.8 and 1.0. Bumping the
Plots floor cannot fix this since no Plots >= 1 supports RecipesBase 0.8.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 15, 2026 05:04
@ChrisRackauckas ChrisRackauckas merged commit f1821af into SciML:master Jun 15, 2026
5 checks passed
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.

2 participants