Flagship Changes
- Started a new glue library "stimflow" for qec circuit creation
- Added class
stim.CliffordString - Added prebuilt wheels for python 3.13 and python 3.14
Breaking Changes:
- Dropped support for versions of python past their end of life:
- Python 3.6 (EOL 2021)
- Python 3.7 (EOL 2023)
- Python 3.8 (EOL 2024)
- Python 3.9 (EOL 2025)
Notable Changes:
stim.PauliString.__init__now acceptsdict[int, int | str]anddict[int | str, Iterable[int]]values- Added method
stim.Circuit.missing_detectors - Added argument
unknown_input=Falseto methodstim.Circuit.count_determined_measurements - Added method
stim.FlipSimulator.append_measurement_flips - Added pickling support to
stim.CompiledMeasurementsToDetectionEventsConverter - Added support for converting
OBSERVABLE_INCLUDEinstructions with pauli targets to stimcirq - Added
stim.CliffordString. - Added
sinter.plot_custom stim samplenow uses loop folding to accelerate the collection of a reference sample from high-repetition-count circuits- Added
--skip_loop_foldingoption tostim sample(as loop folding is slower in some cases)
- Added
- Added
single_measure_keyargument tostimcirq.stim_circuit_to_cirq_circuit - Added basic support for feedback operations to stimcirq
- Added
pymatching-correlatedas a default supported decoder to sinter
Other Changes:
- Added
operator[]tostim::ReferenceSampleTree - Added more paper data references
Bug Fixes:
- Fixed
stim.Circuit.explain_detector_error_model_errorsmixing up Y/Z terms ofPAULI_CHANNEL_2errors - Fixed
stim.Circuit.explain_detector_error_model_errorsover-countingHERALDED_ERASEmeasurements - Fixed
sinternot allowing numpy integers to be used as counts - Fixed
stim.Circuit.flow_generatorsinverting measurement index order withinMPPinstructions - Fixed
sinter.AnonTaskStatsbeing overly anal about the types of counts it was given - Fixed sinter postselection failing due to miscalculating an expected quantity
Special thanks to this release's contributors:
- Iftach Yakar (@DeDuckProject)
- Guen Prawiroatmodjo
- Amanda Xu (@amandashoe)
- Paul Conner (@qec-pconner)
- Benjamin Jones (@jenjaminbones)
- Dan Riley (@drqec)
- @akviz
- Alexandre Bourassa (@AlexBourassa)
- Mike Hucka (@mhucka)
- Simon Humpohl (@shumpohl)
- Matthew Neeley (@maffoo)
- Matt McEwen (@m-mcewen)
- Christopher J Wood (@chriseclectic)
- Adam Zalcman (@viathor)