Skip to content

Bump to 3.3.1 and update the SCS core submodule - #234

Merged
bodono merged 1 commit into
masterfrom
release/3.3.1
Sep 5, 2026
Merged

Bump to 3.3.1 and update the SCS core submodule#234
bodono merged 1 commit into
masterfrom
release/3.3.1

Conversation

@bodono

@bodono bodono commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • Bump the Python package metadata and legacy setup entry point to 3.3.1.
  • Update scs_source to the final, merged SCS 3.3.1 commit cc244ebc4bff620e2e228e99a4e2e24ab12f9e3b (Bump version to 3.3.1 cvxgrp/scs#426).
  • Remove the temporary nonnegative-only regularization restriction now that the pinned core supports negative values as pinned absolute regularization. Document the contract and test real solves for type-I and type-II acceleration, while rejecting NaN and both infinities.

All feature PRs are merged and their final merged-branch CI is green. The final core release commit is also green. Tagging and PyPI publication remain gated on this PR and its merged-branch CI, including the MKL and wheel checks.

Validation

  • Built and installed an actual CPython 3.14 macOS arm64 wheel.
  • Runtime scs.__version__, installed distribution metadata, and wheel metadata all report 3.3.1.
  • Full local test suite against the installed wheel: 396 passed, 67 platform/optional-feature skips.
  • Built the sdist, checked its core contents, and successfully rebuilt a wheel from that sdist.
  • Exact core gitlink and clean git diff --check verified.

Linux MKL, Windows, free-threading, and the complete release wheel matrix remain covered by CI; these were not run locally on this Mac.

@bodono
bodono merged commit e6f3ec7 into master Sep 5, 2026
21 checks passed
@PTNobel

PTNobel commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Not totally sure what happened but the new release is breaking our CI. I haven't had time to do any investigation, so no pressure to look at it till we do.

https://github.com/cvxpy/cvxpy/actions/runs/33932974008/job/101366041302?pr=3499

@bodono

bodono commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

Thanks for flagging this! We looked into the linked CI run: both Linux and macOS fail in TestSCS.test_scs_options because it passes use_indirect=False, which now raises a TypeError. This appears to be an API compatibility issue rather than a wheel-loading or MKL issue.

For context, SCS 3.3.0 replaced the old backend-selection flags with the linear_solver argument, and 3.3.1 retains that change. The replacements are linear_solver=scs.LinearSolver.QDLDL for the old use_indirect=False path, and linear_solver=scs.LinearSolver.CPU_INDIRECT for use_indirect=True. We reproduced the failure with the published 3.3.1 wheel and verified that both replacement calls solve successfully.

Since we are retiring the use_indirect argument, would you prefer to address this in CVXPY with version-aware handling of these options, rather than restore the argument in SCS? Happy to discuss whichever approach would make the transition easiest for CVXPY and its users. Sorry for the disruption, and thanks again for catching it!

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