Releases: ApocDev/pyops
Releases · ApocDev/pyops
Release list
v1.0.0
1.0.0 (2026-07-04)
⚠ BREAKING CHANGES
- solver: delete the v1 least-squares solver
- solver: switch the block solve to the v2 LP and the gesture-derived model
Features
- agent: factory-wide coherence audit tool with byproduct disposal verdicts (e13e9c3), closes #11
- agent: per-call approval gate for in-game Lua eval (94b805b), closes #15
- agent: report Claude's 1M context window (GA, no beta header) (c8eda96), closes #72
- agent: reviseBlock can propose recipe-set changes, not just rate (82b7fbd), closes #12
- app: add a sankey/flow view of a solved block's material flow (95d8627), closes #101
- app: add Ctrl+K / '/' command palette (ed95330), closes #78
- app: add global hotkey layer (registry + useHotkey) (ba1ec06), closes #78
- app: add shared toast primitive (queue store + Toaster) (975339c), closes #90
- app: add the dependency explorer page (256932b), closes #100
- app: block snapshots — per-block history, restore, and diff (004a364), closes #85
- app: consistent destructive actions — confirm dialogs + undo toasts (2eac32a), closes #83
- app: light/dark/system theme toggle (#107) (3c00b92)
- app: make PageHeader sticky on scroll (8a45d04), closes #106
- app: match fluid-fuel MJ block-to-block with explicit suppliers (bedf551), closes #115
- app: module templates — icons, compatibility filtering, defaults (0da8069), closes #99
- app: move the factory Machines card onto the sortable-table engine (588620d), closes #80
- app: palette goods search, recents, and the shortcut help sheet (f2e43a7), closes #78
- app: power units for energy rates — 5TW in, '5 GW' out (3d776ed)
- app: project backup and shareable block/plan JSON (#82) (7cfedca)
- app: rank a good's producers/consumers in the browse explorer (5c743cf), closes #97
- app: replace project-create prompt with a real dialog (52be241), closes #84
- app: share one filtered-list primitive across the filterable pages (cd18c65), closes #87
- app: shared query/route error + loading convention (ea1c1f6), closes #81
- app: show fluid temperatures on the recipe-grid chips (bceea15), closes #110
- app: trigger-based undo log with grouped actions and undoLast (08f7374), closes #90
- app: undo UI — Ctrl+Z, nav affordance, editor rehydration (88dbc6e), closes #90
- app: warn when pending db migrations need a restart (d9ac1d4), closes #75
- assistant: one-click follow-up chips on draft and plan cards (25138ad), closes #13
- assistant: push a created block in-game from draft and plan cards (8b29d11), closes #14
- db: synthesize planting and rocket-launch recipes (09bd667), closes #96
- planner: fungible fluid-fuel energy pool (pyops-fluid-fuel) (db7d65a), closes #25
- planner: model temperature-fed fluid energy sources (701fcb8), closes #114
- solver: apply research-driven productivity bonuses (54972ba), closes #92
- solver: fluid temperatures as real identities with range pooling (708a9e0), closes #110
- solver: model reactor neighbour bonus in heat generation (315c25f), closes #94
- solver: sub-blocks v2 — real composition (composed modules) (d675257), closes #76
- solver: switch the block solve to the v2 LP and the gesture-derived model (21a6599), closes #91
- solver: v1 dispositions → v2 made-set migration mapping (0da625d), closes #91
- solver: v2 LP core (HiGHS) and IIS root-cause diagnosis (f22a576), closes #91
- solver: warn per producer on fluid-temperature mismatches (fce65cf), closes #110
- solver: whole-machine mode (MIP), pin editor UI, and cached diagnosis (6e0ba70), closes #98 #91
Bug Fixes
- app: declare @tanstack/store as a direct dependency (40065c9)
- app: split block-solve display names into recipe and good namespaces (34eb72a), closes #113
- app: stop the rate formatter eating integer trailing zeros — (3d776ed)
- solver: a made mark with no producer imports silently, not a nag (51cf62f), closes #91
- solver: drop phantom dust flows; remove whole-machine mode; purge issue #s from UI ([e26f6dc](https://github.com/ApocDev...
v0.5.0
0.5.0 (2026-07-02)
Features
- agent: expose module-slot rules and add a what-if recipe calculator (83cfd66)
- app: adaptive number precision with a compact-numbers toggle (c0fcb87), closes #74
- app: add a Launch Factorio button to the Live bridge card (40b4c9f)
- app: add Callout, Button toggle variant, FieldLabel (d00af1b), closes #17
- app: add Checkbox and DropdownMenu primitives (45158de), closes #17
- app: add responsive Dialog primitive (deee6d3), closes #17
- app: custom block icons; first goal is just the default icon (2ad9d87), closes #40
- app: enable/disable recipes in a block and whole blocks (86120e9), closes #73
- app: enforce design-system defaults in the base layer (dadca09), closes #17
- app: flag recipes not used by a block's goal (1ece93f)
- app: give every icon a rich hover card instead of a native title (9a0e9a5)
- app: migrate Assistant page to the design system (9d50b54), closes #17
- app: migrate block editor to the design system (ad6acb3), closes #17
- app: migrate block rail, landing, recipe card and modules modal (2c61ff5), closes #17
- app: migrate Browse page to the design system (8a2cbbe), closes #17
- app: migrate Coherence page to the design system (2feeda0), closes #17
- app: migrate Factory page to the design system (b40516b), closes #17
- app: migrate home page to the design system (e985018), closes #17
- app: migrate nav shell and shared widgets to the design system (c50666f), closes #17
- app: migrate Settings page to the design system (20a7b43), closes #17
- app: migrate Tasks page to the design system (5cbfa7b), closes #17
- app: migrate TURD page to the design system (356382f), closes #17
- app: migrate What-if page to the design system (0d85cfd), closes #17
- app: per-goal rate windows (/s, /min, /h) and a very-low-rate warning (8f8551a), closes #10 #38
- app: sortable, collapsible factory sections with %-met severity (fe76d21), closes #77
- app: sub-blocks — collapse a recipe chain into a named group (3d1a509), closes #7
- gate the TURD tab on data presence (mod-agnostic step 1) (#69) (a531dc7), closes #68
- mod: auto-detect the udp bridge and drop the enable toggle (37193d3)
- planner: incidental-spoil risk flag and planned spoil losses (bd5aa05), closes #20
- planner: keep-in-stock goals with a refill window (5e5300d), closes #38
- planner: pollution budget per block, rolled up factory-wide (d51aaa1), closes #23
- planner: show the storage buffer a spoiling step needs (79514b0), closes #19
- solver: pin goal-unreachable recipes to 0 instead of failing the block (3e7438d)
- turd: show what each choice changes + recipe-comparison diffs (#70) (88e4fec)
Bug Fixes
- agent: report the real context window instead of the 128k fallback (870df25)
- app: drop item hover cards from block nav icons (8eac33f)
- app: give context-menu icons room to breathe (891dc4b)
- app: navigate outside the setState updater when closing a block tab (e14d82a)
- app: theme the scrollbars (1eab688)
- app: tokenize the last palette stragglers (8c5136e), closes #17
- assistant: pin the sidebar and composer, scroll only the messages (5f13063)
v0.4.5
v0.4.4
v0.4.3
v0.4.2
v0.4.1
v0.4.0
v0.3.0
v0.2.0
0.2.0 (2026-06-30)
Features
- app: add a GitHub link to the home page header (ac88ba7)
- app: allow tunnel hosts and bind all interfaces on the dev server (7d5db5f)
- app: auto-select recipe when a flow has a single crafting option (d998ba3)
- app: collapse global nav to a drawer below xl (3fbe055)
- app: collapse the block sidebar into a drawer below md (3f26ad3)
- app: drag to reorder recipe rows in a block (254de60), closes #6
- app: flag block health on the sidebar, tabs, and folders (e6c659f)
- app: hide the Block Balance exports column when there are none (f7100df)
- app: make the settings tab rail horizontal on mobile (360a1d4)
- app: move build cost into a "Building summary" slideout drawer (5c0efe1)
- app: nested sidebar folders (folders inside folders) (9500655), closes #8
- app: reuse SidebarShell for the assistant chat list (61c37e1)
- app: reuse SidebarShell for the browse rail (3de9f77)
- app: reuse SidebarShell for the tasks/notes rail (133da22)
- app: show drop indicator when dragging sidebar blocks/folders (229b89e), closes #37
- app: show the data storage location in Settings (6acb1a8)
- app: tidy the Block Balance imports (4071457)
- app: touch-capable recipe-row reorder via dnd-kit (3e4094d)
- app: touch-capable sidebar block/folder reorder via dnd-kit (9260716)
- bridge: add MCP mod reload tool (2b76ac0)
- data: capture mod prototype renames and auto-apply them to blocks (7673aa8), closes #26
- data: detect a running Factorio before dumping (6ae0717), closes #27
- data: detect mod drift and prompt an integrated re-dump (05de0bc), closes #27
- data: guided drift + dump modal, replacing the settings-buried flow (1dc564f), closes #27
- data: persist and display the project's mod list with versions (0ef9f3c), closes #28
- desktop: add a Tauri desktop shell that runs the app in a window (01eb659)
- desktop: bundle a vendored node sidecar so the app runs standalone (7dc1862)
- desktop: check for updates on launch and prompt to install (af78669)
- desktop: enforce a single instance for stability (bc94b4b), closes #41
- desktop: open external links in the system browser (8c98fcf)
- desktop: polish the window — version title, icons, size, geometry (755e51e)
- logistics: belts & inserters/loaders per block row (#21) (cd39fd0)
- logistics: independent show toggles for belts, inserters, rockets (efd27b3), closes #21
- logistics: rocket launches/min per good (#22) (2b7d1be)
- mod: Helmod-style in-game summary with logistics, fuel & colored cards (220fe3b)
- planner: degrade gracefully for blocks with missing recipes/items (377110d), closes #1
- planner: per-product goal rates (multiple targets per block) (da03bca), closes #36
- planner: preferred defaults (favorites) for machines & fuel (93de9d8), closes #18
- planner: show a block's one-time build cost (capital materials) (9460008), closes #38
Bug Fixes
- app: add a version field to package.json for release-please (4ba57c6)
- app: don't close the sidebar drawer when switching in-drawer tabs (5f5ef8f)
- app: give browse recipe names their own line on mobile (b7fffef)
- app: keep hover tooltips fully on-screen (a5b2862)
- app: keep the assistant composer toolbar on one line on mobile (c499398)
- app: replace emoji/symbol glyphs with Lucide icons across the UI (fb50e9a)
- app: show full block names in coherence chips on mobile (47565af)
- app: show the full nav bar only once it fits (~1400px) (3b8d143)
- app: stack factory balance rows on mobile for readable names (ea38c1c)
- app: stack the block recipe grid on mobile (8ade275)
- app: stack the factory machine table on mobile too (dac251e)
- app: stack the whatif block-changes table on mobile (15c20c6)
- app: wrap the turd upgrade icon strip on mobile (3dd521d)
- data: clearer sync-modal copy, active-step spinner, running-game guard (f03c994), closes #27
- data: scroll the drift change-list when it gets long (8705e32), closes #27
- data: use an ArrowRight icon for version-change drift chips (d81d86f), closes #27
- ensure TanStackDevtools hides until hover (118ad5b)
- solver: keep a block solvable when a goal has no recipe ([6b294d1](https:...