Repository navigation
0.9.0 (2026-11-02)
⚠ BREAKING CHANGES
- annotations: annotation anchors store
location, notside; files written by pre-0.9 development builds withsidefail schema validation.
Features
- add exact analytical solver and age controls (967fb2c)
- analytic: configurable limits and determinate progress (e4c7c4f)
- analytic: ignore set, phase and standby options, export, clearer results (b51f2f9)
- annotations: add pick-to-anchor and centre (7c2e405)
- annotations: add pick-to-anchor and centre (3f6096c), closes #56
- annotations: attach arrow ends independently, stop at the edge (925befe), closes #56
- annotations: drag an anchored note without breaking its link (ddb021f), closes #56
- annotations: keep anchor names in step with renames (ce34c7f), closes #56
- annotations: nudge anchored notes clear of obstacles; validate anchors (9eb9cfa), closes #56
- check .rbds files against a JSON Schema, and write only what differs from the defaults (296afb7)
- check .rbds files against a JSON Schema, and write only what differs from the defaults (838cf76), closes #4
- draw the diagram as SVG without Qt (f22c13e)
- draw the diagram as SVG without Qt (6460b1b), closes #4
- exact analytical solver (reliability and steady-state availability) (df4918d)
- hint at Spread when the Weak Link overlay is flat (0a74472)
- hint at Spread when the Weak Link overlay is flat (d1a8c7a), closes #65
- layout: make room for notes between stacked elements; fix book.html (0df5773), closes #56
- let cores be given back while a multi-core run is going (55d40b7)
- let cores be given back while a multi-core run is going (0eebfd2), closes #11
- say which time unit brings a too-large mean in range (8731318), closes #19
- set-up progress, and MCP support for large models (5d98d1d)
- set-up progress, MCP support for large models, cheaper per-event work (3b8c60f)
- show and edit annotation anchors in the GUI (4abc50e), closes #4
- show the flow a Failure Effects state delivers, in the GUI, CLI and MCP (1b7a40d)
- show the flow a Failure Effects state delivers, in the GUI, CLI and MCP (dd1cff5), closes #4
- warn about a hierarchy marker set as a capacity boundary (1c61570)
- warn about a hierarchy marker set as a capacity boundary (4a1bd8d), closes #4
Bug Fixes
- a pool's ESO/RSO/SLO flags loaded from .rbds read as set (1876cfd)
- a pool's ESO/RSO/SLO flags loaded from .rbds read as set (2faa1cf), closes #16
- analytic: review fixes, async results window, drop stream warning (b3a03d7)
- annotations: drag a text note by its body instead of editing (a4e9479)
- annotations: drag a text note by its body instead of editing (dbdff94), closes #64
- applying run options no longer re-lays the model out (cb792c6)
- applying run options no longer re-lays the model out (5e1ee0f), closes #4
- build: accept analysis names in any case and refuse unknown ones (80c8e9e)
- build: accept analysis names in any case and refuse unknown ones (873fc31), closes #73
- build: keep system capacity flags when experiment omits analyses (bed25ce)
- build: keep system capacity flags when experiment omits analyses (0653bda)
- collapse selection rewires both boundary sides atomically (a8253f1)
- collapse selection rewires both boundary sides atomically (65547b2), closes #72
- doctor display on Windows/macOS, a larger-unit hint for huge means, dependency docs (fdec940)
- experiment: accept analysis spellings, reject unknown ones (965c848)
- experiment: accept analysis spellings, reject unknown ones (a4e00bb), closes #73
- give the layout refine search a time budget (16e279e)
- give the layout refine search a time budget (f894f16), closes #4
- gui: keep deferred Data Tables within the mypy baseline (3bcc241)
- gui: keep standalone GUI wording free of legacy references (8528b86)
- gui: make large model opens linear and defer grid fill (17af9d1)
- gui: prompt for mission time on non-time-terminated models (cf68ee1)
- gui: sequence theme-change contrast prompts across model windows (481512e)
- gui: sequence theme-change contrast prompts across model windows (fce2bbc), closes #71
- gui: show the empty-results notice through the msgbox seam (9966e3f)
- gui: use saved model name in reports and PDF title block (e6b2845)
- gui: use saved model name in reports and PDF title block (d98ff86), closes #62
- harden analytic solver inputs, docs and GUI states (8718209)
- keep a time estimate through the importance measures (de84118)
- keep a time estimate through the importance measures (3c88f22), closes #3
- keep auto layout inside Raptor 7's canvas (924fefb)
- keep auto layout inside Raptor 7's canvas (a2f70de)
- keep build_model under the complexity limit (815eda8)
- let a run be cancelled, or time out, while the model is being set up (eca4a5e)
- let a run be cancelled, or time out, while the model is being set up (2f00f15), closes #15
- lint and type errors CI found (eb2ada9)
- MCP feedback from #4 (capacity metrics, runtime estimate, run -o, build_model hint) (4a9846d)
- mcp: allow paginated single-point-failures results (57deee4)
- mcp: allow paginated single-point-failures results (5872166)
- mcp: keep starting when a workspace model cannot be loaded (bf3b468), closes #60
- mcp: start even when a workspace model cannot be loaded (18e0554)
- never re-lay out a model on save or export; anchored annotations follow their element (3ca8cba)
- never re-lay out a model on save or export; let annotations follow their element (3dbf159), closes #4
- no crash refreshing the z-order buttons while the canvas is rebuilt (24fa0e3)
- no crash refreshing the z-order buttons while the canvas is rebuilt (870b8d3), closes #2
- point a whole .rbds file passed to build_model at rbds_text (708e000), closes #4
- raise the layout refine budget to 30 s, keep 10 s on the UI thread (b93d2e1)
- raptor doctor reports a native display on Windows and macOS (5e7f2e9), closes #8
- raptor run -o writes the summary to the output folder (b6272f3), closes #4
- read and write maintenance, sparing and the other API-named columns as .rbds fields (f98b0ee)
- read and write maintenance, sparing and the other API-named columns as .rbds fields (b7ef984), closes #4
- release: keep pre-1.0 breaking changes on the minor line (cb937ea)
- release: keep pre-1.0 releases on the minor line (f60193d)
- report an mcp SDK that is out of range instead of crashing on it (4ea0381)
- report an mcp SDK that is out of range instead of crashing on it (3fe3c13), closes #4
- report capacity-weighted availability and lost flow in the run summary (81e2af1), closes #4
- selectors: resolve Kind:name for named sections (d905d87)
- selectors: resolve Kind:name for named sections (c0973ff)
- show the capacity-weighted availability on the GUI's Capacity tab (196bd6e), closes #4
- stopping a multi-core run keeps the runs of chunks still in flight (ee5d936)
- stopping a multi-core run keeps the runs of chunks still in flight (e2daca2), closes #10
- time the runtime estimate's pilot with the outputs a real batch writes (3d91ea6), closes #4
Performance Improvements
- analytic: make series chains linear in the BDD (004ee57)
- build the State_change and Red_change comments from a registry of flagged blocks (d95a380)
- build the State_change and Red_change comments from a registry of flagged blocks (18b0831), closes #17
- cut the per-event cost that grew with the model size (9396873), closes #17
- keep an index of the current instant instead of re-sorting it every step (df86b4e)
- keep an index of the current instant instead of re-sorting it every step (589f849), closes #17
- keep set-up from being quadratic in the node count (0533cfa)
- keep set-up from being quadratic in the node count (067b853), closes #15
- load the model once per pool worker, not once per chunk (a8dfc26)
- load the model once per pool worker, not once per chunk (09013ae), closes #28
- touch only the capacity group's monitors after the first pass (3af8656), closes #17
- update capacity monitors in one pass, and only the capacity group's after the first (88a5b2b)
- update the capacity monitors in one pass (8222ad2), closes #17
Documentation
- align design note with implemented modules (29e50ed)
- an idle dependent breaks its path, and very large means (2188f3e), closes #20
- annotations: document arrow ends, make-room and offsets (cef5dec), closes #56
- canvas note -- the layout's 118.75 limit and why the bounds fix stacks on #33 (e12647f)
- cli: regenerate analytic man page and completions (d9ea154)
- design note on the canvas scale, grid and annotations (18dbe7d)
- design note on the canvas scale, grid and annotations (d338421), closes #4
- explain the pip commands in a virtual environment and Windows long paths (44ec6cb)
- explain the pip commands in a virtual environment and Windows long paths (8107ea5)
- how to model a block that never fails (ebe2997), closes #4
- key tips only appear on commands that have one (bf160be)
- key tips only appear on commands that have one (4f70de7), closes #66
- mcp: regenerate the tool reference (e754e9b)
- rebuild manual.html for the Importance tooltip (3f1a24c)
- regenerate manual-reference for the reworded tooltip (beb61ca)
- regenerate manual-reference.adoc for the Importance tooltip (8e579b6)
- regenerate manual.html for the analytical window text (de133de)
- revise the canvas scale note against the Raptor 7 source (b900b65)
- set the 0.9 codename to "Nine Nines and a Dream" (5763204)
- set the 0.9 codename to "Nine Nines and a Dream" (c64a1c4)
Install
| File | Platform |
|---|---|
*-windows-setup.exe |
Windows 10/11 x64 — double-click |
*-windows-portable.zip |
Windows — unzip, run raptor-studio.exe |
*-macos-arm64.dmg |
macOS 13+ Apple Silicon |
*-macos-x64.dmg |
macOS 13+ Intel |
*-linux-amd64.deb |
Debian/Ubuntu x64 — sudo apt install ./…deb |
*-linux-x86_64.AppImage |
Most Linux distros x64 — chmod +x, run |
macOS (unsigned build): right-click RAPTOR Studio.app → Open → Open, or xattr -cr "/Applications/RAPTOR Studio.app".
Windows (unsigned build): SmartScreen may warn — More info → Run anyway.
Verify downloads with SHA256SUMS.txt. PyPI: pip install raptor-studio.