Skip to content

docs: restructure upcoming changelog and add missing PRs#675

Open
FBumann wants to merge 9 commits intomasterfrom
docs/restructure-upcoming-changelog
Open

docs: restructure upcoming changelog and add missing PRs#675
FBumann wants to merge 9 commits intomasterfrom
docs/restructure-upcoming-changelog

Conversation

@FBumann
Copy link
Copy Markdown
Collaborator

@FBumann FBumann commented May 7, 2026

Summary

Restructures the Upcoming Version block of doc/release_notes.rst into a sectioned layout (Features / Performance / Bug Fixes / Breaking Changes) so the headline (piecewise) leads, and folds in 9 PRs that had merged to master since v0.6.7 but weren't yet in the changelog.

The previous flat list of 20 bullets buried the major piecewise work and mixed one-line fixes with multi-paragraph features.

What changed

Layout — feature subsections by domain:

**Features**
  *Piecewise linear constraints (new)*  — 5 bullets
  *Variables*    — fix/unfix, relax/unrelax, semi-continuous
  *Model*        — copy(), SOS reformulation, format_*
  *Expressions*  — subset/superset coord harmonization
  *Solvers*      — OETC plumbing, SCIP-on-Windows
**Performance**
**Bug Fixes**
**Breaking Changes**  — google-cloud-storage / requests now optional

Newly captured PRs#589, #595, #601, #614, #619, #635, #671, #672, #674.

Cutssphinx-copybutton (doc tooling) and __weakref__ on Model (only relevant to extension authors) removed as not user-facing.

Tightening — piecewise opening bullet trimmed (the EvolvingAPIWarning rationale + warnings.filterwarnings snippet belong in API docs); slopes_align moved from breakpoints() to Slopes.align to reflect the post-#673 final state; the as_dataarray MultiIndex fix (#659) folded into the add_variables bullet since #659 fixed a regression introduced by #614 in the same release cycle.

Reclassifications — CPLEX quality-attribute handling moved from Solvers to Bug Fixes (it's a fix, not a feature); SOS reformulation moved from Variables to Model (it's a solve-pipeline concern).

Test plan

  • Render doc/release_notes.rst locally and confirm the Upcoming section reads cleanly.
  • Sanity-check that every PR merged after v0.6.7 (excluding internal CI/benchmark/dep-bumps) is represented.

🤖 Generated with Claude Code

FBumann and others added 9 commits May 7, 2026 18:59
Group the upcoming version block into Features / Performance / Bug Fixes
/ Breaking Changes / Documentation sections so the headline (piecewise)
leads, and add the entries for #589, #595, #601, #614, #619, #635, #656,
#671, #672, #674. Tighten the piecewise block to its final state.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Trim verbose phrasing in the piecewise / variables / model / solvers
sections, fold subset-superset sub-bullets into one paragraph, and drop
two entries that aren't user-facing for a release notes audience:
sphinx-copybutton (doc tooling) and Model.__weakref__ (only relevant to
extension authors).

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
#673 removed the slopes-mode (and slopes_align kwarg) from breakpoints();
the align kwarg now lives on the Slopes class.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
SOS reformulation is a model-rewrite/solve-pipeline concern, not a
variable attribute.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
- New *Expressions* subsection holds the subset/superset coord
  harmonization, which was misfiled under *Model*.
- CPLEX quality-attribute handling is a fix for crashes on missing
  attributes, not a new feature — moved to **Bug Fixes**.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
#659 fixes a regression introduced by #614 in the same release cycle —
no end user ever saw the broken state, so a standalone bullet
overstates the change. Net behavior is captured by extending the
add_variables bullet to mention MultiIndex coords.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Drop implementation details that belong in API docs (numpy-vs-pandas
note, JSON encoding for netCDF, "with no auxiliary variables" piecewise
detail), merge the two OETC bullets, and trim "Add X. Supports Y."
wrappers across most lines.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Previous wording ("zeros all auxiliaries when off") was true at the
auxiliary level but glossed over the bounded-tuple case where the
output is not automatically pinned to 0. Drop the implication and
defer the detail to the docstring.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Trim references to specific kwargs/attributes the reader doesn't need
in the high-level summary: method="auto" parens, align="pieces|leading",
deep / include_solution, reformulate_sos="auto", solver_name /
**solver_options, max_dual_infeasibility example, and the
operator-by-operator coord-alignment breakdown.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
@FBumann FBumann requested a review from FabianHofmann May 7, 2026 18:06
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