Skip to content

Revisit QUBOTools compat after the 0.15 ecosystem release train #44

Description

@bernalde

Context

Updated 2026-06-24.

This issue originally targeted widening DWave.jl from QUBOTools = "0.13" to QUBOTools = "0.13, 0.14". That target is now stale.

Current state:

  • DWave v0.7.0 still has QUBOTools = "0.13" on the default branch and in the latest registered release.
  • DWave v0.7.0 has QUBODrivers = "0.6.1"; in Julia compat semantics this allows compatible 0.6.x releases, but it can be normalized to "0.6" for clarity.
  • QUBOTools latest release is now v0.15.0, published 2026-06-24.
  • The existing Dependabot PR Update QUBOTools requirement from 0.13 to 0.13, 0.14 in the root-julia-dependencies group #45 targets QUBOTools 0.14.4, is behind main, and failed CI before the latest main changes. It should not be merged as-is or treated as final evidence about QUBOTools 0.15 compatibility.
  • QUBODrivers latest release is v0.6.3, and new releases of PseudoBooleanOptimization, ToQUBO, and QUBODrivers are expected soon as part of the same ecosystem update cycle.

Related ecosystem tracker: JuliaQUBO/QUBO.jl#46

Current Decision

Defer this DWave compat change until the current QUBO release train settles, or until there is a concrete reason to unblock DWave earlier.

Do not merge PR #45 as-is. After the upstream releases land, either:

Requested PR

When this is resumed:

  • Validate DWave.jl against current released QUBOTools and QUBODrivers versions.
  • If compatible, update [compat] from QUBOTools = "0.13" to the tested supported range, likely including 0.15.
  • Normalize QUBODrivers = "0.6.1" to QUBODrivers = "0.6" if no behavior change is involved.
  • Keep the PR narrowly scoped to compatibility unless tests expose a real bug.
  • Add or adjust tests only if a real compatibility failure is found.
  • Do not relax unrelated dependency bounds or weaken checks just to make resolution pass.
  • If there is a known incompatibility with the current QUBOTools release, document it here with the failing test or stack trace instead of widening the bound silently.

Suggested Verification

From a clean checkout of the PR branch:

import Pkg
Pkg.instantiate()
Pkg.update()
Pkg.status(["QUBOTools", "QUBODrivers"])
Pkg.test()

Also verify installability from a fresh environment before release:

import Pkg
Pkg.add(["DWave", "QUBOTools"])
using DWave
using QUBOTools
Pkg.status(["DWave", "QUBOTools", "QUBODrivers"])

Acceptance Criteria

  • The issue target reflects the latest released QUBOTools minor series at the time work resumes.
  • CI passes with that QUBOTools release resolved.
  • If compatible, tag/register a DWave patch release after the compat PR merges.
  • After registry propagation, Pkg.add("DWave") can resolve alongside the current QUBO ecosystem releases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions