Skip to content

Commit 902c223

Browse files
authored
Merge pull request #135 from ApocDev/release-please--branches--main
chore(main): release 1.2.0
2 parents 5ace705 + 25accbf commit 902c223

7 files changed

Lines changed: 108 additions & 6 deletions

File tree

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.1.0"
2+
".": "1.2.0"
33
}

CHANGELOG.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,107 @@
11
# Changelog
22

3+
## [1.2.0](https://github.com/ApocDev/pyops/compare/v1.1.0...v1.2.0) (2026-07-14)
4+
5+
6+
### Features
7+
8+
* **app:** add "Apply all" whole-factory re-balance to what-if ([8468486](https://github.com/ApocDev/pyops/commit/84684863031730bf9803491622038688b71dda20))
9+
* **app:** add Alt-click recipe explorer ([66c2992](https://github.com/ApocDev/pyops/commit/66c2992f97a02b2ea6c144d1c4a164f56f6a6cc3))
10+
* **app:** declutter the UI — controls first, explanation on demand ([0b30851](https://github.com/ApocDev/pyops/commit/0b3085110073e5b1bbf26b447aa70c99a5bae7b7))
11+
* **app:** redesign home and navigation ([a06ff06](https://github.com/ApocDev/pyops/commit/a06ff06e64295299c302dd3b26200e177604e38f)), closes [#145](https://github.com/ApocDev/pyops/issues/145) [#146](https://github.com/ApocDev/pyops/issues/146)
12+
* **app:** strengthen overlay separation and add segmented/info-hint primitives ([7e52675](https://github.com/ApocDev/pyops/commit/7e52675d7156989ccfffd71086315ae1b50af9a3))
13+
* **app:** suppress native context menu ([df778e7](https://github.com/ApocDev/pyops/commit/df778e7fcd611170ca527dc2d62c104694c24bbc))
14+
* **app:** surface Launch Factorio on the home page ([ee997b2](https://github.com/ApocDev/pyops/commit/ee997b2e907ea942e77a1673f50a47f239eeb83c))
15+
* **app:** sushi planner for block belt loops ([eda5146](https://github.com/ApocDev/pyops/commit/eda514691b9b330ab66a75c42b7fc609864c397c))
16+
* **block:** add best recipe goal shortcut ([8a4306e](https://github.com/ApocDev/pyops/commit/8a4306e4781d14d14bbbddcda4b0131ba7711511))
17+
* **block:** copy and paste goals ([075d1fb](https://github.com/ApocDev/pyops/commit/075d1fbc9cbeca3c493e292c1dbce0cdf9f166dd))
18+
* **block:** extract recipe rows into supplier blocks ([5b1ad4d](https://github.com/ApocDev/pyops/commit/5b1ad4d084610424214f0f016ee95f130a9313b8))
19+
* **block:** extract recipe rows into supplier blocks ([38a262b](https://github.com/ApocDev/pyops/commit/38a262bc941630d06e22a726b830a3d627cb4b2d)), closes [#133](https://github.com/ApocDev/pyops/issues/133)
20+
* **block:** flag imports without enabled suppliers ([0de20f0](https://github.com/ApocDev/pyops/commit/0de20f08d7563cf18c2287be67c265fcf9faf09d))
21+
* **block:** model incidental spoilage as byproduct ([3230f30](https://github.com/ApocDev/pyops/commit/3230f30f19fc51c66536fc9b318b61ed248c956e))
22+
* **block:** reorder goals with drag handles ([fb3de95](https://github.com/ApocDev/pyops/commit/fb3de95392eb0538ccabf55bd30a91d10612563a))
23+
* **blocks:** create blocks directly in folders ([f6a8b03](https://github.com/ApocDev/pyops/commit/f6a8b03d5c1ddc912cdb13011550756a20765751))
24+
* **block:** show loading-fit building counts ([5e29ee9](https://github.com/ApocDev/pyops/commit/5e29ee987d916c996e8ccb5a6a35f540c56160ce))
25+
* **bridge:** deliver app-built blueprints to the game cursor ([2ba8559](https://github.com/ApocDev/pyops/commit/2ba85596d8b5936afc9b6dd69c19363fe8972d60))
26+
* **bridge:** refresh built machines automatically ([9463820](https://github.com/ApocDev/pyops/commit/94638200580f63150950c86431b1e76fb1c64f00))
27+
* **factory:** replace balance loop with pinned goal solver ([cee1822](https://github.com/ApocDev/pyops/commit/cee1822baa57a46009a0cadf574996e272fd5e4b))
28+
* **mod:** in-game sushi-loop tracer (ALT+B) ([117264d](https://github.com/ApocDev/pyops/commit/117264d894521f95428e51a76f1047229882ed24))
29+
* **planner:** add factory supply priorities ([0446569](https://github.com/ApocDev/pyops/commit/0446569e4b98c08525276e115d1590573110553c))
30+
* **planner:** add supply priority controls ([d071a7d](https://github.com/ApocDev/pyops/commit/d071a7d2cb83598c798f55550f8ff5d122c1659d))
31+
* **scenario:** balance factory iteratively ([c4c7435](https://github.com/ApocDev/pyops/commit/c4c74354d5510cda57ed5cb397af40f329b64385)), closes [#147](https://github.com/ApocDev/pyops/issues/147)
32+
* **solver:** explain infeasible material balances ([3fed877](https://github.com/ApocDev/pyops/commit/3fed877aac421acf79bfdfd86c0fd8075cfc30ab))
33+
* **solver:** prioritize factory supply allocation ([0ae6441](https://github.com/ApocDev/pyops/commit/0ae644162e1ad5c25ed86bd20402baa96bb94307))
34+
35+
36+
### Bug Fixes
37+
38+
* **app:** clarify generator output and availability ([734dd6d](https://github.com/ApocDev/pyops/commit/734dd6d9761b37d57e6b38bc113cc7d7453f16b7))
39+
* **app:** hide excluded module and beacon choices ([4d8cdd7](https://github.com/ApocDev/pyops/commit/4d8cdd771da6cd9d8c52a0be2471adff0e7f3de8))
40+
* **app:** improve factory scenario readability ([eea1b59](https://github.com/ApocDev/pyops/commit/eea1b59a6d21cefff923212104791ddfe4a65c71))
41+
* **app:** keep recipe chance visible in hover cards ([8d56880](https://github.com/ApocDev/pyops/commit/8d5688022c74085e6132480f17130983fe9a9192))
42+
* **app:** show fluid fuel recipe icons ([2bee180](https://github.com/ApocDev/pyops/commit/2bee1801e0f62c82d3ee54afc59c86eea87dff36))
43+
* **app:** suppress root theme hydration warning ([aa9a323](https://github.com/ApocDev/pyops/commit/aa9a32383acb84a498660a2bce8885bc598e637f))
44+
* **app:** tighten block-balance chips ([ee2af23](https://github.com/ApocDev/pyops/commit/ee2af23f7dccf541b83255ebdfc649211b3d4ce7))
45+
* **app:** treat sub-1% what-if scale deltas as balanced ([7cc5a1c](https://github.com/ApocDev/pyops/commit/7cc5a1c3c49acd58d203f898dff594bde0645b85))
46+
* **block:** align goals to widest content ([e9854aa](https://github.com/ApocDev/pyops/commit/e9854aae6bbe6e581de5e2665e3eb9daeabffd5d))
47+
* **block:** align spoilage with recipe rate ([1779c95](https://github.com/ApocDev/pyops/commit/1779c9547775c78b8136b02c6f11b329f03a346f))
48+
* **block:** allow secondary consume goals ([7682313](https://github.com/ApocDev/pyops/commit/7682313ac82a4ee7a4dc55c7b90b35f2bbb5633a))
49+
* **block:** distinguish consume goals from imports ([62d7a49](https://github.com/ApocDev/pyops/commit/62d7a490330572a5ecc2483387d8d56c630d5e91))
50+
* **block:** drain selected byproduct consumers ([225fd2c](https://github.com/ApocDev/pyops/commit/225fd2c6ca85be97e15d68d727825db2fdb908f9))
51+
* **block:** flag recipes with spoilable products ([df17962](https://github.com/ApocDev/pyops/commit/df17962e96de0fdea0498267e45e637b302c23c2))
52+
* **block:** give stock goals a stable two-line layout ([a537c8e](https://github.com/ApocDev/pyops/commit/a537c8ec6e63b282d80b9af95dfa32e1233debda))
53+
* **block:** keep import status inside flow chips ([e71a29f](https://github.com/ApocDev/pyops/commit/e71a29f1a13fe35e356e7969fa4e89ee23faac41))
54+
* **block:** order imports by relevance ([056d06a](https://github.com/ApocDev/pyops/commit/056d06a0d2e3919c157d29f081dbb617c76e561e))
55+
* **block:** process cyclic surplus into sink goals ([21c2f06](https://github.com/ApocDev/pyops/commit/21c2f06febd428d093d60e8162f5949f47928290))
56+
* **block:** rank unlocked recipes before horizon choices ([040e690](https://github.com/ApocDev/pyops/commit/040e690ad6849f8a58c2609c5353f68a9cf7e8e2))
57+
* **block:** send solve payloads via post ([821d2fd](https://github.com/ApocDev/pyops/commit/821d2fdec7fe2264a9930ad746d1876185c95ac9)), closes [#153](https://github.com/ApocDev/pyops/issues/153)
58+
* **block:** show spoil times on recipe products ([7a03727](https://github.com/ApocDev/pyops/commit/7a037274723f75fa00829f9ee134812e23891740))
59+
* **block:** size goal and flow columns to content ([e17e646](https://github.com/ApocDev/pyops/commit/e17e646844b7c55f53876c4414e7bd94fe3c9e92))
60+
* **block:** wrap balance flows without track overflow ([2ee282a](https://github.com/ApocDev/pyops/commit/2ee282a9aa3b03613d9a0ec365f3086c22d79e95))
61+
* **bridge:** sync exact productivity bonuses ([7442319](https://github.com/ApocDev/pyops/commit/744231931596ae15bb83f7ccb3be971c0b92b8e9)), closes [#112](https://github.com/ApocDev/pyops/issues/112)
62+
* **bridge:** update bridge version to 4 and handle transient UDP delivery errors ([d12cada](https://github.com/ApocDev/pyops/commit/d12cada90605b86eb7517eb1857d73df11606cd2))
63+
* **data:** restore TURD master detection ([48a8c13](https://github.com/ApocDev/pyops/commit/48a8c138819936e8b7020d6647b051f004f81d72)), closes [#143](https://github.com/ApocDev/pyops/issues/143)
64+
* **data:** support Factorio 2.1 prototype dumps ([26862d1](https://github.com/ApocDev/pyops/commit/26862d1a72f17cca38460faea2ad868f78df8b7a))
65+
* **db:** keep project state in SQLite ([3b5d6ab](https://github.com/ApocDev/pyops/commit/3b5d6abb6f762e35923f055f6d8cbf30733ba936))
66+
* **db:** serialize overlapping undo actions ([a637bc9](https://github.com/ApocDev/pyops/commit/a637bc9d02581741efaa13912134c3529e70d242))
67+
* **db:** track solve projection generations ([9581ce3](https://github.com/ApocDev/pyops/commit/9581ce3f8048fb605cc10bc16d0a2841cae5a349))
68+
* **dev:** ignore Nitro proxy resets ([b2a3a82](https://github.com/ApocDev/pyops/commit/b2a3a82b0351a6dd1694af545863d9932a0919d3))
69+
* **dev:** suppress aborted hot reload resets ([d9fe23a](https://github.com/ApocDev/pyops/commit/d9fe23ad70d4bde0ed656ac0983651b565158bee))
70+
* **mod:** give the top button a slot style and crisp logo ([43b13f8](https://github.com/ApocDev/pyops/commit/43b13f8170a6f455204f326c344acb4e8805d9c9))
71+
* **mod:** use pyops logo for mod icons ([7c34538](https://github.com/ApocDev/pyops/commit/7c34538cf7b2edbb902df2c453c3532edfbd8ffc))
72+
* **mod:** use pyops logo for mod icons ([001d40e](https://github.com/ApocDev/pyops/commit/001d40ecc6d2cc7bc8965dc83d216a0ef9292d9e))
73+
* **planner:** link feedback byproduct consumers ([39bf86f](https://github.com/ApocDev/pyops/commit/39bf86f08e949e2ea0799c31ceadddc363724a46))
74+
* **scenario:** prevent sink feedback from ratcheting goals ([4cdb043](https://github.com/ApocDev/pyops/commit/4cdb043c13ba68fd70e07c1861eb629de5673816))
75+
* **scenario:** rebalance individual block goals ([8c8ba4d](https://github.com/ApocDev/pyops/commit/8c8ba4d08087237b175e4f635d463f04a77eb382))
76+
* **solver:** derive rates from stock goals ([ae593be](https://github.com/ApocDev/pyops/commit/ae593bee8e5f6cc3178544c4d186d5cbb16621e6))
77+
* **solver:** honor sinks and explain scenario failures ([d3ce2df](https://github.com/ApocDev/pyops/commit/d3ce2dfe3e90e86aee627f93fabfeebb0de3b58f))
78+
* **solver:** preserve fixed scenario boundary flows ([a681e42](https://github.com/ApocDev/pyops/commit/a681e42200c55665ee36206c6c8d696080ba1275))
79+
* **solver:** scale goals beyond coproduct plateaus ([32ea0a5](https://github.com/ApocDev/pyops/commit/32ea0a5e866a73abad1a9b2f11ef0fa4c3328b41))
80+
* **solver:** show recovered supply without zeroing goals ([0be3d18](https://github.com/ApocDev/pyops/commit/0be3d18dd561f9c298d1a5850caf49d610c6d19e))
81+
* **solver:** tolerate empty legacy block docs ([d69d303](https://github.com/ApocDev/pyops/commit/d69d303ef87290b35715c1c3ed239d9ec4e5152b))
82+
* update Factorio version requirement to 2.1 in README and info.json ([3063f3c](https://github.com/ApocDev/pyops/commit/3063f3c7cffbb1f0a345a3df450610d449ba4827))
83+
* **whatif:** preserve input focus while solving ([42eb8ad](https://github.com/ApocDev/pyops/commit/42eb8ad6d87d653ece6c843df85852a767811689))
84+
85+
86+
### Performance Improvements
87+
88+
* **agent:** avoid duplicate conversation rewrites ([df5e3b2](https://github.com/ApocDev/pyops/commit/df5e3b2e502108f64900b3563d642967dd376fee))
89+
* **agent:** batch recipe option enrichment ([17d01ca](https://github.com/ApocDev/pyops/commit/17d01caf16cf47cb505ddd76fed351e41a51c77c))
90+
* **app:** batch item availability lookups ([e6012f5](https://github.com/ApocDev/pyops/commit/e6012f51f8baf817010756b2fe672342c9af13e0))
91+
* **app:** consolidate recurring status queries ([80fca58](https://github.com/ApocDev/pyops/commit/80fca58a8ef5f2f43e77b6a8b378933286ae207e))
92+
* **app:** streamline server-function requests ([282f3f0](https://github.com/ApocDev/pyops/commit/282f3f0de7a259199899b15ba2433bda91806ba2))
93+
* **block:** batch solve reference lookups ([8939bdc](https://github.com/ApocDev/pyops/commit/8939bdcbfca97564afb04214685d993889df9a62))
94+
* **block:** replace measured goal grid with CSS ([5ace705](https://github.com/ApocDev/pyops/commit/5ace7059461d0752a11f3aeca247dd99c353c829))
95+
* **db:** batch block and folder ordering ([6eb1ac3](https://github.com/ApocDev/pyops/commit/6eb1ac30fb87f48391ea41ff6d43ec4822cd81c6))
96+
* **db:** batch block projection reads ([be3203b](https://github.com/ApocDev/pyops/commit/be3203ba458befb0e551335df668d985924cabe3))
97+
* **db:** batch dependency explorer analysis ([5c33df7](https://github.com/ApocDev/pyops/commit/5c33df73b4a8f7208ece1f4d0a83eff13a453506))
98+
* **db:** batch recipe detail queries ([bcd0bf5](https://github.com/ApocDev/pyops/commit/bcd0bf5b9adf5221e955972202ab55674c79f564))
99+
* **db:** batch TURD planning queries ([39971e3](https://github.com/ApocDev/pyops/commit/39971e33c67a63a632f774e98770963194f74327))
100+
* **db:** centralize SQLite connection policy ([68abc48](https://github.com/ApocDev/pyops/commit/68abc48e744e12e73f6efb677259fc73af46c5a2))
101+
* **solver:** coalesce editor solves and saves ([e7222d8](https://github.com/ApocDev/pyops/commit/e7222d89f2bbdaf9de0870270eca60f2d20862b4))
102+
* **solver:** reuse block solves during rebalance ([539220c](https://github.com/ApocDev/pyops/commit/539220c0644f8e58560909a3031fca70652dbb08))
103+
* **tasks:** batch task reads and mutations ([b3c0951](https://github.com/ApocDev/pyops/commit/b3c0951f417f93763d48660e2d6178e51b69b25d))
104+
3105
## [1.1.0](https://github.com/ApocDev/pyops/compare/v1.0.0...v1.1.0) (2026-07-07)
4106

5107
### ⚠ BREAKING CHANGES

app/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "app",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"private": true,
55
"type": "module",
66
"imports": {

app/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "app"
3-
version = "1.1.0"
3+
version = "1.2.0"
44
description = "A Tauri App"
55
authors = ["you"]
66
license = ""

app/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "PyOps",
4-
"version": "1.1.0",
4+
"version": "1.2.0",
55
"identifier": "com.apocdev.pyops",
66
"build": {
77
"beforeDevCommand": "PORT=34115 HOST=127.0.0.1 node .output/server/index.mjs",

mod/info.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "pyops",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"title": "PyOps",
55
"author": "ApocDev",
66
"factorio_version": "2.1",

version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.0
1+
1.2.0

0 commit comments

Comments
 (0)