Releases: munich-quantum-toolkit/syrec
MQT SyReC Synthesizer 2.0.0 Release
👀 What Changed
🚀 Features and Enhancements
- ✨ Support for hexadecimal and binary literals (#409) (@TooMuchDakka)
- ✨ Support for non-compile time constant expression indices in dimension access component of variable access (#369) (@TooMuchDakka)
- ✨ Unification of search for main module between SyReC parser and synthesis algorithms (#341) (@TooMuchDakka)
- Load simulation test case data from .json with unified format (#274) (@TooMuchDakka)
- ♻️ Replacement of boost::fusion and boost::spirit with ANTLR4 components for SyReC grammar and parser (#220) (@TooMuchDakka)
- ✨ Support for unary expressions in IR and synthesis algorithm (#259) (@TooMuchDakka)
- Transition to MQT Core (#252) (@TooMuchDakka)
- ♻️ Removal of boost dependency from synthesis and simulation part of library (#240) (@TooMuchDakka)
🐛 Bug Fixes
- 🐛 OpenQASM 3.0 compatible quantum register labels for generated qubits (#398) (@TooMuchDakka)
- Evaluation of comile time constant expressions and truncation of integer constant values (#404) (@TooMuchDakka)
- 📝 Fix rendering of documentation (#371) (@denialhaag)
- 🎨 Fix things forgotten in #317 (#368) (@denialhaag)
- 🐛 Fix of variable qubits lookup during synthesis of VariableAccess in recursive/repeated Call-/UncallStatements (#347) (@TooMuchDakka)
- 🐛 Fix of duplicate qubit label generation during synthesis (#327) (@TooMuchDakka)
- 🐛 Addition of missing statement inverse implementations + various UncallStatement synthesis bugfixes (#336) (@TooMuchDakka)
- Local module variables used as parameters in Call-/UncallStatements now synthesizable (#324) (@TooMuchDakka)
- Use ancillary qubit to store result of synthesis of variable expression used as guard condition in IfStatement (#311) (@TooMuchDakka)
- Synthesis of shift expressions with shift amount larger or equal to bitwidth of to be shift expression. (#297) (@TooMuchDakka)
- Refactoring of synthesis of division and modulo operations (#305) (@TooMuchDakka)
- Parser error newline (#303) (@TooMuchDakka)
- Fix of implementation of SyrecSynthesis::increase operation (#286) (@TooMuchDakka)
- Checking for repeating qubit indices in operands of expression no longer throws index-out-of-range error (#281) (@TooMuchDakka)
- Syrec editor can now load SyReC programs from a file (#289) (@TooMuchDakka)
📄 Documentation
- 📝 Fix Python version classifiers (#420) (@denialhaag)
- 🐛 OpenQASM 3.0 compatible quantum register labels for generated qubits (#398) (@TooMuchDakka)
- 📝 Readded user guide for changes to ANTLR grammar (#411) (@TooMuchDakka)
- 📝 Update templated files (#414) ([@mqt-app[bot]](https://github.com/[mqt-app[bot]](https://github.com/apps/mqt-app)))
- Fixed rendering of tables in SyReC language semantics (#388) (@TooMuchDakka)
- 📝 Update templated files (#383) ([@mqt-app[bot]](https://github.com/[mqt-app[bot]](https://github.com/apps/mqt-app)))
- ✏️ Fix typo in README (#375) (@denialhaag)
- 📝 Fix rendering of documentation (#371) (@denialhaag)
- 🎨 Fix things forgotten in #317 (#368) (@denialhaag)
- 📝 Update templated files (#363) ([@mqt-app[bot]](https://github.com/[mqt-app[bot]](https://github.com/apps/mqt-app)))
- 👷📝 Set up templating (#362) (@denialhaag)
- ❤️ Add support option (#352) (@denialhaag)
- Fixed DOI for publication "SyReC Synthesizer: An MQT tool for synthesis of reversible circuits" (#277) (@TooMuchDakka)
- ♻️ Replacement of boost::fusion and boost::spirit with ANTLR4 components for SyReC grammar and parser (#220) (@TooMuchDakka)
🤖 CI
- 👷 Enable testing on Python 3.14 (#415) (@denialhaag)
- 🍎 Restore support for x86 macOS systems (#394) (@denialhaag)
- 👷 Fix version of
pypa/gh-action-pypi-publishAction (#377) (@denialhaag) - 👷 Update workflows and
pre-commitconfig (#376) (@denialhaag) - 👷 Add C++ coverage job (#374) (@denialhaag)
- 👷📝 Set up templating (#362) (@denialhaag)
- 👷 Add workflow that automatically updates MQT Core (#298) (@denialhaag)
🧹 Code Quality
- Further synthesis tests using simulation for verification (#351) (@TooMuchDakka)
- ♻️ Replacement of boost::fusion and boost::spirit with ANTLR4 components for SyReC grammar and parser (#220) (@TooMuchDakka)
- ♻️ Removal of boost dependency from synthesis and simulation part of library (#240) (@TooMuchDakka)
⬆️ Dependencies
112 changes
- ⬆️🔒️ Lock file maintenance (#419) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🔒️ Lock file maintenance (#418) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook python-jsonschema/check-jsonschema to v0.34.1 (#417) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️🪝 Update pre-commit hook henryiii/validate-pyproject-schema-store to v2025.10.11 (#416) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/ren...
MQT SyReC Synthesizer 1.2.1 Release
👀 What Changed
A follow-up release that ensures compatibility with the latest mqt-core version and marks the first release in the new organization.
🐛 Bug Fixes
- ⬆️ Update to mqt-core
v3.0.2and modernize config (#227) (@burgholzer)
📄 Documentation
- 🚚 Update refs after organization move (#230) (@burgholzer)
🤖 CI
- ⬆️ Update to mqt-core
v3.0.2and modernize config (#227) (@burgholzer)
⬆️ Dependencies
- ⬆️👨💻 Update astral-sh/setup-uv action to v6 (#228) ([@renovate[bot]](https://github.com/[renovate[bot]](https://github.com/apps/renovate)))
- ⬆️ Update to mqt-core
v3.0.2and modernize config (#227) (@burgholzer)
Full Changelog: v1.2.0...v1.2.1
MQT SyReC Synthesizer 1.2.0 Release
👀 What Changed
This is a bigger maintenance release that updates the project to the latest best practises and standards.
It also updates the library to the latest developments from MQT Core as well as marks the transfer of the .real parser from MQT Core to this project.
🚀 Features and Enhancements
- ✨ add parser for
.realfiles @burgholzer (#219)
🐛 Bug Fixes
- 🩹 fix missing include @burgholzer (#216)
📄 Documentation
- 🍱 MQT Branding @burgholzer (#204)
🤖 CI
- ♻️ modernize and update the project @burgholzer (#217)
📦 Packaging
- ♻️ modernize and update the project @burgholzer (#217)
⬆️ Dependencies
- ⬆️ Bump the github-actions group with 2 updates @dependabot[bot] (#218)
- ♻️ modernize and update the project @burgholzer (#217)
- ⬆️ Bump the python-dependencies group across 1 directory with 2 updates @dependabot[bot] (#208)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci[bot] (#200)
- ⬆️ Bump the github-actions group with 1 update @dependabot[bot] (#195)
Full Changelog: v1.1.2...v1.2.0
MQT SyReC Synthesizer 1.1.2 Release
👀 What Changed
⬆️ Dependencies
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#193)
- ⬆️ Bump the github-actions group with 3 updates @dependabot (#191)
- ⬆️ Bump the submodules group with 1 update @dependabot (#192)
Full Changelog: v1.1.1...v1.1.2
MQT SyReC Synthesizer 1.1.1 Release
👀 What Changed
📄 Documentation
- 🚧 Low maintenance mode @burgholzer (#190)
- 🩹 📝 removes the
hmtl_baseurlsetting from RtD config @burgholzer (#184)
🤖 CI
- 🚧 Low maintenance mode @burgholzer (#190)
📦 Packaging
- 🚧 Low maintenance mode @burgholzer (#190)
⬆️ Dependencies
- 🚧 Low maintenance mode @burgholzer (#190)
- ⬆️ Bump the python-dependencies group with 1 update @dependabot (#188)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#185)
Full Changelog: v1.1.0...v1.1.1
MQT SyReC Synthesizer 1.1.0 Release
👀 What Changed
This release modernizes the Python packaging and CI for the project to bring it more in line with the rest of the MQT.
This should also lower the maintenance burden.
🚀 Features and Enhancements
- ♻️ Modernize Packaging and CI @burgholzer (#183)
📄 Documentation
- ♻️ Modernize Packaging and CI @burgholzer (#183)
🤖 CI
- ♻️ Modernize Packaging and CI @burgholzer (#183)
📦 Packaging
- ♻️ Modernize Packaging and CI @burgholzer (#183)
⬆️ Dependencies
- ♻️ Modernize Packaging and CI @burgholzer (#183)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#177)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#175)
- ⬆️ Bump pypa/cibuildwheel from 2.13.1 to 2.14.1 @dependabot (#174)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#172)
- 🚚 Move to MQT Core package @burgholzer (#171)
- ⬆️🪝 update pre-commit hooks @pre-commit-ci (#169)
- ⬆️ Bump pypa/cibuildwheel from 2.13.0 to 2.13.1 @dependabot (#168)
Full Changelog: v1.0.1...v1.0.2
Release v1.0.1
What's Changed
- 📦 Support Versioning in Git Archives by @SmaranTum in #103
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #104
- ⬆️ Bump extern/qfr from
78a3608to64aa806by @dependabot in #105 - ✨ DD-based Reversible Synthesis by @SmaranTum in #69
- ⬆️ Bump MarkusJx/install-boost from 2.4.0 to 2.4.1 by @dependabot in #108
- ⬆️ Bump extern/qfr from
64aa806to41f9809by @dependabot in #107 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #109
- ⬆️ Bump extern/qfr from
41f9809toc7679b6by @dependabot in #111 - ESOP minimization by @SmaranTum in #110
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #112
- Optimization based on same sequence of Toffoli gates by @SmaranTum in #113
- ⬆️ Bump extern/qfr from
c7679b6toe5f4189by @dependabot in #114 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #116
- DD synthesis of irreversible functions (Encoded to reversible without additional line) by @SmaranTum in #115
- ⬆️ Bump extern/qfr from
e5f4189to64a8919by @dependabot in #117 - Modified completeCubes function by @SmaranTum in #118
- Encoding irreversible function to reversible function using an additional line. by @SmaranTum in #119
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #121
- Decoding the irreversible function. by @SmaranTum in #120
- ⬆️ Bump pypa/cibuildwheel from 2.11.2 to 2.11.3 by @dependabot in #125
- ⬆️ Bump MarkusJx/install-boost from 2.4.1 to 2.4.3 by @dependabot in #124
- ⬆️ Bump extern/qfr from
64a8919to888d44aby @dependabot in #123 - Add MQT Logo and support Dark-Mode on RtD by @SmaranTum in #126
- Incorporating One-pass synthesis technique. by @SmaranTum in #122
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #129
- Change the references in Readme and RtD by @SmaranTum in #128
- ⬆️ Bump extern/qfr from
888d44ato5e8b8b7by @dependabot in #130 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #131
- ⬆️ Bump extern/qfr from
5e8b8b7to9d0f917by @dependabot in #132 - ⬆️ Drop
coverage[toml]requirement and remove version cap frompytest-covby @dependabot in #133 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #134
- ⬆️ Bump pypa/cibuildwheel from 2.11.3 to 2.11.4 by @dependabot in #136
- ⬆️ Bump extern/qfr from
9d0f917toc11670dby @dependabot in #135 - Integrating the encoding without any additional lines functionality. by @SmaranTum in #127
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #139
- ⬆️ Bump pypa/cibuildwheel from 2.11.4 to 2.12.0 by @dependabot in #141
- 🩹 QFR Compatibility by @burgholzer in #150
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #142
- ⬆️ Bump MarkusJx/install-boost from 2.4.3 to 2.4.4 by @dependabot in #148
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #152
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #153
- ⬆️ Bump pypa/cibuildwheel from 2.12.0 to 2.12.1 by @dependabot in #155
- ⬆️ Bump extern/qfr from
9a6bddfto866a3c3by @dependabot in #157 - ⬆️ Update pyqt6 requirement from <6.5.0,>=6.2.3 to >=6.2.3,<6.6.0 by @dependabot in #158
- ⬆️ Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 by @dependabot in #159
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #156
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #161
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #162
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #163
- ⬆️ Bump extern/qfr from
866a3c3to89412bcby @dependabot in #164 - ⬆️ Bump pypa/cibuildwheel from 2.12.3 to 2.13.0 by @dependabot in #165
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #166
- Add export to OpenQASM 2.0 for simple circuits by @lsschmid in #167
New Contributors
Full Changelog: v1.0.0...v1.0.1
v1.0.0 Release
This marks the 1.0.0 release of the MQT SyReC Synthesizer, which now includes proper documentation as well as further code quality checks.
What's Changed
- 🔧 Proper Versioning in Deploy CI by @burgholzer in #72
- 📝 Initialize Documentation on ReadTheDocs by @burgholzer in #74
- 🔧 Add in-progress cancellation to CI workflows by @burgholzer in #76
- 🔧 Update CodeQL configuration by @burgholzer in #75
- Bump extern/qfr from
d550522toef83c0fby @dependabot in #77 - 🔧 Add
clang-tidyto the project by @burgholzer in #73 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #78
- Bump extern/qfr from
ef83c0ftoae0b7c0by @dependabot in #79 - Bump pypa/cibuildwheel from 2.9.0 to 2.10.0 by @dependabot in #80
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #81
- Bump extern/qfr from
ae0b7c0to6e4924aby @dependabot in #82 - Bump pypa/cibuildwheel from 2.10.0 to 2.10.1 by @dependabot in #83
- Bump pypa/cibuildwheel from 2.10.1 to 2.10.2 by @dependabot in #85
- Bump extern/qfr from
6e4924ato8232c4cby @dependabot in #86 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #84
- Update pytest-cov requirement from ~=3.0.0 to >=3.0,<4.1 by @dependabot in #87
- Update coverage[toml] requirement from ~=6.4.2 to >=6.4.2,<6.6.0 by @dependabot in #88
- ⬆️ Bump extern/qfr from
8232c4ctoca6da01by @dependabot in #90 - ⬆️ Update pyqt6 requirement from <6.4.0,>=6.2.3 to >=6.2.3,<6.5.0 by @dependabot in #91
- Updated the names of the synthesis techniques. by @SmaranTum in #92
- ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #93
- ⬆️ Bump pypa/cibuildwheel from 2.10.2 to 2.11.1 by @dependabot in #95
- ⬆️ Bump extern/qfr from
ca6da01to76dfda6by @dependabot in #94 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #96
- ⬆️ Bump extern/qfr from
76dfda6to6b897ffby @dependabot in #98 - ⬆️🪝 update pre-commit hooks by @pre-commit-ci in #99
- ⬆️ Bump extern/qfr from
6b897ffto78a3608by @dependabot in #100 - ⬆️ Bump pypa/cibuildwheel from 2.11.1 to 2.11.2 by @dependabot in #101
- Docs by @SmaranTum in #97
New Contributors
- @pre-commit-ci made their first contribution in #78
Full Changelog: v0.2.0...v1.0.0
v0.2.0 Release
What's Changed
- ✨ Foundation for Synthesis Methods by @SmaranTum in #45
- ✨ Add SyReC synthesis with Additional Lines by @SmaranTum in #65
- ✨ Add pre-commit configuration by @burgholzer in #70
Full Changelog: v0.1.0...v0.2.0
v0.1.0
This marks the initial release of the MQT SyReC package. At the moment this is considered an alpha release and is still in active development. The interfaces and library structure are not yet considered stable. However, the initial feature set is complete and functional.