• v1.5.3 d86b733356

    kemal released this 2026-10-28 23:35:57 +00:00 | 0 commits to main since this release

    Highlights

    • Slow models solve in the background. The window keeps responding while a large model solves: the status bar shows Solving… and the previous results are drawn dimmed until the new ones arrive. Opening the lithium example used to freeze the window for about 2.6 s; the longest frame is now under 50 ms. Exports that need results wait for them, with a Cancel button.
    • Drag and drop on Wayland. .flow, .spdx and .spf files can be dropped onto the window under Wayland as well as X11, Windows and macOS.
    • Narrow windows. At small window widths or large UI scales the canvas toolbar moves its less-used controls into a ⋯ menu, and the status bar no longer overlaps the flowsheet. The ribbon drops its labels in steps so it fits with any platform's fonts.

    Security

    • The automation API requires a session token by default. Each user gets a random 256-bit token, stored in api-token in the FlowState settings folder and readable only by that user. Requests without it get 401. flowstate-cli mcp --connect, excel-link and the Python example client read the token on their own, so AI-agent setups keep working unchanged. Your own scripts get the token from Tools ▸ Copy API token or flowstate-cli api-token. Web-query files written by excel-link before this release must be written again. To turn the token off, untick Tools ▸ Require API token or use serve --no-token.
    • Store, snap, Flatpak and Mac App Store installs keep their token in their own settings folder; FlowState's tools also try those files, so a flowstate-cli from another package still connects.
    • Pages from other web sites can no longer send requests to the automation API (requests with Origin: null are refused).
    • Proposals sent through the API can no longer replace the whole document or rewrite its change history.
    • The assistant refuses to send an API key over plain HTTP to a remote server.

    Fixes

    • Saving and files:
      • Saves are atomic: a full disk or a crash during a save leaves the previous file intact.
      • Numbers keep their exact value through save and load.
      • Files with a byte-order mark open; CSV files from Excel and from locales with a decimal comma import correctly, and 1.234,5 is read as 1234.5.
      • Descriptions are no longer renamed every time a file opens; a stale ID counter in a file no longer hands out IDs already in use.
      • Malformed SimaPro CSV or recipe text no longer crashes or hangs the app.
      • One invalid setting no longer resets all settings; Flatpak builds keep settings and crash recovery.
    • Results:
      • The same project gives the same results on every solve, and opening a file no longer starts from the previous file's results.
      • Edits made through scenarios, studies or renames no longer change physical results.
      • A maximum equipment size of 0 is treated as no limit; the evaporator condensate temperature is correct; a diverged distillation column reports an error instead of passing invalid numbers on.
      • Kinetic reactions that do not close the mass balance give a warning.
    • Economics and environment:
      • A construction schedule of all zeros no longer drops the capital cost.
      • Projects that end before production starts no longer recover working capital or a loan they never had.
      • The cost-only study shortcut follows changes to the cost index.
      • Life-cycle assessment credits power you generate instead of counting it as a burden.
      • With cost evaluation off, exports contain no money columns.
    • Interface and performance:
      • An API edit or a late study, estimation or LCA result can no longer land in a different file you have since opened.
      • The app no longer hangs on exit when a local client stalls.
      • Undo history has a memory limit.
      • Building large flowsheets and redrawing large tables is much faster.
      • Dropping a model-tree item onto itself no longer moves it; light-theme text has better contrast; Ctrl+K ranks non-ASCII names correctly.
    Downloads