Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 13:13
· 2044 commits to main since this release
144bf4f

Windows (portable): download solenoid-*-windows-x64.exe below and run it — no installer.

The binary is unsigned, so Windows SmartScreen will warn: click More info → Run anyway.

What's new in 1.1

Composites & what-if

  • Composite sub-graph container node
  • Goal Seek, Scenarios, Data Table & Simulation run modes on composites
  • Composite sub-graphs with an isolated, manual compute chain (Solve button + stale marker)
  • Full drill-in editor: minimap, keyboard, right-click, Tidy, copy/paste inside a composite

Nodes & analysis

  • Set Operations & Set Relations nodes
  • Unified XLOOKUP node: lists, frames & cubes; approximate + as-of match
  • As-Of Join (nearest-match on time keys, with tolerance)
  • Data Feed node: FRED economic series (no key) & Alpha Vantage stock history; date range, frequency, quick-picks
  • Expect, Reconcile & Tornado nodes
  • One-click model fuzzer
  • Problems panel
  • Where-used highlight
  • Node-anchored comments
  • Cube Rollup node
  • Coalesce/Fill is N-ary (extensible Else rows)
  • Filter Rows with extensible AND/OR condition rows
  • Input Switch: named slots + Many mode (collects into a Cube)
  • Date Range picker node
  • Session History node
  • Write CSV / Write JSON file-sink nodes

Charts & visuals

  • Chart ops: Pie, Scatter, Bubble, Radar, Radial, Funnel, Composed
  • Treemap, Sankey, Histogram, KPI card & Bullet nodes
  • Sparkline node (line / column / win-loss)
  • Mermaid diagram node
  • Chart accepts a Frame for a labeled x-axis
  • Minified (collapsed) previews: Sparkline, Gauge, Slicer & charts

Reports & presentation

  • Report node: markdown with live =name embeds (numbers, tables, charts, equations, diagrams)
  • Report docks to the right edge
  • Export a Report as a webpage (static HTML)
  • Presentation node & Presenter mode
  • Image bundling: attached images save to an images/ folder beside the document

Data & engine

  • Verb chains compile to one fused Polars query
  • Sketch calc mode: sampled execution on huge tables
  • Native CSV reader on desktop (with date inference)
  • Native Parquet & Arrow source
  • Error provenance: every error carries its origin; popups fly to the source
  • Connection nodes auto-refresh on an interval
  • Headless graph runner (npm run run-graph)

Canvas & app

  • Command Palette (Ctrl+K), with an always-on docked option
  • Align & Distribute bar, plus batch collapse/expand
  • Mobile design pass: three-zone chrome + touch action bar
  • Custom Palette Editor (+ the Equinox palette)
  • Document Properties
  • Format Controller redesign: one function model, flow-state arrows, advanced tier (separators, accounting negatives, K/M/B)
  • Type-default display: values render in their type's format everywhere
  • Quick-wire: drop a cable on empty canvas for a filtered Add menu
  • Semantic zoom
  • Drag-to-scrub number fields
  • Universal node body resizer
  • Conduit lanes with switchable socket types
  • Minimap position setting (bottom / top / hidden)
  • Fullscreen: F11 on desktop, a button on mobile

Known issues

  • Tidy / Cleanup around expanded groups is wonky — auto-arrange and cleanup can misplace nodes when expanded groups are involved; re-running or nudging recovers.
  • Inside a composite drill-in, grouping, Isolate, Cleanup/Autofit, the Navigator and lasso-select aren't available yet (main canvas only), and the top toolbar still drives the main canvas — the keyboard and right-click menu do target the subgraph.
  • Node-label edits aren't undoable (on any surface) — Ctrl+Z skips them.
  • A hairline seam can show between a node's header and body at some zoom levels (cosmetic).
  • Data Feed in the browser is CORS-limited — some providers only work in the desktop app, which fetches natively.
  • The Problems panel and model fuzzer only see whole-value errors — a per-cell error inside a list/frame shows in the value, but isn't itemized in the panel.
  • Tornado ranking mixes true sensitivity with each input's sweep width (a Slider sweeps its full range, a Number ±10%), and an input that errors at an extreme is dropped from the chart rather than marked.
  • The model fuzzer's "+ Clamp" quick-fix inserts an unconfigured Clamp — set the bounds yourself after inserting.
  • Set nodes compare complex numbers by identity, so equal complex values from different sources never match.
  • No cable collision avoidance yet — cables can overlap each other and nodes in dense graphs.
  • In private browsing during a network outage, recovering from a stale deploy can reload-loop (the web app can't persist its retry guard).
  • Android: the status bar doesn't tint to the app accent in a normal tab (platform limitation).

Full Changelog: v1.0.0...v1.1.0