Releases: cda-tum/fiction
v0.6.12
👀 What's Changed
This release features powerful extensions for the gold physical design engine, further enhancing its capabilities for layout generation. Among these is an all-new maximum-effort mode that explores even more corners of the solution space. Additional flags enforce straight inverter gates or additional spacing for primary input pins. Furthermore, fiction gained a crossing minimization engine adapted from GraphViz. Stay tuned for crossing-free physical design flows!
As per usual, we fixed bugs, improved performance, and updated dependencies. Also, you can find new references to our latest publications in the documentation.
Full CHANGELOG: v0.6.11...v0.6.12
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ Added a Reimplementation of GraphViz's "Mincross" Algorithm for Edge Crossing Minimization in Networks @hibenj (#736)
- ✨ Extended the
areacommand to also report layout width and height in nanometers @marcelwa (#828) - ✨ Skip tiles for PI placement in
gold@simon1hofmann (#820) - ✨ Added flag to
goldto enforce NOT gates to be routed non-bending only @simon1hofmann (#784) - ✨ Maximum-effort mode for
gold@simon1hofmann (#743) - 🎨 Small changes in
is_operationaland addedPRUNING_BASEDoption to gate design @Drewniok (#760) - ⚗️ Added further experiments for
QuickCell@Drewniok (#762) - ⚗️ Updated experiment due to previous changes in the code base @Drewniok (#769)
- ⚗️ Added missing experiment script for the minimal gate design @Drewniok (#763)
- ⚗️ Added missing figure of merit experiment @Drewniok (#778)
⚡️ Performance
- ⚡️ Speed up
hexagonalization@simon1hofmann (#837)
🐛 Bug Fixes
- 🐛 Fix the
clang-tidyCI's attempt to push thread comments from fork runs @marcelwa (#853) - 🐛 Added error handling in experiment for disabled
ALGLIBlibrary @Drewniok (#826) - 🔧 Adjust compilation database in order to fix
clang-tidybehavior @marcelwa (#840) - 👷 Fallback to default values for some options in clang-tidy CI configuration @marcelwa (#829)
- 🚨 Fixed
clang-tidywarnings @simon1hofmann (#827) - 🐛 Fixed PO extension in
hexagonalization@simon1hofmann (#819) - 🐛 Fixed PO location in
post_layout_optimization@simon1hofmann (#796) - 👷 Adjust fetch depth in clang-tidy CI to ensure complete history is available @marcelwa (#793)
- 👷 Adjust the Clang-Tidy Workflow to Run on Pull Request Target Triggers Exclusively @marcelwa (#792)
- 👷 Update clang-tidy CI to use the
pull_request_targettrigger @marcelwa (#791) - 👷 Add permissions to the
clang-tidyCI @marcelwa (#790) - 🐛 Fixed band bending resilience calculation for unspecified
transition_type@Drewniok (#770) - 🐛 Fixed I/O cell handling in
assign_cell_type@Drewniok (#747) - 🐛 Fixes to SiDB Simulation Core Code @wlambooy (#738)
- 🐛 Add missing
clonemember function to pyfiction's SiDB lattices @marcelwa (#748)
📝 Documentation
- 📝 Update TCAD journal paper @simon1hofmann (#839)
- 📝 Added recent publications (IEEE-NANO, TCAD, ASP-DAC 2026) @Drewniok (#817)
- 📝 Added DATE 2025 reference @Drewniok (#753)
- 📝 Added ISCAS 2025 reference @Drewniok (#776)
✅ Testing
👷 CI
- 👷 Switch to the
Ninjagenerator for Windows CI runs to make use ofccache@marcelwa (#865) - 👷 Updated the code coverage config @marcelwa (#562)
- 🔥 Dropped Python 3.9 support @marcelwa (#864)
- 🐛 Fix the
clang-tidyCI's attempt to push thread comments from fork runs @marcelwa (#853) - 👷 Fallback to default values for some options in clang-tidy CI configuration @marcelwa (#829)
- 👷 Adjust fetch depth in clang-tidy CI to ensure complete history is available @marcelwa (#793)
- 👷 Adjust the Clang-Tidy Workflow to Run on Pull Request Target Triggers Exclusively @marcelwa (#792)
- 👷 Update clang-tidy CI to use the
pull_request_targettrigger @marcelwa (#791) - 👷 Add permissions to the
clang-tidyCI @marcelwa (#790) - 👷 Modernize and simplify the clang-tidy CI @marcelwa (#785)
- 🔥 Drop Windows 2019 and v142 support @marcelwa (#757)
⬆️ Dependencies
81 changes
- ⬆️👨💻 Update Submodules @renovate[bot] (#867)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#863)
- ⬆️👨💻 Update Submodules @renovate[bot] (#861)
- ⬆️👨💻 Update libs/pybind11 digest to c7b4f66 @renovate[bot] (#858)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#859)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#845)
- ⬆️👨💻 Update Submodules @renovate[bot] (#847)
- ⬆️👨💻 Update Submodules @renovate[bot] (#841)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#838)
- ⬆️👨💻 Update Submodules @renovate[bot] (#834)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#824)
- ⬆️👨💻 Update libs/pybind11 digest to 326b106 @renovate[bot] (#831)
- ⬆️👨💻 Update Submodules @renovate[bot] (#821)
- ⬆️👨💻 Update Submodules @renovate[bot] (#811)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#810)
- ⬆️👨💻 Update Submodules @renovate[bot] (#808)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#807)
- ⬆️👨💻 Update Submodules @renovate[bot] (#802)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#801)
- ⬆️👨💻 Update Submodules @renovate[bot] (#797)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#789)
- ⬆️👨💻 Update Submodules @renovate[bot] (#794)
- ⬆️👨💻 Update Submodules @renovate[bot] (#786)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#780)
- ⬆️👨💻 Update Submodules @renovate[bot] (#783)
- ⬆️👨💻 Update Submodules @renovate[bot] (#782)
- ⬆️👨💻 Update Submodules @renovate[bot] (#779)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#777)
- ⬆️👨💻 Update Submodules @renovate[bot] (#774)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#773)
- ⬆️👨💻 Update Submodules @renovate[bot] (#771)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#768)
- ⬆️👨💻 Update Submodules @renovate[bot] (#765)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#761)
- ⬆️👨💻 Update Submodules @renovate[bot] (#758)
- ⬆️👨💻 Update Submodules @renovate[bot] (#754)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#752)
- ⬆️👨💻 Update Submodules @renovate[bot] (#750)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#746)
- ⬆️👨💻 Update Submodules @renovate[bot] (#744)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.2 @renovate[bot] (#868)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#862)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.14.0 @renovate[bot] (#856)
- ⬆️ Bump pre-commit hooks @pre-commit-ci[bot] (#851)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.13.3 @renovate[bot] (#848)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#842)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#836)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#830)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.12 @renovate[bot] (#822)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v21 @renovate[bot] (#815)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.11 @renovate[bot] (#813)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#809)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.9 @renovate[bot] (#804)
- ⬆️🪝 Update pre-commit hook pre-commit/pre-commit-hooks to v6 @renovate[bot] (#800)
- ⬆️🪝 Update pre-commit hook astral-sh/ruff-pre-commit to v0.12.8 @renovate[bot] (#798)
- ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.co...
v0.6.11
👀 What's Changed
This is an incremental release that bundles a lot of smaller changes, improvements, updates, and bug fixes.
Full CHANGELOG: v0.6.10...v0.6.11
Many thanks to all contributors!
✨ Features and Enhancements
- 🐍 Add Pythonic dictionary-like interfaces to
operational_domainandcritical_temperature_domain@marcelwa (#741) - ⚗️ Added experiment for a comprehensive analysis of the critical temperature domain @Drewniok (#684)
- 🎨 Slightly faster ClusterComplete @wlambooy (#664)
- ✨ Parameter to move inputs/outputs to top/bottom border after
hexagonalization@simon1hofmann (#692) - 🎨 Improved usability of the on-the-fly SiDB gate library @Drewniok (#634)
- ✨ Added timeout for
QuickSim@Drewniok (#654) - 🎨 Refactored random layout design functions @Drewniok (#678)
- 🎨 Refactored
QuickSimto remove magic number for upper limit calculation @Drewniok (#679)
⚡️ Performance
🐛 Bug Fixes
- 🐛 Fixed not setting Z dimension while determining aspect ratio for cell-level layout @wlambooy (#730)
- 📝 Fixed warnings in documentation @Drewniok (#719)
- 🐛 Use correct function for charge index calculation and fix base for TTS calculation @Drewniok (#721)
- 📝 Change references of logos due to repo migration. @Drewniok (#718)
- 🐛 Fixed inconsistencies and various bugs in SiDB simulation/analysis @Drewniok (#693)
- 🐛 Exclude ClusterComplete from simulation engine selection when ALGLIB is disabled @Drewniok (#700)
- 🐛 Increased tolerance to avoid undetected degeneracy and added forbidden BDL types in wire detection @Drewniok (#685)
- 📝 Documenation fix related to
bdl_input_iterator@marcelwa (#691) - 🐛 Fixed LT, LE, GT, and LE gate handling in
gate_level_layoutandwrite_/read_fgl_layout@marcelwa (#689) - 🐛 Number of crossings calculation @simon1hofmann (#686)
📝 Documentation
- 👷 Set up documentation builds with
uv@marcelwa (#731) - 📝 Add LASCAS and TCAD papers to docs @simon1hofmann (#722)
- 📝 Fixed warnings in documentation @Drewniok (#719)
- 📝 Change references of logos due to repo migration. @Drewniok (#718)
- 📝 Documenation fix related to
bdl_input_iterator@marcelwa (#691) - ⚗️ Added total runtime to experiment script @Drewniok (#680)
✅ Testing
👷 CI
- ⬆️👨💻 Update wntrblm/nox action to v2025.05.01 @renovate[bot] (#734)
- ⬆️👨💻 Update astral-sh/setup-uv action to v6 @renovate[bot] (#725)
- ⬆️👨💻 Update ZedThree/clang-tidy-review action to v0.21.0 @renovate[bot] (#712)
- ⬆️👨💻 Update pypa/cibuildwheel action to v2.23 @renovate[bot] (#683)
⬆️ Dependencies
29 changes
- ⬆️🐍 Lock file maintenance @renovate[bot] (#742)
- ⬆️👨💻 Update Submodules @renovate[bot] (#739)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#735)
- ⬆️👨💻 Update Submodules @renovate[bot] (#732)
- 👷 Set up documentation builds with
uv@marcelwa (#731) - ⬆️👨💻 Update Submodules @renovate[bot] (#728)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#729)
- ⬆️👨💻 Update libs/Catch2 digest to 8039e3e @renovate[bot] (#727)
- ⬆️👨💻 Update libs/Catch2 digest to 8cfca70 @renovate[bot] (#726)
- ⬆️👨💻 Update libs/json digest to 51a77f1 @renovate[bot] (#723)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#717)
- ⬆️👨💻 Update Submodules @renovate[bot] (#715)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#714)
- ⬆️👨💻 Update Submodules @renovate[bot] (#713)
- ⬆️👨💻 Update Submodules @renovate[bot] (#710)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#708)
- ⬆️👨💻 Update libs/json digest to 4424a0f @renovate[bot] (#707)
- ⬆️👨💻 Update Submodules @renovate[bot] (#705)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#704)
- ⬆️👨💻 Update Submodules @renovate[bot] (#703)
- ⬆️👨💻 Update Submodules @renovate[bot] (#701)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#699)
- ⬆️👨💻 Update libs/pybind11 digest to 566894d @renovate[bot] (#698)
- ⬆️👨💻 Update Submodules @renovate[bot] (#694)
- ⬆️🐍 Update Python Dependencies @renovate[bot] (#677)
- ⬆️👨💻 Update Submodules @renovate[bot] (#690)
- ⬆️👨💻 Update Submodules @renovate[bot] (#687)
- ⬆️👨💻 Update Submodules @renovate[bot] (#681)
- ⬆️👨💻 Update Submodules @renovate[bot] (#675)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#716)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#711)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#706)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#702)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#740)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#733)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#724)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#697)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#695)
- ⬆️🪝 Update pre-commit hook pre-commit/mirrors-clang-format to v20 @renovate[bot] (#696)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#688)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#682)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#676)
v0.6.10
👀 What's Changed
This is mainly a bugfix release that resolves some issues with the Python bindings.
Full CHANGELOG: v0.6.9...v0.6.10
Many thanks to all contributors!
🐛 Bug Fixes
📝 Documentation
👷 CI
- ⬆️👨💻 Update wntrblm/nox action to v2025 @renovate[bot] (#662)
⬆️ Dependencies
- ⬆️🐍 Lock file maintenance @renovate[bot] (#672)
- ⬆️👨💻 Update libs/pybind11 digest to 34a118f @renovate[bot] (#671)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#670)
- ⬆️👨💻 Update Submodules @renovate[bot] (#669)
v0.6.9
👀 What's Changed
This is another huge release that we have been working hard on. It introduces ClusterComplete, a breakthrough physical simulation engine for SiDBs that enables exact and fast 3-state simulation of way over 80 quantum dots! Earlier this week, we already made it available as a SiQAD plugin to be applied in CAD workflows via a user-friendly GUI. Additionally, we introduce a temperature-aware operational domain analysis for SiDB layouts, fixed bugs, and updated dependencies.
Full CHANGELOG: v0.6.8...v0.6.9
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ Added temperature-aware operational domain simulation. @Drewniok (#646)
- ➕ Optional usage of
jemalloc@wlambooy (#640) - 💥 Introducing
ClusterComplete: Exact SiDB Logic Simulation with well over 50 DBs @wlambooy (#390)
📝 Documentation
🐛 Bug Fixes
- 🐛 Prevented jemalloc from rebuilding in incremental builds @wlambooy (#657)
- 🩹 Non-critical fixes w.r.t. the
ClusterCompletemerge (#390) @wlambooy (#652) - 🐛 Fixed layout resizing in
apply_gate_library@wlambooy (#653)
⬆️ Dependencies
8 changes
- ⬆️🐍 Lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#663) - ⬆️👨💻 Update libs/parallel-hashmap digest to 154c634 @[renovate[bot]](https://github.com/apps/renovate) (#661) - ⬆️👨💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#660) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#659) - ⬆️👨💻 Update libs/pybind11 digest to d2e7e8c @[renovate[bot]](https://github.com/apps/renovate) (#658) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#656) - ⬆️👨💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#655) - ⬆️🐍 Lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#650) - ⬆️👨💻 Update libs/json digest to e90c860 @[renovate[bot]](https://github.com/apps/renovate) (#649) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#648) - ⬆️👨💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#647)v0.6.8
👀 What's Changed
This release introduces virtual PI networks, a special type of logic network that allows duplications of primary input signals together with respective equivalence-checking functionality. Furthermore, extended views for depth counting and rank orders have been added. Additionally, the recently proposed SRS clocking scheme also made it into this release. Finally, a critical bug in wheel building and distribution is fixed.
Full CHANGELOG: v0.6.7...v0.6.8
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ Added the SRS clocking scheme @simon1hofmann (#641)
- ✨ Virtual PI network @hibenj (#543)
📝 Documentation
🐛 Bug Fixes
- 🐍 Unique Wheel Names @simon1hofmann (#644)
- ⚗️ Updated QuickCell experiment @Drewniok (#643)
👷 CI
- 🐍 Unique Wheel Names @simon1hofmann (#644)
- 👷 Added ARM64 CI runs on Linux @marcelwa (#635)
v0.6.7
👀 What's Changed
We’re thrilled to introduce the latest release packed with enhancements under the hood and on the feature front! Highlights include the integration of ABC into the fiction CLI, empowering you to heavily optimize logic networks before mapping them to FCN layouts. We’re also unveiling QuickTrace, a groundbreaking simulation algorithm for SiDBs that enables defect robustness computation. There is much more to explore in the full patch notes below.
Behind the scenes, we’ve transitioned the Python build system from setuptools to scikit-build-core for better performance and maintainability. We’ve also integrated ruff and mypy to elevate the quality of our Python code—this is still a work in progress, so stay tuned for further improvements. A special shoutout to @burgholzer for setting an outstanding example that we look up to!
As always, we’ve squashed bugs, updated dependencies, and polished the codebase.
Full CHANGELOG: v0.6.6...v0.6.7
Many thanks to all contributors!
✨ Features and Enhancements
- 🔧 Set up
ruffandmypy, and extend thepre-commitconfiguration @marcelwa (#603) - ✨ Option for efficient determination of non-operational status @Drewniok (#602)
- 🏗️ Switch the
pyfictionbuild system from rawsetuptoolstoscikit-build-core@marcelwa (#592) - ✨ QuickTrace: An Efficient Contour Tracing Algorithm for Defect Robustness Simulation @Drewniok (#546)
- ✨ ABC Callback @marcelwa (#605)
- ✨ Added rectangular skeletons (16.896 nm x 16.896 nm) with design script. @Drewniok (#600)
- ⚗️ Added pruning information to
QuickCellexperiment. @Drewniok (#595)
🐛 Bug Fixes
- 🔧 Fix submodule management with Renovate @marcelwa (#626)
- 🐛 Fixed CLI
showcommand @simon1hofmann (#615) - 👷 Reduce workflow load when building wheels @marcelwa (#601)
📝 Documentation
👷 CI
- 🐍 Drop Python 3.8 support due to its end-of-life status @marcelwa (#629)
- 💚 Updated CI to support macOS 15 @Drewniok (#624)
- 💚 Updated CI to support Windows Server 2025 @Drewniok (#625)
- ⬆️👨💻 Update astral-sh/setup-uv action to v5 - autoclosed @renovate[bot] (#619)
- ⬆️👨💻 Update actions/attest-build-provenance action to v2 @renovate[bot] (#612)
- 👷 Configure Renovate @renovate[bot] (#608)
- 👷 Reduce workflow load when building wheels @marcelwa (#601)
- ⬆️ Bump the github-actions group with 2 updates @dependabot[bot] (#598)
⬆️ Dependencies
16 changes
- ⬆️👨💻 Update libs/json digest to f06604f @renovate[bot] (#639)
- ⬆️👨💻 Update libs/json digest to d23291b @renovate[bot] (#638)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#637)
- ⬆️👨💻 Update Submodules @renovate[bot] (#636)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#632)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#631)
- ⬆️👨💻 Update libs/json digest to 2d42229 @renovate[bot] (#630)
- ⬆️👨💻 Update Submodules @renovate[bot] (#628)
- ⬆️👨💻 Update Submodules @renovate[bot] (#627)
- ⬆️ Bump pre-commit hooks @pre-commit-ci[bot] (#623)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#622)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#620)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#616)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#617)
- ⬆️🐍 Lock file maintenance @renovate[bot] (#614)
- ⬆️🪝 Update Pre-Commit Hooks @renovate[bot] (#611)
- ⬆️🐍 Update Python Dependencies to v0.1.6.dev16 @renovate[bot] (#610)
- 👷 Configure Renovate @renovate[bot] (#608)
- ⬆️ Bump the submodules group with 2 updates @dependabot[bot] (#607)
- ⬆️ Bump the github-actions group with 2 updates @dependabot[bot] (#598)
- ⬆️ Bump the submodules group with 3 updates @dependabot[bot] (#599)
v0.6.6
👀 What's Changed
Another release packed with features! We added features to SiDB operational domain analysis and temperature simulation as well SVG file writing for SiDB layouts. Furthermore, we made edits to pyfiction, most notably supporting Python 3.13 and GIL-free Python. Our Docker setup also received some love, with streamlined builds, dependency management via @dependabot, and OCI-conforming tags. As always, we fixed bugs and updated our dependencies to the latest versions.
Full CHANGELOG: v0.6.5...v0.6.6
Many thanks to all contributors!
✨ Features and Enhancements
- 🐳 Unify Dockerfile labels to conform to the Open Container Initiative (OCI) standard @marcelwa (#580)
- 🐍 Expose
layout.get_name@simon1hofmann (#575) - 🐍 Use
pybind11's print function to output the DRV report @simon1hofmann (#564) - ✨ Add function to detect if non-operational status is due to wire kink @Drewniok (#587)
- ✨ Add option to hide lattice points in the SiDB layout SVG writer @Drewniok (#590)
- ✨ Restructured Critical Temperature simulation with kink control option @Drewniok (#573)
- ✨ Added function to print SiDB layout to SVG @Drewniok (#565)
- ✅ Update Unit Tests and Exclude Long-Running Tests in Debug Mode Using
NDEBUG@Drewniok (#574) - 📥 Added SiQAD SiDB gate library @Drewniok (#555)
- 📥 Add Bestagon SiDB gate library @Drewniok (#554)
⚡️ Performance
🐛 Bug Fixes
- 🐛 Fixed
design_sidb_gatesfunction for skeletons with east-facing I/O pins. @Drewniok (#594) - 🐛 Enforce runtime evaluation of dynamic formatting strings to fix
constevalcontexts @marcelwa (#585) - 🐛 Fix Microsoft logo in CI badge by replacing the logo slug with a base64 encoding of the SVG image @marcelwa (#582)
- 💚 Remove explicit XCode version setup for macOS 13 @marcelwa (#570)
- 🐛 Adapted optimization algorithms to handle layouts with PIs not placed at borders @simon1hofmann (#566)
- 🐛 Fixed several bugs resulting from the new
cell_type::LOGICin the SiDB technology @Drewniok (#553) - 💚 Added
fictionnamespace to function to fix the Windows CI @Drewniok (#561) - 🚨 Fixed compiler and linter warnings @marcelwa (#559)
- 📝 Fix documentation for BDL wire detection @marcelwa (#556)
- 🐛 Fix neutral defect handling in CDS and correct gate design termination condition. @Drewniok (#551)
📝 Documentation
- 📝 Added defect-aware physical design paper from DATE 2024. @Drewniok (#593)
- 📝 Update the CHANGELOG @marcelwa (#591)
- 📝 Added Willem Lambooy as an author to the framework @marcelwa (#581)
- 🐛 Fix Microsoft logo in CI badge by replacing the logo slug with a base64 encoding of the SVG image @marcelwa (#582)
- 📝 Added wiring reduction paper to publication list @simon1hofmann (#571)
- 📝 Fix documentation for BDL wire detection @marcelwa (#556)
👷 CI
- ⬆️ Bump pre-commit hooks @pre-commit-ci (#596)
- ⬆️ Bump pre-commit hooks @pre-commit-ci (#563)
- ⬆️ Bump ZedThree/clang-tidy-review from 0.20.0 to 0.20.1 in the github-actions group @dependabot (#589)
- ⬆️ Bump codecov/codecov-action from 4 to 5 in the github-actions group @dependabot (#584)
- 👷 Attest build provenance to our wheels and sdist @marcelwa (#577)
- 🔧 Manage
Dockerfileupdates via Dependabot @marcelwa (#576) - 🍎 Adjusted deployment target for macOS @marcelwa (#572)
- 💚 Remove explicit XCode version setup for macOS 13 @marcelwa (#570)
- ⬆️ Bump ZedThree/clang-tidy-review from 0.19.0 to 0.20.0 in the github-actions group @dependabot (#569)
- 🐳 Improved the Docker workflow @marcelwa (#558)
- 🐍 Support Python 3.13 @marcelwa (#557)
⬆️ Dependencies
12 changes
- ⬆️ Bump the submodules group with 5 updates @dependabot (#597)
- ⬆️ Bump ZedThree/clang-tidy-review from 0.20.0 to 0.20.1 in the github-actions group @dependabot (#589)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#588)
- ⬆️ Bump the submodules group with 4 updates @dependabot (#586)
- ⬆️ Bump libs/pybind11 from
0ed20f2to08095d9in the submodules group @dependabot (#583) - ⬆️ Bump codecov/codecov-action from 4 to 5 in the github-actions group @dependabot (#584)
- ⬆️ Bump sphinx-rtd-theme from 3.0.1 to 3.0.2 in /docs in the documentation group @dependabot (#579)
- ⬆️ Bump the submodules group with 3 updates @dependabot (#578)
- ⬆️ Bump the submodules group with 3 updates @dependabot (#568)
- ⬆️ Bump ZedThree/clang-tidy-review from 0.19.0 to 0.20.0 in the github-actions group @dependabot (#569)
- ⬆️ Bump the submodules group with 3 updates @dependabot (#560)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#550)
v0.6.5
👀 What's Changed
This release introduces QuickCell, an algorithm for automatic SiDB standard-cell design. Furthermore, it includes many enhancements for the GOLD physical design algorithm, like discretionary cost objectives and multithreading support.
Full CHANGELOG: v0.6.4...v0.6.5
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ QuickCell: An Algorithm for Automatic Standard Cell Design @Drewniok (#481)
- ✨ Timeout for
post_layout_optimizationandwiring_reduction@simon1hofmann (#538) - ✨ Multithreading support for
gold@simon1hofmann (#529) - ✨ Added support for optional input parameter points in flood fill @Drewniok (#518)
- ⚗️ Added a runtime script for three-state simulation and applied small changes @Drewniok (#520)
- ✨
goldwith discretionary cost objectives @simon1hofmann (#525) - ✨ Extended BDL input iterator to support different SiDB input representations @Drewniok (#521)
🐛 Bug Fixes
📝 Documentation
- 📝 Update the
CHANGELOG@simon1hofmann (#548) - 📝 Added a
CITATION.cfffile @marcelwa (#537) - 📝 Fix duplicated CHANGELOG entry @marcelwa (#536)
- 📝 Added documentation on our latest papers from IEEE NANO @marcelwa (#510)
👷 CI
- ⬆️ CodeQL now uses
clang++-13@wlambooy (#542) - ⬆️ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3 in the github-actions group @dependabot (#540)
- ⬆️ Bump pypa/cibuildwheel from 2.20.0 to 2.21.2 in the github-actions group across 1 directory @dependabot (#534)
- 🔧 Attempt to calm down
clang-tidy@marcelwa (#522)
⬆️ Dependencies
11 changes
- ⬆️ Bump the submodules group with 2 updates @dependabot (#545)
- ⬆️ Bump sphinx from 8.1.0 to 8.1.3 in /docs in the documentation group @dependabot (#544)
- ⬆️ Bump the submodules group with 3 updates @dependabot (#541)
- ⬆️ Bump the documentation group in /docs with 3 updates @dependabot (#539)
- ⬆️ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3 in the github-actions group @dependabot (#540)
- ⬆️ Bump sphinx-rtd-theme from 3.0.0rc1 to 3.0.0rc4 in /docs in the documentation group across 1 directory @dependabot (#533)
- ⬆️ Bump pypa/cibuildwheel from 2.20.0 to 2.21.2 in the github-actions group across 1 directory @dependabot (#534)
- ⬆️ Bump the submodules group across 1 directory with 3 updates @dependabot (#531)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#526)
- ⬆️ Bump the submodules group across 1 directory with 4 updates @dependabot (#524)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#517)
v0.6.4
👀 What's Changed
This release mainly fixes some bugs, most notably the loss of clocking information after apply_gate_library. However, also some small features were added like two new distance functions and crossing counting in gate_level_layout.
Full CHANGELOG: v0.6.3...v0.6.4
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ Track number of crossings @simon1hofmann (#514)
- ✨ Squared Euclidean and Chebyshev distance functions @marcelwa (#512)
🐛 Bug Fixes
- 🐛 Fixed disappearing clocking schemes when applying a gate library @marcelwa (#515)
- 📝 Fix a few oversights in the RTD documentation of SiDB simulation functionality @marcelwa (#513)
- ✏️ Fixed a typo in robustness domain analysis @marcelwa (#511)
- 🚨 clang-tidy warnings @simon1hofmann (#507)
📝 Documentation
- 📝 Fix a few oversights in the RTD documentation of SiDB simulation functionality @marcelwa (#513)
- 📝 Add
goldto README and docs @simon1hofmann (#508)
⬆️ Dependencies
- ⬆️ Bump libs/pybind11 from
a1d0091toc2291e5in the submodules group @dependabot (#509)
v0.6.3
👀 What's Changed
Compared to the previous point releases, this one introduces several larger and more impactful features.
-
Graph-Oriented Layout Design (GOLD)
This release includes the introduction of GOLD, an innovative algorithm designed for gate-level layout creation. GOLD strikes a balance between runtime efficiency and result quality, making it ideal for medium-sized inputs that are too complex for exact methods. -
Defect-Aware On-the-Fly SiDB Circuit Design
We’ve added support for defect-aware circuit design that enables precise, dot-level composition even in the presence of atomic defects. This approach doesn't rely on a pre-defined gate library; instead, it dynamically generates one, guided by physical simulations. -
Multi-Dimensional Operational Domain Computation
The operational domain computation feature now supports multidimensional sweeps, providing more flexibility and unprecedented insight into SiDB reliability. Additionally, users not utilizing execution policies will notice a significant performance boost.
As always, this release also includes numerous bug fixes, updates, and other changes, detailed below.
Full CHANGELOG: v0.6.2...v0.6.3
Many thanks to all contributors!
✨ Features and Enhancements
- ✨ Extended Time-to-Solution Function @Drewniok (#500)
- ✨ Multi-dimensional operational domain computation @marcelwa (#493)
- ✨ Defect-aware on-the-fly SiDB circuit designer @Drewniok (#317)
- ✨ Planar Graph-Oriented Layout Design @simon1hofmann (#497)
- ✨ Planar Post-Layout Optimization @simon1hofmann (#496)
- ✨ Graph-Oriented Layout Design (GOLD) @simon1hofmann (#456)
- ✨ Displacement Robustness Domain Simulation @Drewniok (#416)
- ✨ Algorithm for finding valid physical parameters for a given charge distribution. @Drewniok (#424)
- ✨ Flag for optimizing POs only @simon1hofmann (#461)
⚡️ Performance
- ✨ Multi-dimensional operational domain computation @marcelwa (#493)
- 👷 Disabled running computationally intensive unit tests via the CI in Debug build mode @Drewniok (#486)
- ⚡ Cleanup dangling PIs @simon1hofmann (#452)
🐛 Bug Fixes
- 🐛 clang-tidy comments were not posted @simon1hofmann (#505)
- 🐛 Fixed an RST documentation bug that prevented
exactandexact_with_blacklistfrom being rendered properly @marcelwa (#506) - 🎨 Utilizing tolerance to mitigate floating-point inaccuracies @Drewniok (#483)
- 🚸 Add warning for leak sanitizer usage with AppleClang @Drewniok (#482)
- 🚨 Fixed compiler warnings @simon1hofmann (#480)
- 📝 Update docstring generator to include target branch for push @Drewniok (#477)
- 🐛 Fixed multiple
post_layout_optimizationbugs @simon1hofmann (#472) - 🐛 Multi-output nodes @simon1hofmann (#451)
- ⚡ Enable relocation of all 2-input gates during
post_layout_optimization@simon1hofmann (#453)
📝 Documentation
- 🐛 Fixed a RST documentation bug that prevented
exactandexact_with_blacklistto be rendered properly @marcelwa (#506) - 📝 Update hexagonalization image @simon1hofmann (#444)
👷 CI
- 👷 Updated the Ubuntu CI to include 24.04 and newer compiler versions @marcelwa (#466)
- 👷 Update GCC versions on macOS CIs @marcelwa (#499)
- ⬆️ Upgrade Z3 to Version 4.13.0 in CLI Workflow and Docker. @Drewniok (#498)
- ⬆️ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the github-actions group @dependabot (#494)
- 💚 Update python version for sphinx-doc @Drewniok (#492)
- 💚 Added Python Setup to CI Workflow @Drewniok (#490)
- 👷 Disabled running computationally intensive unit tests via the CI in Debug build mode @Drewniok (#486)
- 📝 Run python docstring generator on forks during PRs @simon1hofmann (#475)
- ⬆️ Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 in the github-actions group @dependabot (#471)
- 💚 Update CodeQL workflow to avoid memory issue @Drewniok (#468)
- ⬆️ Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 in the github-actions group @dependabot (#457)
- ⬆️ Bump pre-commit hooks @pre-commit-ci (#455)
- ⬆️ Bump pypa/cibuildwheel from 2.18.0 to 2.18.1 in the github-actions group @dependabot (#445)
⬆️ Dependencies
17 changes
- ⬆️ Bump sphinx from 7.4.7 to 8.0.2 in /docs in the documentation group @dependabot (#488)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#502)
- ⬆️ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the github-actions group @dependabot (#494)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#495)
- ⬆️ Bump the submodules group across 1 directory with 2 updates @dependabot (#491)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#484)
- ⬆️ Bump sphinx from 7.4.6 to 7.4.7 in /docs in the documentation group @dependabot (#485)
- ⬆️ Bump libs/pybind11 from
50acb81to6d4805cin the submodules group @dependabot (#478) - ⬆️ Bump sphinx from 7.3.7 to 7.4.6 in /docs in the documentation group @dependabot (#479)
- ⬆️ Bump the submodules group with 3 updates @dependabot (#473)
- ⬆️ Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 in the github-actions group @dependabot (#471)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#470)
- ⬆️ Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 in the github-actions group @dependabot (#457)
- ⬆️ Bump the submodules group across 1 directory with 2 updates @dependabot (#467)
- ⬆️ Bump the submodules group across 1 directory with 5 updates @dependabot (#459)
- ⬆️ Bump the submodules group with 2 updates @dependabot (#446)
- ⬆️ Bump pypa/cibuildwheel from 2.18.0 to 2.18.1 in the github-actions group @dependabot (#445)