Repository navigation
Prepare 1.0.0 release - #258
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
There was a problem hiding this comment.
🟡 Changes recommended
Documentation still gives an incorrect acceptance-rate formula for separate observables and omits the component-count threshold for component-based error bits, potentially misleading callers.
2 open issues
What changed in this PR
Prepares Tsim 1.0.0 by aligning release metadata and documenting changes from 0.1.5.
Changes:
- Sets the package, runtime and lockfile versions to 1.0.0, marks the package stable, and aligns its description with the README.
- Publishes release notes covering breaking changes, features and fixes, with updated references and contributor credits.
- Expands upgrade guidance for postselection behavior and minimum Python and Stim versions.
| File | Description |
|---|---|
uv.lock |
Updates the local package version to 1.0.0. |
src/tsim/__init__.py |
Updates the runtime version to 1.0.0. |
README.md |
Adds postselection and dependency upgrade guidance. |
pyproject.toml |
Updates the version, description and stability classifier. |
CHANGELOG.md |
Publishes and reorganizes the 1.0.0 release notes. |
Review effort: Balanced
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
Bump the version to 1.0.0, mark the package as stable, and publish the Unreleased notes as the 1.0.0 changelog entry, rewritten against 0.1.5 with credits for outside contributors and issue reporters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
c16fa17 to
c9d5337
Compare
| - `Circuit.append` raises `ValueError` when `targets`, `arg` or `tag` are | ||
| passed with a `stim.CircuitInstruction`, `stim.CircuitRepeatBlock` or | ||
| `stim.Circuit`. They used to be silently ignored. (#254) | ||
| - An `E`/`ELSE_CORRELATED_ERROR` chain whose links repeat Pauli components |
There was a problem hiding this comment.
I don’t think this is a breaking change, just an internal change.
There was a problem hiding this comment.
Agreed. I removed it from Breaking and shortened the Fixed entry to what users see: long chains that share Pauli components compile instead of failing. (d39e57c)
| - Compiling a sampler is faster: ZX reduction and stabilizer-rank | ||
| decomposition run in zxparam's Rust core (#205), and channel validation, | ||
| the noise sampling tables, the GF(2) error basis and detector placement do | ||
| less work; `cultivation_d5_end2end` compiles about 2.5x faster. (#207) |
There was a problem hiding this comment.
Do not mention this specific circuit here, keep it more general
There was a problem hiding this comment.
Removed the cultivation_d5_end2end number; the entry now only says compilation does less work. (d39e57c)
| - The `"pyzx"`, `"pyzx-dets"` and `"pyzx-meas"` diagram types. They still work as aliases for `"zx"`, `"zx-dets"` and `"zx-meas"` but emit a `DeprecationWarning`. | ||
| - The `"pyzx"`, `"pyzx-dets"` and `"pyzx-meas"` diagram types. They still work | ||
| as aliases for `"zx"`, `"zx-dets"` and `"zx-meas"` but emit a | ||
| `DeprecationWarning`. (#194) |
There was a problem hiding this comment.
Is it okay to remove these in 1.1 according to semver?
There was a problem hiding this comment.
No: Circuit.diagram is public API, so semver would keep the aliases until 2.0. I removed them in 1.0.0 instead. "pyzx", "pyzx-dets" and "pyzx-meas" now raise ValueError naming the "zx*" replacement. They are listed with the other zxparam changes under Breaking and in the README upgrade notes, and Deprecated is gone. (d39e57c)
| - The `pyzx-param` dependency. | ||
| - Internals: the `track_classical_wires` argument of `parse_stim_circuit`, the `tsim.compile.stabrank` module, and `ConnectedComponent`, `connected_components`, `get_params` and `evaluate_graph` from `tsim.core.graph`. | ||
| - The `pyzx-param` dependency. (#194) | ||
| - Internals: `GraphRepresentation` (`tsim.core.instructions`) is now |
There was a problem hiding this comment.
Do not mention internals here to keep the changelog more readable. This points can just be removed.
There was a problem hiding this comment.
Removed both Internals entries. (d39e57c)
- Drop the internal E/ELSE_CORRELATED_ERROR error-bit numbering from Breaking, and shorten its Fixed entry. - Give the acceptance rate for separate_observables=True. - Drop the benchmark circuit and the Internals entries. - Remove the pyzx, pyzx-dets and pyzx-meas diagram aliases instead of deprecating them, since semver would keep them until 2.0. The old names raise ValueError with their replacement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Prepares the 1.0.0 release.
"pyzx","pyzx-dets"and"pyzx-meas"diagram aliases, which now raiseValueErrornaming the"zx*"replacement. Under semver they could otherwise only be removed in 2.0.numpy(>=2.0) andequinox(>=0.11.5) lower bounds to versions Tsim works with, and thecuda13extra tojax>=0.7.0.Tests: 2493 passed locally.
🤖 Generated with Claude Code