Repository navigation
Core: Pre Output Steps Log - #6047
Merged
Merged
Conversation
Rooby-Roo
approved these changes
Apr 6, 2026
Rooby-Roo
left a comment
Collaborator
There was a problem hiding this comment.
Didn't test anything but I would be ASTOUNDED if this broke things somehow.
I'd like to have this feature. LGTM.
Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
EmilyV99
approved these changes
Apr 20, 2026
EmilyV99
left a comment
Contributor
There was a problem hiding this comment.
seems like a sane change
Berserker66
approved these changes
Jul 17, 2026
Evereliquest
pushed a commit
to Evereliquest/Archipelago
that referenced
this pull request
Aug 3, 2026
Crazycolbster
added a commit
to Crazycolbster/Archipelago
that referenced
this pull request
Aug 24, 2026
commit 551df23326ddc3a841faf02f294d5a8f947a6a1a
Merge: 52328050d 4910875df
Author: Crazycolbster <colbyhatton@gmail.com>
Date: Sun Aug 23 18:59:41 2026 -0600
Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago into ArchipelagoMW-main
commit 4910875df6d78e6dd8e1f9e047ec9e701c95a0e0
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sun Aug 23 05:28:43 2026 -0400
Stardew Valley: Apworld Version To 7.4.25 (#6407)
commit 260b5cbfbc3d355a2a8df57fe4c269181be3aa68
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sat Aug 22 00:56:54 2026 -0400
Stardew Valley: Reorganise option groups and visibility a little bit (#6224)
commit 1db7d33ed4c0707491751f3363549b5dedeb8640
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 21:20:02 2026 -0600
Core: Fix loading of worlds installed in launcher (#6319)
commit e4fd85d58f0866cb26bfd5991ec124d0a25bdea1
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 19:08:30 2026 -0600
Launcher: Show error message when world fails to load during install (#6292)
commit 4a3ac718f4e94adf52c05eaa22dc5d28e3563c3b
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Fri Aug 21 21:01:48 2026 -0400
KH2: Make Lucky Emblems behave like bounties and keyblade stats (#6190)
Swap the amount required and avaiable if required is more than avaiable instead of making avaiable equal required
commit 8d981a8027021c7a93fa61b46865893b2a24d2f9
Author: Rob B <computerguy440+gh@gmail.com>
Date: Fri Aug 21 21:00:01 2026 -0400
Satisfactory: Fix broken links on the Setup guide (#6110)
commit f0c21fdadc7c33b88b98febbb8e0bd666c3931f3
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 18:22:37 2026 -0600
Core: Update PlandoConnection.Direction to use StrEnum (#5801)
commit ca33ebca0db01923e49c8b965ee570b3e9e53209
Author: RoobyRoo <thegreenrobby@gmail.com>
Date: Fri Aug 21 18:10:48 2026 -0600
Subnautica: Handle empty filler item weights with specific error (#6361)
commit 52a7637242de5b4bdd85be6ad866545cd34941c8
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Fri Aug 21 17:51:37 2026 -0400
KH2: Prevent the client from crashing if the player duplicated items (#6210)
commit eabced5d60c48b9e8ee4a2bd5f18e79bad4fa778
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Aug 21 17:50:14 2026 -0400
Stardew Valley: Fixed filler buffs only rolling one of each instead of as many as needed (#6293)
commit 0c9a232fcf7d498b53697d9a0b5417fa800bf176
Author: threeandthreee <a.l.nordstrom@gmail.com>
Date: Fri Aug 21 17:49:18 2026 -0400
Tests: remove exception for LADX in test_itempool_not_modified (#6390)
commit 3ab4ab54d31cd2bc62b0f642e5b786d0862df4bd
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Aug 21 17:48:22 2026 -0400
Stardew Valley: Rebalanced a dozen or so meme bundles (#6214)
commit 90b051a80ed436d1566fbd3a81530b5456df43f3
Author: Gearwcu <huizger@gmail.com>
Date: Wed Aug 19 12:46:56 2026 +0200
Civ6: Update BOOST_TECH_CASTLES (#6270)
Replaced 8 slot government techs with 6 slot
commit 9c17dc5d624faee63ca57597de019dc5ae192c9f
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Mon Aug 17 18:06:01 2026 -0400
The Messenger: Remove connection from Climb Shop to Rocket Maze Checkpoint - #6258
commit f2b22781df5e5949183f3bba2f9c89c7e26c9a0c
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Aug 18 00:00:10 2026 +0200
APQuest: Reimplement Dijkstra by hand (so that it is LLM-free again) (#6315)
* reimplement Dijkstra by hand
* make it so that the player faces the breakable object even if they can't break it
* ruff
commit 17f753281fd62fc12f494269986cde7db480896e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Aug 17 21:45:17 2026 +0200
The Witness: Universal Tracker support + Clean up which options actually need to be in slot_data (#5503)
* Re-gen with UT + slim slot_data slightly
* make use of relevance in ut code
* That's not how enums work
* fixup
* more ut compat
* more ut fixup
* more ut fixup
* utils entity hex fixup
* Me when I lie
* Update options.py
commit 9ae40fd6e4f5eae8c8c9f693504335d1496af3da
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Aug 17 21:31:41 2026 +0200
MultiServer: Allow "and" chaining of Bounce packet conditions & add teams support (#3845)
* Allow 'and' concatenation of bounce packet conditions
* Docs + small change
* Docs stuff
* update Bounced as well
* lol
* shadowing issue
* Slight rework to allow teams
* teams note
* Make the PR ready
* docs further up too
* Let's not do this actually
* Use operator & don't redefine functions
* team default
* remove unnecessarily added whitespace
commit bf52661182556ed9cf2084ea6a213f9a87611e36
Author: SomeJakeGuy <39894486+SomeJakeGuy@users.noreply.github.com>
Date: Sun Aug 16 18:04:31 2026 -0400
MultiServer: reject None targets on Bounce and validate types before sending Bounced (#6397)
commit 21e728c38d352cc2ada321bb7afe47cd3b3c3325
Author: James White <james_white_d@hotmail.com>
Date: Sun Aug 16 09:24:28 2026 +0100
CommonClient: reset session state when connecting to a different room or slot (#6231)
commit c6d941181473fce6b2325cb12794786297067fa9
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sun Aug 16 02:22:31 2026 -0600
BizHawkClient: Fix compatibility for Lua 5.5+ (#6200)
commit a0ca21b8d9cc16fc30bff9d5c9711f3d4e09de07
Author: qwint <qwint.42@gmail.com>
Date: Sun Aug 16 02:42:13 2026 -0500
HK: Various silly fixes (#6276)
commit 5b155bcc48d41c05ec382e5dda3b59d70d3e35ec
Author: qwint <qwint.42@gmail.com>
Date: Sun Aug 16 02:38:37 2026 -0500
CommonClient: Match ServerLabel's team to other UIs (#5875)
commit e3a60683e5e9c55858a03287572c750bfe77ecff
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Sat Aug 15 15:45:54 2026 -0400
Jak and Daxter: Update client to use PME 2.0.x. (#6393)
commit ce8186010d2baf4255e65730fa63ef5cc679c3a4
Author: qwint <qwint.42@gmail.com>
Date: Fri Aug 14 16:39:55 2026 -0500
Core: Add helper for unescape kivy strings + cleanup its usages (#6023)
commit fe5b49e1899b32bcb9f65e91cb7f74d6aa6d0ff8
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Aug 10 11:03:01 2026 +0200
Core: limit depth of received JSON to 16 (#6378)
* Core: limit depth of received JSON to 16
This applies to both MultiServer and CommonClient.
This means DataStorage default is limited to 14 levels,
DataStorage op arg is limited to 13 levels.
* Core: fix JSON depth limit check for escape codes
* Core: cythonize JSON depth limit check
commit 3359cacedd6eb263f6b6e82cef8f689151217a7a
Author: Colin <colinb969@gmail.com>
Date: Fri Aug 7 23:39:41 2026 +0100
CommonClient: Ignore invalid deathlink packets (#6376)
commit 0f76d35a8c57b2114538a43698e9331cd32a81b2
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Thu Aug 6 01:14:01 2026 -0400
ALttP: Fix Randomzie Enemy Damage (#6296)
commit d62772abc6e271d95437741e7a1ac02ef161144b
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Wed Aug 5 07:59:08 2026 +0200
Core: Fix Open Patch (#6356)
commit 408954c60b0f86ef873b2d13776a8617b032339d
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Wed Aug 5 02:56:52 2026 +0200
Factorio: Locale fixes (#6237)
commit f328ce7e7d83197f3c9273e909e381ec6475b3ec
Author: qwint <qwint.42@gmail.com>
Date: Tue Aug 4 17:26:55 2026 -0500
Options: add typing and remove unnecessary deepcopy call in OptionCounter (#6321)
Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
commit 8b3557cd6c1ddb0b5e538ac489a2e672e11950f7
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Tue Aug 4 18:24:35 2026 -0400
The Messenger: Various small logic fix (#6337)
commit e759562506dd5e92e3dd2f9b0210b0ef1df92e1c
Author: qwint <qwint.42@gmail.com>
Date: Tue Aug 4 17:18:52 2026 -0500
Setup: bump cx-Freeze to fix frozen linux shortcuts (#6365)
commit 838d55327e68c62cf4f24d4e2da24202d37cd7c5
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Tue Aug 4 16:12:23 2026 -0600
MultiServer: Update hint_points when hint cost or check points is changed (#6219)
commit 26e45742529e1975e4044b27b794ec60371550b6
Author: Jacob Lewis <JacobMLewis@Live.com>
Date: Tue Aug 4 01:10:43 2026 -0500
ALTTP: Reflowed headers in docs and explicitly added what client is used. (#5758)
commit 53bc3754c0fa50849cba1dc829c9b18a980a3391
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Aug 3 17:16:25 2026 +0200
Core: remove per_slot_randoms and DeprecateDict (#6186)
commit 18c3b19cfa513717f3fc4e1583e5e2bc75e3c670
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Thu Jul 30 14:39:51 2026 -0700
Starcraft 2: Moving pool filter to use a counter instead of a dict (#6366)
commit b34b84aa8f4fb96b466596d49f920834c95ca941
Author: Severencir <62644089+Severencir@users.noreply.github.com>
Date: Thu Jul 30 08:25:11 2026 -0500
Starcraft 2: item pool reduction overcounting fix (#6318)
commit 26792ef113a3b86ebee177235135be84494b80dc
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Thu Jul 30 09:19:06 2026 -0400
The Messenger: Fix shop price not correctly handled by UT (#6340)
commit a7abc86eb1398577c2008aa4885819ea56516fc0
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu Jul 30 15:18:21 2026 +0200
Core: update platformdirs (#6328)
commit abb6f2647e7da44e3529dc9316c683a1d79edde0
Author: CodeGorilla <just.a.smith@att.net>
Date: Thu Jul 30 08:17:49 2026 -0500
Tests: Force race mode off in test_generate_yaml (#6349)
commit 72dbfcc1d367df4dd03681052e845b4e9f5a93af
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Mon Jul 20 02:49:12 2026 -0700
SC2: Disabling UT as it doesn't work (#6346)
commit 318a4ffa5ec24b3a2241f9259e475afc3b43d69a
Author: qwint <qwint.42@gmail.com>
Date: Sun Jul 19 15:48:14 2026 -0500
Build APWorlds: fix moved import (#6343)
commit 2cde25ffd0d4cb1404504f64d156a93448cdecb8
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sat Jul 18 14:53:35 2026 -0500
Unittests: allow running unittests for specific worlds when using unittest runner (#6338)
commit 6875f9da9009b10985e3e4f883fccd06419361b0
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Sat Jul 18 12:32:54 2026 +0200
RuleBuilder: Optimize Has("Item", 0) (#6228)
commit bbd5fc382219de4a4816feac71473f160f8448fa
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sat Jul 18 19:28:22 2026 +1000
Launcher: Delete unused functions (#6332)
These were moved to LauncherComponents in #6115, but due to a bad merge resolution, the originals were left behind.
commit ae7c5609cda85f23e99b9017e4f72dd8b2d6cc5c
Author: Berserker <fabian.dill@web.de>
Date: Sat Jul 18 04:53:04 2026 +0200
Launcher: fix world import ordering conflict between #6115 and #6058
commit c8cf2c41122261da5fef4760efd3e0307a93a68c
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sat Jul 18 02:38:34 2026 +0200
Launcher: Loading Screen (#6115)
commit feab54daec712ffb333b8c73f38eb69e1ed9c508
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sat Jul 18 04:08:20 2026 +1000
Core: Add parameter to visualize_regions to display Rule Builder explanations on exits (#6184)
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
commit 13f1929286abba9ac50c8a00eeaf5f010537793e
Author: g0goTAS <79611210+g0goTAS@users.noreply.github.com>
Date: Fri Jul 17 14:07:07 2026 -0400
Core: Pre Output Steps Log (#6047)
commit c6a7c0c193c4b5eea5a9160957447e766c403f4e
Author: Patrick Wehbe <50799614+patrickwehbe@users.noreply.github.com>
Date: Fri Jul 17 21:06:10 2026 +0300
Docs: add guidance for choosing minimum/maximum_ap_version (#6265)
commit 4efce428a4abadd0180ab5182cecd8c987ebe74b
Author: James White <james_white_d@hotmail.com>
Date: Fri Jul 17 19:03:52 2026 +0100
Core: Adjust YAML error message to clarify the name is not the cause of the error (#6267)
commit 6907d89968782b3cb4283b37f518b1dfdc0daefd
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Fri Jul 17 11:03:20 2026 -0700
Core: fix Set import (#6235)
mistake made in pr #5048
https://github.com/ArchipelagoMW/Archipelago/pull/5048#discussion_r3328989050
commit 9c80dc6257e3ffa8ff2902178852b220c25f3177
Author: James White <james_white_d@hotmail.com>
Date: Fri Jul 17 19:01:28 2026 +0100
Core: Allow running unit tests scoped to specific worlds (#6290)
This allows the unit tests to be run on specific worlds only, it works by using an environment variable AP_TEST_WORLDS which is a comma separated list of world directories.
commit c31168506450ea247ccf52f1a63f9668d8a7aa08
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu Jul 16 00:04:19 2026 +0200
WebHost: Bump mistune from 3.2.1 to 3.3.0 in /WebHostLib #6324
commit f110a7efbc10f2ae9c741d54bb31dd9831a44eae
Author: jamesbrq <jamesbrq@gmail.com>
Date: Sat Jul 11 13:26:27 2026 -0400
Gauntlet Legends: Implement New Game (#3499)
* Update GauntletLegendsClient.py
* Continuation of obelisk update
* APPP Implementation Groundwork.
* Continuation of APPP Implementation
* Create Pain.asm
* ROM verification modified since crc32 hash can no longer be calculated.
* Initial upload of barrel/chest locations.
* Finished adding and naming all chests/barrels.
* Continued locations.
* Added new yaml options
* Work on mirror shards
* Python 3.8 compatibility
* Finalized location names. Fixed lambda bug.
* v1.0
* Removed excess Docs and Changed item counts.
* Update Archipelago Unittests.run.xml
* Started working on Docs.
* Updated item arrays for client
* Fix client bugs
* Flake8 fixes + Yaml fix
* Update speed boots
* v1.1
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* v1.0.4
* Initial Ruff format
* Formatting part-2
* More formatting + Doc changes
* Updated Docs
* Move client to root
* Update Client Name
* Make Imports Relative
* Add new yaml options + rename obelisks
* v1.1 Initial Upload
* v1.1.0 + some additions
* Client Update
* Client Updates
* pre-v1.1.1
* Update GauntletLegendsClient.py
* pre-1.2
* 1.2.0
* v1.2.1
* Client fixes
* v1.3.0
* v1.4.0
* v1.4.1
* Merged Changes
* Experimental
* pre-v1.5.0
* Changes
* v1.5.0
* Update GauntletLegendsClient.py
* Death Update
* pre v1.5.1
* Obelisk rule changes
* pre-v1.5.1
* Update GauntletLegendsClient.py
* v1.5.1
* v1.5.1
* Update GauntletLegendsClient.py
* Small fix
* Update GauntletLegendsClient.py
* v1.5.2
* pre-v1.6.0
* pre-v1.6.0
* v1.6.0
* Update
* Update GauntletLegendsClient.py
* Test
* pre-v1.6.0
* Client Updtaes
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update Rom.py
* Update GauntletLegendsClient.py
* Update Rom.py
* Added Logging on stage enter
* v1.6.2
* v1.6.2
* Update Rom.py
* Update GauntletLegendsClient.py
* v1.6.3
* Small Update
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Changes ready for review
* Update Rom.py
* Remove root client
* Update inno_setup.iss
* Update client
* Initial Review Refactor
* Update Arrays.py
* Review refactor
* Update __init__.py
* Small tweaks after test generations
* Update GauntletLegendsClient.py
* Implement new check_locations() function
* Add name for Skorn to level_names Dict
* Fix for #4671
* Update __init__.py
* Adjust item frequency + Place 50% of filler as local
* Oops I modified the itempool after create_items teehee
* Update __init__.py
* Check MD5 hash before patching ROM
* Update __init__.py
* Fix get_filler_item_name()
* Update MD5 check to built in method in FilePath
* Update Rom.py
* Update worlds/gl/Rom.py
Co-authored-by: qwint <qwint.42@gmail.com>
* WIP Generation fixes
* v1.7.1
* Update Archipelago Unittests.run.xml
* 0.7.2
* Update GauntletLegendsClient.py
* Review Edits
* Update World description
* Fuzz fixes
* Update GauntletLegendsClient.py
* Make static data immutable
* Update option comparisons since no longer a Choice
* Update worlds/gl/Rom.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update __init__.py
* Initial Update commit
* Progress
* Remove un-used import + Add manifest
* Add missing docstring for client command
* Progress
* pre-v2.0.0-BETA
* Updates
* Progress
* Working Generations
* Working IN-Game
* v2.0.0-BETA
* Create archipelago.json
* v2.0.1
* v2.0.1 FINAL
* pre v2.0.2
* Delete report.json
* Cleanup
* pre v2.0.2
* v2.0.2
* PR Ready
* Update Items.py
* Delete fuzz.py
* Update Items.py
* Update GauntletLegendsClient.py
* Fix scouting disabled locations
* Client Updates
* v2.0.3
* Increment World Version
* Docstring + slot_data updates
* Option name update + Remove redundant option
* Code Cleanup
* Trenches is level 24
* Frequencies
* More cleanup and removal of stale code. MISSING BASEPATCH
* v2.1.0
* Minor enemy changes
* Small fix
* Update Rom.py
* v2.1.1
* Small fixes
* Update basepatch.bsdiff4
* Update GauntletLegendsClient.py
* Socket error clarity
* Delete settings.local.json
* Update GauntletLegendsClient.py
* v2.1.2 fixes
* Boss portal fix
* Small client fix + Item Frequencies
* Update archipelago.json
* Fix for games playing with max difficulty lower than 4 not sending locations
* Update archipelago.json
* v2.1.5
* Fix for Chimera's lair mirror shard
* Update archipelago.json
* Mod Re-Base + Queue limits + Item Receiving fixes
* Options cleanup and newlines for some files
* Include v2.x features in docs
* Make sure players has at least 1 item
* v2.1.6
* Update archipelago.json
* Review Edits + Client Tweaks
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit f9c5868f7b2e94666dd30b426b55bb0653c1a75d
Author: qwint <qwint.42@gmail.com>
Date: Sat Jul 11 11:27:58 2026 -0500
ModuleUpdate: Add core requirements.txt as a constraint file to pip calls (#6309)
* Add core requirements.txt as a constraint file to pip calls
* remove --upgrade as requested
* Update ModuleUpdate.py
commit fde71f66f32e59e775b2958b038d0a86033c9ec3
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Sat Jul 11 04:26:19 2026 -0700
Core: typing and cleaning, mostly in `Fill.py` (#4459)
* Core: typing and cleaning, mostly in `Fill.py`
* fix typing of things we get out of plando blocks
* clean getting multiworld from kwargs
add a list type
clean indentation
* fix issues with merge conflict resolution
* some things found after merge
commit e6e0bc30420d13085f6f86b29ffa7e1594a8c46a
Author: Uriel <imurx@proton.me>
Date: Sat Jun 20 11:36:18 2026 -0400
WebHost: Config option for custom port ranges v2 (#6009)
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.
* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.
* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer
* Updated soft-fail message
* Removed dead import from customserver.py
* Update requirements.txt
Settings requirements to main core branch
* fix what reviewers said and add some improvements
* remove unused argument
* try fixing test with try
* use yaml lists instead of string for config
* fix value type bug on ephemeral type
* reuse sockets with websockets api instead of opening and closing them
* add used ports cache and filter used ports when looking for ports
* fix port randomizer
* Apply suggestions from code review
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* fix some reviews
* use weights for random port and remove more-itertools
* fix net_connections not working on macOS
* rename variables and functions
* lazy init `get_used_ports`
* change `game_ports` to be `tuple`
* fix last_used_ports not being updated locally
* fix random choices and move game_port conversion into tuple
* Apply suggestions from code review
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* use a named tuple on parse_game_ports
* only use ranges
* do it the duck way
* this should check all usable ports before failing
* fix while loop
* add return type to weighted random
* Update WebHostLib/customserver.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* simplify tuple conversion check
* add tests
* reformat file and change `create_random_port_socket` test
* add more test cases for parse_game_ports
* try to prevent busy-looping on create random port socket when doing test
* simplify parse game port tests to one assertListEqual
* make the range lesser for port test
* reduce range on macOS
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update WebHostLib/customserver.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* remove unused import
* Update WebHostLib/customserver.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* use generator expressions
* check for 0-tuple
* use some kind of shuffled queue
* update tests
* refactor new port handling into a class (#1)
* change time to monotonic
* Update docs/webhost configuration sample.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* add psutil 7.2.2 as requirement
* Update WebHostLib/requirements.txt
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: Lexipherous <jasonnlelong@gmail.com>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit 5ccef9802ada04b27b92e84be24c9ebbe4d0906d
Author: Emily <35015090+EmilyV99@users.noreply.github.com>
Date: Sun Jun 7 12:21:30 2026 -0400
WebHost: fix Authors on supported game page (#6218)
commit 09aba95c039f2d304c15466b7cff6f0ee8f12aa8
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Wed Jun 3 17:53:37 2026 +0200
Factorio: Fixed a needlessly small bug that does not affect gameplay (#6147)
commit 2a8ebe23991d5337b09a17d0e197f32d32245e31
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Wed Jun 3 08:20:04 2026 +0200
Core+RB: Make has_from_list, has_from_list_unique, has_group and has_group_unique return True if count <= 0 and list is empty (#6240)
commit ad0af18f5173c9085cd4850d354bb82c689c3097
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Tue Jun 2 09:10:43 2026 +0200
Rule Builder: Resolve empty and() to True_() instead of False_()(#6239)
commit 65277a50ce725a4847e3db1d47c73e96e59a7fca
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Tue Jun 2 06:38:23 2026 +1000
Muse Dash: Update to Touhou Mugakudan -V- (#6234)
commit d241829585df0bbce179e7e7a97bf78fbe0ed392
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun May 31 23:55:57 2026 +0200
Bump mistune from 3.2.0 to 3.2.1 in /WebHostLib (#6185)
Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/lepture/mistune/releases)
- [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst)
- [Commits](https://github.com/lepture/mistune/compare/v3.2.0...v3.2.1)
---
updated-dependencies:
- dependency-name: mistune
dependency-version: 3.2.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit b24b3d10b646dced8d0f04daa130905e5a9788df
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Sun May 31 01:49:39 2026 +0200
Factorio: Locale changes (#5908)
---------
Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl>
Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com>
commit 787ddc400caf9bd3e327083fba3cef7e97b513be
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Wed May 27 03:26:30 2026 +0200
Core: Bump version from 0.6.7 to 0.6.8 (#6114)
commit 545171f3f4e42317d61391423839a138b88d1bec
Author: qwint <qwint.42@gmail.com>
Date: Wed May 20 02:12:54 2026 -0500
Core: reset log level when using pyximport (#6212)
commit d0abfeb88b34f6eaad6ed677b10bea9b6e17a973
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Mon May 18 07:53:48 2026 -0400
The Messenger: Fix portal shuffle logic not using unlocked portals (#6194)
commit b575983599046a5e1ef98cbd7ce2f38b10eb6f02
Author: Will Morrow <duh102@gmail.com>
Date: Sun May 17 14:44:40 2026 -0700
SM64: Change power star item classification to be deprioritized (#6191)
commit d8d148ac135c5848820f22bdc9bc13aa62831cbc
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sun May 17 17:41:34 2026 -0400
Stardew Valley: Bypass CollectionState overhead by just calling prog_items (#6065)
commit 24f75ba0729912e485a0b4bea05d109812bb8303
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sun May 17 16:40:08 2026 -0500
Settings: validate FilePath hash on use (#5854)
commit 38e77e1b46b20552d5fdf2a0ef88558e7ec2f813
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sun May 17 02:29:30 2026 +1000
Factorio: Remove the need to have two separate installs (#4221)
commit 799e0b7b0fa3c965995a6288c651d2f4d800e4ff
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Sun May 10 20:16:20 2026 -0400
KH2: fix ice cream double counting for logic (#6068)
commit 4ef1fb7630a924154e43d582108e24c2462f609d
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sun May 10 05:25:34 2026 +1000
Muse Dash: Convert to Rule Builder (#6166)
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
commit 0cd81ff5001547647a8daefe334c9d695f9b62c8
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Sat May 9 11:07:46 2026 -0400
A Link to the Past: We Have Enemizer at Home (#6153)
commit 55a1b12cb78926e9308114c347996c7a5c763252
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 09:01:22 2026 -0600
CommonClient: Make hint cost (shown in server label) update (#6149)
commit 3fcd337f65fb6950b2017e58174c67051079b6d0
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 09:00:00 2026 -0600
WebHost: Add authors to supported games page (#6123)
commit 7a5acfeceb99c66a6e2f6933ef80f2ca42f0448b
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 08:59:05 2026 -0600
Core: Make manifest accessible as a world attribute (#6122)
commit 06dc1b897cc6e58fc8b5d438dee51a67aedc59fe
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sat May 9 07:58:01 2026 -0700
Pokemon Emerald: Switch to rule builder (#5923)
commit 4a28888a6610d24f7c7bfe6909826e418f8f6221
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Sat May 9 16:56:10 2026 +0200
Rule Builder: Implement AtLeast (#6085)
---------
Co-authored-by: Ian Robinson <ianronrobinson@gmail.com>
commit d0407a74d65ed1cdc9519f4de996406316225f0a
Author: Christina <123173340+Paperkoopa@users.noreply.github.com>
Date: Sat May 9 16:54:20 2026 +0200
Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (#5738)
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
commit e0810022f830195fe2921fd10b14132a45569fa2
Author: josephwhite <22449090+josephwhite@users.noreply.github.com>
Date: Sat May 9 10:51:56 2026 -0400
WebHost: Fix adding weighted text options (#5116)
commit 29a6f40c2b1c126d886f079982e0397209b10480
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Sat May 9 15:50:34 2026 +0100
Blasphemous: Increase logic performance (#4585)
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 2bd572c23d1e7e2a98701769fab67f9118d2ed08
Author: josephwhite <22449090+josephwhite@users.noreply.github.com>
Date: Sat May 9 10:46:53 2026 -0400
Super Mario 64: Basic testing (#4335)
---------
Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit b59e52a103b33e67c13e8e0ddc5236edce805458
Author: Scipio Wright <scipiowright@gmail.com>
Date: Tue May 5 10:14:19 2026 -0400
Options: Remove the "" from the start inventory examples (#6165)
---------
Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com>
commit 6d9d340c719c0eeaadf5f56a8878acd5540acba7
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Tue May 5 00:30:47 2026 -0500
Launcher: display window for failed world loads if any (#6058)
commit 4486510fbc9406b7135377c2a39bf622d87092d8
Author: qwint <qwint.42@gmail.com>
Date: Sat May 2 10:53:37 2026 -0500
Options: make template generation log the failing world if one fails (#6176)
commit a68109f5a7fe9971b5b002491de0be301889c05c
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Fri May 1 22:38:46 2026 +0200
WebHost: Add deletion of old content to cleanup function (#6119)
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 234b0581c9a3791230e8c08c2d34591748bc207c
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Fri May 1 05:30:35 2026 -0400
ALttP: Fix starting mail and shield equipment from start inventory (#6154)
commit 798eeaad91cbfbd40b6cae6934f3d9f24376114a
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Fri May 1 19:29:59 2026 +1000
Muse Dash: Update to DASH AND SHOOT (#6163)
commit 18750620997b7963f221f55dadd91d99da795417
Author: qwint <qwint.42@gmail.com>
Date: Wed Apr 29 15:29:41 2026 -0500
Undertale: Handle zero arg /auto_patch (#5130)
commit 9da3c2999022c734cf09516471cd294efd41d168
Author: Seldom <38388947+Seldom-SE@users.noreply.github.com>
Date: Wed Apr 29 12:25:38 2026 -0700
Terraria: fix failing to generate with Calamity enabled and full accessibility on Mechanical Bosses goal #5787
commit 90b72c0fa5b0389fff9261f60b323a9d53e1a0aa
Author: palex00 <32203971+palex00@users.noreply.github.com>
Date: Wed Apr 29 21:25:14 2026 +0200
Docs: Add missing space to plando doc #6060
commit fd8f3fcd8ba83f7fe881203de182161f92e9d435
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Wed Apr 29 20:24:41 2026 +0100
The Messenger: Add missing indirect conditions (#6101)
commit d36ba62243978185a97e67a1e04d3c51801ee36d
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Wed Apr 29 15:24:10 2026 -0400
The Messenger: Add missing rules for Key of Strength#6124
commit 8ac335f92db9d7710dc69742ed961990776761e8
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Wed Apr 29 20:22:35 2026 +0100
Docs: Rewrite get_filler_item_name's docstring to avoid implying it's for filling all unfilled locations #5956
commit 74a0cd60223c33af068b76397a85d2eb5cce32d1
Author: qwint <qwint.42@gmail.com>
Date: Wed Apr 29 14:21:42 2026 -0500
MultiServer: update help doc on auto_shutdown#5917
commit 31f5a6c4ea8a60a970b8455812b8c1d3b531a751
Author: Sophia Caspe <avi.caspe@gmail.com>
Date: Wed Apr 29 12:19:32 2026 -0700
Docs: Rule Builder Filtered Example Fix (#6152)
commit be9c7b1728ea1a52dfcf8bce6f6e286d7d6303c1
Author: River Buizel <4911928+rocket0634@users.noreply.github.com>
Date: Wed Apr 29 12:18:59 2026 -0700
KH2: Update setup_en.md (#6129)
commit a0236b2d74044a1bfbbfd41807f2f125ea0d36e9
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Wed Apr 29 15:18:21 2026 -0400
Jak1: yamlless UT support (#6066)
commit af39d7926a2d1943103f095568d5a2147aedc358
Author: threeandthreee <a.l.nordstrom@gmail.com>
Date: Wed Apr 29 15:15:57 2026 -0400
LADX: doc update (#6050)
* update gfxmod doc
* romless generation
* Update setup_en.md
Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
---------
Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
commit a48bf0195f5c0687086746ea89d097f220eea741
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Wed Apr 29 15:14:34 2026 -0400
Docs: Make RB OptionFilter docs clearer (#6028)
* add more docs for option filters
* reword the whole things
* style guide
commit 73856f63c84e51656b2c49083499d582e3dce542
Author: Sophira <github@theblob.org>
Date: Wed Apr 29 19:12:04 2026 +0000
Docs: Mention APQuest as a reference (#6000)
The APQuest implementation of an APWorld is incredibly useful and should
really have a mention here.
commit d5cc2011384f3e03959e371c357faff9fd92d8f3
Author: CookieCat <81494827+CookieCat45@users.noreply.github.com>
Date: Wed Apr 29 15:11:36 2026 -0400
AHIT: Update FAQ in setup guide (#5975)
commit 4346191c55ccf877aa2756d7601b5224798d54a7
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Wed Apr 29 20:10:26 2026 +0100
Docs: Add a warning to world api.md#events that you want StatusUpdate, not events, for actually sending the goal (#5957)
commit 0601494e39caeb0fc82f6a49fe299acf61d6fac9
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Wed Apr 29 20:08:16 2026 +0100
Pokemon RB: Fix mutating global item_groups in get_filler_item_name() (#5947)
The `banned_items` variable was the `"Unique"`list within the
`item_groups` global. `get_filler_item_name()` could then mutate
`banned_items` through `banned_items.append("Poke Doll")` and
`banned_items += item_groups["Vending Machine Drinks"]`, causing
the contents of the `item_groups` global to be mutated.
This has been fixed by making `banned_items` a shallow copy of
`item_groups["Unique"]`.
commit 78937054de3e5d7cfb473cb116048e7c8aab7648
Author: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Date: Wed Apr 29 21:07:52 2026 +0200
sm64ex: Recommend Flatpak for Linux users (#5897)
commit 59674926edc98ca758db7ff12a6ef4c6496bdd77
Author: UCSA <moro.matteorosario@gmail.com>
Date: Wed Apr 29 21:07:32 2026 +0200
Docs: added an italian translation of the setup guide for Muse Dash (#5834)
* Create setup_it.md
Created an italian translation of the setup for muse dash. I could not find direct references to translating a setup so I am assuming this is the correct way to submit a translation.
While I am a native in italian and I would consider myself fluent in english, I am not a translator so mistakes could have been made.
* Update __init__.py
commit b716096a4b16d8d2aab9717859de0ecebbc087ac
Author: Oshroth <Oshroth@users.noreply.github.com>
Date: Thu Apr 30 05:01:23 2026 +1000
SML2: Send logic affecting randomiser options as slot_data (#5751)
* Send logic affecting randomiser options as slot_data
* SML2 - Universal Tracker support
* Remove debug logs
* Only check generation_is_fake once
---------
Co-authored-by: alchav <alchav@jalchavware.com>
commit c851eff521ab4a8033357ae0817d34e84ae7248e
Author: el-u <109771707+el-u@users.noreply.github.com>
Date: Wed Apr 29 20:56:11 2026 +0200
lufia2ac/docs: fix some errors (#5618)
Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com>
commit 01033940d6a915643293de1c0c5c3f35d2c93c47
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Wed Apr 29 12:55:32 2026 -0600
MMBN3: Add spaces in concatenated string#5689
commit 15561e1e2d0192a2326f9d3e0c0c9165255170a1
Author: Mrks <68022469+mrkssr@users.noreply.github.com>
Date: Wed Apr 29 20:49:19 2026 +0200
Generate: Added "quantity" option for player yamls to use multiple times a single yaml (#4948)
* Added option for player yamls.
* Extended documentation
* Minimized value extraction.
* Added allow_quantity option to host.yaml
* Added option for player yamls.
* Extended documentation
* Minimized value extraction.
* Added allow_quantity option to host.yaml
* Update settings.py
Co-authored-by: qwint <qwint.42@gmail.com>
* Update Generate.py
Co-authored-by: qwint <qwint.42@gmail.com>
* Added allow_quantity as application argument.
* Quantity > 1, allow_quantity = false -> error instead of silent 1
* Added check for quantity <= 0; reverted settings import change
* Update Generate.py
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 9c78edc764d93821136310edaf0b1bb8be564470
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Wed Apr 29 02:21:09 2026 -0400
Rule Builder: Fix rule hash collisions (#6169)
* fix rule hash collisions
* just let the dict do the work
commit d2395de9fa269e1dfa9c6b29d912bf802eda9660
Author: lepideble <147614625+lepideble@users.noreply.github.com>
Date: Mon Apr 27 14:06:19 2026 +0200
Factorio: move communication savegame to user dir (#5646)
commit d41cec64948231d7a8b1115d7cfcd7835a1832c7
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sat Apr 25 22:44:48 2026 +0000
CI: update softprops/action-gh-release to v3.0.0 (#6162)
The update will be required once GH drops support for Node 20.
Also enables new options the action has now.
commit dc911399fbec508333387439373fdd015663add0
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 17:07:23 2026 +0100
The Witness: More control over progressive symbols (#3961)
* More control over progressive symbols!
* Cleanup crew
* lol
* Make it configurable how second stage items act on their own
* only let independent symbols work if they're not progressive
* revert defaults
* Better description
* comment for reviewers
* A complicated docstring for a complicated function
* More accurate
* This probably works more generically
* Actually, this would cause other issues anyway, so no need to make this generic yet
* :/
* oops
* Change the system to use collect/remove override so that plando and start inventory work correctly
* Vi stop doing that thing challenge
* Make SecondStateSymbolsActIndependently an OptionSet
* jank
* oop
* this is why we make unit tests I guess
* More unit tests
* More unit tests
* Add note about the absence of Rotated Shapers from the independent symbols optionset
* More verbose description
* More verbose description
* slight reword
* Ruff ruff :3 I am a good puppy <3
* Remove invis dots
* oops
* Remove some unused symbols
* display name
* linecounting -> discard
* Make all progressive chains always work
* Unfortunately, this optimisation is now unsafe with plando :(
* oops
* This is now a possible optimisation
* optimise optimise optimise
* optimise optimise optimise
* fix
* ruff
* oh
* fixed frfr
* mypy
* Clean up the tests a bit
* oop
* I actually like this better now, so I'm doing it as default
* Put stuff on the actual item class for faster collect/remove
* giga oops
* Make proguseful work
* None item left beef
* unnecessary change
* formatting
* add proguseful test to progressive symbols tests
* add proguseful test to progressive symbols tests
* clean up collect/remove a bit more
* giga lmfao
* Put stuff in option groups
* Add the new symbol items to hint system
* bump req client version
* fix soft conflict in unit tests
* fix more merge errors
commit 0b38065123aeaa485a58f7fa6fa07ab32d7b7e35
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 16:08:21 2026 +0100
APQuest: Fix Easy Mode boss having too much health to beat (#6146)
* Change the boss' health to 2 in easy mode, adjust boss graphics to reflect this behavior
* graphics formatting
commit a6c134710262902562e25fd47b470f9848c9725b
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:52:38 2026 +0100
The Witness: Make "Early Good Item" an OptionSet allowing Symbols, Doors and Obelisk Keys (#3804)
* New solution to that plando issue
* better
* Another warning
* better comment
* Best of both worlds I guess?
* oops
* Smarter code reuse
* better comment
* oop
* lint
* mypy
* player_name
* add unit test
* oh
* Rebrand time baby
* This fits on one line
* oop
* Update worlds/witness/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* mypy
* Reorganize some doors according to medic's suggestions
* This should make it much faster (Thanks Medic)
* Town Doors works because of Church being a check always, Church Entry feels really bad tho
* Only add Desert Entry if there are no control panels stopping you
* No overlap here, so why is it a set
* Idk everything's kinda good without symbol shuffle
* Just make sure, I guess
* This makes way more sense doesn't it
* Oh, this is probably important
* oop
* loc
* oops 2
* ruff
* that was already in there
* Change the door picking a bit further
* some renaming
* slight wording change
* Fix
* Move it all to a new file
* ruff
* mypy
* .
* Make sure we're only adding as many tutorial checks as necessary
* ruff
* These checks aren't necessary, as the final list gets culled to only existing items anyway. It saves CPU cycles, but this is nicer for future compatibility
* Special handling for caves shortcuts
* 120 chars
* Update worlds/witness/place_early_item.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Clean up Windmill & Theater cases
* Make early_symbol_item removed instead
* Add early_good_item to presets
* replace double None checks with casts
* That doesn't exist anymore
* Mypy thing
* Update the doors again a bit
* Pycharm pls
* ruff
* forgot one
* oop
* Is it finally right?
* Update options.py
* Fix with new Panel Keys
* Hopefully fix crash when one of the types runs out when the others haven't yet
* oops
* Medic suggestion
* unused import
* Update place_early_item.py
* Update __init__.py
* Update __init__.py
* Update options.py
* Add possible types to option desc
* Make that include all Tutorial (Inside) checks
* Update __init__.py
* Update test_early_good_item.py
* Update test_early_good_item.py
* Slight cleanup
* fix no tutorial locations being picked up by tutorial location size check
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 0a742b6c984fc7ce03bb52b7a4a4b86b60831403
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:49:19 2026 +0100
Options: Add more Option unit tests, add generic Option.__eq__, make cull_zeroes available to all OptionCounters #5905
commit 66712bbd87a15f387ec4776515267a32c36bdb12
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:48:32 2026 +0100
APQuest: Switch to Rule Builder (#5906)
* CachedRuleBuilderWorld
* CachedRuleBuilderWorld
* APQuest Rule Builder finished
* Added comment
Add a rule to check if the player has a Sword to destroy bushes.
* Bump version + typo fix
* Update worlds/apquest/rules.py
Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com>
* Address Tchops' review comments
---------
Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com>
commit 5f9e38b78389278cfb3aa9cf2095455863b31937
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sat Apr 18 00:15:37 2026 +0000
Test: add test for unpickling NetUtils enums (#5326)
* Test: add test for unpickling NetUtils enums
This verifies that Utils.ByValue either works or is not required,
and once we drop ByValue, this validates that future Python
versions do not break our Enums again.
* Test: NetUtils enum switch to more direct pickle.dumps
It's probably better to use the direct interface in case
restricted_dumps does some funky stuff in the future.
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Test: NetUtils enum fix import for change
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
commit bdde2140b328f5d2e3683b60b714700f477b062c
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Apr 17 17:24:25 2026 -0600
Core: Remove worlds.generic.PlandoItem (#6035)
commit 42d24b4869ce5f5e1be34b6cb2202bd55aaa985f
Author: qwint <qwint.42@gmail.com>
Date: Fri Apr 17 18:23:19 2026 -0500
HK: add manifest (#6057)
commit 14aa6571de03743fe54e868589e5bf74eeaca566
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Apr 13 20:17:27 2026 +0000
WebHost: Fix: strict suuid converter (#6130)
* WebHost: disallow '=' and whitespace in SUUID and append the correct number of '='
This makes Room IDs unambiguous and avoids breaking if b64decode ever becomes strict.
* Tests, WebHost: add SUUID tests
* Tests, WebHost: add edge cases to SUUID tests
commit 37d32a10b1a1ae82876d87e2e4ca0fbbd8197abf
Author: sudo-nano <63484662+sudo-nano@users.noreply.github.com>
Date: Mon Apr 13 02:19:23 2026 -0700
Factorio: Improve English instructions (#5306)
commit 0ef2ed5b811afcc42de0525260439291ce962359
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Thu Apr 9 14:27:39 2026 -0500
Docs: fix misinformation in tests.md (#6125)
commit b7c4fcb4c64b798864f455428fb4fcd1aa780cae
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Wed Apr 8 15:35:43 2026 -0400
DKC3: Delete DKC3 (#6097)
commit bcd3f9a74cfa4f2d712ccc48ac231f3cf67adc35
Author: williamronn <wille.ronn@gmail.com>
Date: Tue Apr 7 22:16:39 2026 +0200
WebHost: 2025 to 2026 (#6094)
commit 62622351613d6e0feea5336fe75d565257fb6d54
Author: Trevor L <80716066+TRPG0@users.noreply.github.com>
Date: Tue Apr 7 14:15:47 2026 -0600
Bomb Rush Cyberfunk: Fix logic requirement increasing after collecting item (#6105)
commit 030cb4b578f57eba8d756f14193e47a2bc3780de
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Tue Apr 7 15:13:31 2026 -0500
Various Worlds: purge `world: MultiWorld` (#5973)
commit 36bab6f52a4faf9674261c0aae4c6c4dc46e2fd0
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Tue Apr 7 15:38:04 2026 -0400
Stardew Valley: 0.6.7 Day 1 fixes (#6098)
- The Shane and Sebastian Portrait filler items werent tagged properly.
- The Beach Farm adds one secretsanity check, so it needs to be in the allsanity preset
- The Allsanity preset is renamed to "Maxsanity" to encourage better defined terminology and Allsanity means something else
- The "All Random" preset has been removed entirely. It has been the cause of too many beginner footguns over the years. People can still achieve the effect manually, but at least they'll have to try a little bit to ruin their own experience.
commit e0cfef34076ff8b281e54975fda3587126f9fcd6
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sun Apr 5 11:50:17 2026 -0600
APWorld Builder: Add option to skip opening output folder (#5847)
commit bb2a775c050307558c14a70426ae93b7fadfbbb9
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Apr 3 23:52:27 2026 -0600
WebHost: Fix hosting with invalid worlds installed (#5648)
commit 427b147818fe200251a3d067bf490dfb8f7508f8
Author: palex00 <32203971+palex00@users.noreply.github.com>
Date: Wed Apr 1 22:43:14 2026 +0200
APQuest: Add Link to Poptracker Pack to Setup Guide (#6089)
* Update setup_en.md
* Update setup_de.md
commit 3f3c343fb3422ca53146a73e8ab4f863c957c44a
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Wed Apr 1 21:42:08 2026 +0100
APQuest: Fix focus issues (#6090)
* My best attempt at fixing focus issues on Android
* didn't mean to remove that
commit debe4cf035c7c15efe6fb95f72343af0d420c68c
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Wed Apr 1 10:18:42 2026 -0700
Pokemon Emerald: Bump version (#6083)
commit 68f25f4642b4f71e935a4de930f484cd4ccf2dfd
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Wed Apr 1 12:18:11 2026 -0500
MM3: Bump world version (#6088)
commit 3c4af8f43249f34633b4ba69af69f4ef851f9117
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Mar 31 19:55:52 2026 +0100
APQuest: Tap to move (#6082)
* Tap to move
* inputs
* cleanup
* oops
commit 5360b6bb3727505ce5987b1e1dff316f4d792574
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Mar 30 23:31:05 2026 +0100
The Witness: (Unbeatable seed) Ensure Desert Laser Redirection is required when the box is rotated (#5889)
* Unbeatable seed: 11 lasers + redirect when the box is rotated
* naming
commit 2ee20a3ac445a33e51bc160c073734de1fc4358f
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Mar 30 19:46:43 2026 +0000
CI: set permissions, update and pin actions, CodeQL for actions (#6073)
* CI: reduce default permissions to minimum
* CI: update pin actions
Most of them. CodeQL and action-gh-release is untouched for now.
Immutable actions and actions/* are pinned to version,
other actions are pinned to hash.
* CI: make use of archive: false in upload-artifact
also set compression level and error behavior for scan-build upload.
* CI: update codeql and enable scanning actions
commit c640d2fa249c3a01e6f56a336b60eb4a4c62e38f
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Mon Mar 30 12:19:10 2026 -0400
Rule Builder: Add field resolvers (#5919)
commit 58a6407040125cd90346dd2a523bc3d0f01f344f
Author: James White <james_white_d@hotmail.com>
Date: Mon Mar 30 16:27:10 2026 +0100
SMW: Prevent receiving your own traps while aliased (#5763)
commit ba7ca0bd2378175a6ebbe66d2e75c5c95c970660
Author: EdricY <EdricY@users.noreply.github.com>
Date: Mon Mar 30 08:25:25 2026 -0700
Options Creator: bind free text set_value to text instead of on_text_validate (#5915)
commit bdbf72f148be16aae62eb8d55c9e9fd87ea8ccb7
Author: Louis M <prog@tioui.com>
Date: Sun Mar 29 19:40:05 2026 -0400
Aquaria: Fixing bug where Urchin Costume is not a progression damaging item (#5998)
commit 2b46df90b44d62c11988ee792f37bd7b7351f262
Author: Jarno <jarnowesthof@gmail.com>
Date: Mon Mar 30 00:46:01 2026 +0200
Satisfactory: Fixed buildings missing from goal check (#5772)
commit 88dc1359600ca48c009e36b2f8109ac06be7f030
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sun Mar 29 23:32:06 2026 +0100
APQuest: Various fixes (#6079)
* Import Buffer from typing_extensions instead of collections.abc for 3.11 compat
* always re-set sound volumes before playing
* fix game window scaling if parent is vertical
* make default volume lower
commit 95f696c04f986909c57deade47406dfa731369e9
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sun Mar 29 16:19:54 2026 -0600
WebHost: Remove space before comma separators in tutorial authors (#5999)
* Remove space before comma
* Factorio authors update
* Simplify template
commit 96277fe9be7b072412454bfb8820a3b2cec366df
Author: el-u <109771707+el-u@users.noreply.github.com>
Date: Sun Mar 29 23:37:53 2026 +0200
lufia2ac: update CollectionRule import (#5936)
commit a7a7879df4e61bdb5c061ce72b3c7d60451cef9a
Author: XxDERProjectxX <114278502+XxDERProjectxX@users.noreply.github.com>
Date: Sun Mar 29 16:34:21 2026 -0500
Satisfactory: bug fix in __init__.py (#5930)
Solved indentation error to return to intended functionality
commit 773f3c4f089a60682c4791eff7f1f95d1bb5e055
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Sun Mar 29 17:25:46 2026 -0400
Super Mario Land 2: Fix Space Zone 2 Logic (#6025)
commit 139856a5731752bfdac22a5445422fb50d194b8d
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sun Mar 29 17:21:29 2026 -0400
Stardew Valley: Fixed an issue where some specific option combinations could create more items than locations (#6012)
* - Improved the dynamic locations count algorithm to take into account the nature of various heavy settings in both directions
* - Fixes from Code Review
* - We're only testing for sunday locations, might as well only take sunday locations in the list to test
* - One more slight optimization
* - Added consideration for bundles per room in filler locations counting
* - Registered some more IDs to handle items up to 10
commit a1ed8042674a5d0714391615cbdbe129fa8a881c
Author: Noa Aarts <noa@voorwaarts.nl>
Date: Sun Mar 29 23:20:24 2026 +0200
Stardew Valley: trimmed lucky purple shorts need gold to make (#6034)
The current logic only requires the shorts and a sewing machine, but a
gold bar is also necessary
commit 2d58e7953c0ba1092281f44b49dd5c55a385b9ee
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sun Mar 29 17:20:00 2026 -0400
Stardew valley: Four small fixes (#6055)
* - Fixed the Dr Seuss Bundle asking for tigerseye (mineral) instead of tiger trout (fish)
* - Made blue grass starter more consistent
* - Fragments of the past does not rely on ginger island
* - Removed legacy hard coded strange bun recipe that messed with chefsanity logic
commit 393ed51203c19b228bbccaa82826be97781e8c89
Author: Flit <8645405+FlitPix@users.noreply.github.com>
Date: Sun Mar 29 17:16:34 2026 -0400
Messenger: Require Wingsuit to traverse Dark Cave (#6059)
commit 03c9d0717bb1d8a9da416416fc5225beeda04c3c
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Sun Mar 29 22:12:25 2026 +0100
Muse Dash: Fix nondeterministic generation with include_songs (#6040)
The include_songs option is an OptionSet, whose value is a set, but was being iterated to produce self.included_songs. Sets are unordered and may have a different iteration order each time a python process is run. This meant that the order of the elements in self.included_songs could differ even when generating with a fixed seed.
This caused nondeterministic generation with the same seed because create_song_pool() deterministically randomly picks songs from self.included_songs, which could be in a different order each time, so different songs could be picked.
commit 5ca50cd8d34d9f42b2f8ad76c5bf64203a643cb4
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sun Mar 29 14:10:16 2026 -0700
Pokemon Emerald: Fix Latios KeyError (#6056)
commit 36cf86f2e8b2c91bc942a97dd5fdc1772707d1c8
Author: Sebastian <127998064+SebaCape@users.noreply.github.com>
Date: Sun Mar 29 15:18:03 2026 -0400
Docs: update macOS setup instructions for more specificity on Python version (#6078)
commit 1705620c4f37e86b8414aa3bf70d4fdd1ed29ded
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sun Mar 29 12:07:55 2026 -0600
Launcher: Add konsole to terminal list and rework launch dialog (#5684)
* Make component launching indicate if no terminal window, add konsole
* Attempt to spell better and remove whitespace
* Update terminal priority
* Make helper for clearing LD_LIBRARY_PATH
* Add handling to linux launch
* Hopefully fix setter
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit ffe4c6dd1504166bc96d99237d4177e80c6dc161
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sun Mar 29 17:44:29 2026 +0000
Core, Webhost: update and pin dependency versions (#6075)
commit cf47cc67c0683228a60b81b07ad7c8a96875bdfc
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sun Mar 29 17:43:26 2026 +0000
Clients: remove datapackage from persistent_storage ... (#6074)
... next time it gets written to.
This makes loading peristent_storage faster in the future.
commit 645f25a94e411509b5a5bdfad1810706dd66e8bd
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Sun Mar 29 12:29:37 2026 -0400
setup.py: add rule_builder.cached_world to included list (#6070)
commit 74f41e3733b9683d49a70c947926ff2f2a26b633
Author: qwint <qwint.42@gmail.com>
Date: Fri Mar 27 18:58:36 2026 -0500
Core: Make Generate.main only init logging on __main__ (#6069)
commit 4276c6d6b01542181b79ea4678b5e857fae3e86d
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Fri Mar 27 14:45:38 2026 -0700
sc2: Fixing random fill errors in unit tests (#6045)
commit 116ab2286ad95fe4a43fbc06247d4f0ba42e6e34
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sat Mar 28 03:36:36 2026 +1000
Muse Dash: Add support for Wuthering Waves Pioneer Podcast and Ay-Aye Horse (#6071)
commit fb45a2f87e392a7ea69daa33905b8aee3e83e19d
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Wed Mar 18 13:54:17 2026 -0400
Rule Builder: Fix count resolution when Oring HasAnyCount (#6048)
commit 2e5356ad05aa0af7585ecd047b1992a4e3103218
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Wed Mar 18 03:30:22 2026 +0100
Core: other resources guide (#6043)
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com>
commit 8457ff3e4bd3de154f9d191a2551eb1d916c9c41
Author: lepideble <147614625+lepideble@users.noreply.github.com>
Date: Mon Mar 16 15:17:54 2026 +0100
Factorio: only show fluid boxes on assembling machine 1 when the selected recipe needs fluids (#5412)
commit 70fc3e05fbacd1bb58d381d6820a9bdb8099d9db
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu Mar 12 02:48:45 2026 +0100
Webhost: port reuse fix & configurable max room timeout (#6033)
* WebHost: make autolauncher max room timeout configurable
* WebHost: launch rooms with assigned port first
commit d01c9577ab697855ff421fdc6a750fefdc30e4b0
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Wed Mar 11 16:46:59 2026 -0600
CommonClient: Add explicit message for connection timeout (#5842)
* Change timeout and add timeout-specific message
* Revert open_timeout
commit 260bae359de479348974ad587d696c5bfa8482b5
Author: qwint <qwint.42@gmail.com>
Date: Wed Mar 11 15:37:00 2026 -0500
Core: Update .gitignore to include an exe setup.py downloads (#6031)
commit 3016379b85efdb336a25f82c146933476380f62d
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue Mar 10 22:06:44 2026 +0000
KH2: Fix nondeterministic generation when CasualBounties is enabled (#5967)
When CasualBounties was enabled, the location names in
`exclusion_table["HitlistCasual"]` would be iterated into
`self.random_super_boss_list` in `generate_early`, but
`exclusion_table["HitlistCasual"]` was a `set`, so its iteration order
would vary on each generation, even with same seed.
Random location names would be picked from `self.random_super_boss_list`
to place Bounty items at, so different locations could be picked on each
generation with the same seed.
`exclusion_table["Hitlist"]` is similar and was already a `list`,
avoiding the issue of nondeterministic iteration order, so
`exclusion_table["HitlistCasual"]` has been changed to a `list` to
match.
commit 03b638d027edc7a5844d05bd99242ba4c3b140e0
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Tue Mar 10 19:49:47 2026 +0000
Docs: Reword 'could be generated from json' to avoid encouraging slow world loads (#5960)
commit 3c802d03a1423320ac454c4f05e23dd4e2a304fe
Author: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
Date: Tue Mar 10 15:11:23 2026 -0400
DS3: Use remaining_fill instead of custom fill (#4397)
---------
Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com>
commit a8e926a1a9dad779599c855da3ed74d528638ba2
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue Mar 10 19:08:20 2026 +0000
Core: Make Generic ER only consider the current world in isolation (#4680)
commit 56c2272bfd7921bd1f42577583295ffd053589e3
Author: Rjosephson <ryandj67@hotmail.com>
Date: Tue Mar 10 13:05:59 2026 -0600
RoR2: Seekers of the Storm (SOTS) DLC Support (#5569)
commit 47e581bc306e1ffd80ef0293cceb58a2372f6836
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Tue Mar 10 20:04:27 2026 +0100
LttP: add manifest (#6005)
commit 3235863f2e759d7eeeaabdfba4edd96de42cd12b
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Tue Mar 10 18:57:04 2026 +0000
WebHost: add stats show cli command (#5995)
Usage: flask -A "WebHost:get_app()" stats show
Currently only shows sum and top10 biggest games packages.
commit f00d29e07203518bae5d87f463284830b36f8ff4
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Tue Mar 10 18:56:23 2026 +0000
Tests: fix race in test hosting shutdown (#5987)
commit d000c0f265c1f184df2cf44e193d98387dc34d05
Author: Gryphonlady <gryphonlady1@gmail.com>
Date: Tue Mar 10 13:23:25 2026 -0500
Docs: Update plando_en.md with item group example (#6024)
* Update plando_en.md with item group example
Added example YAML block for item placement using an item group, including recommendation of use of `true` value with item groups to avoid unintended behaviors, with an example of the same. Adjustments more than welcome!
* Made clarifying revision to description of Generator handling of item groups
Clarified the behavior of the Generator regarding item creation when item groups are used in plando.
commit 94136ac223b88a3b82d13c6205cb0603496f9f77
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Tue Mar 10 12:18:03 2026 -0600
Docs: Add references to running from source (#6022)
commit 72ff9b1a7dace3063f95023a14f251362a9b9d29
Author: LeonarthC…
hasherwi
added a commit
to hasherwi/Archipelago-kirbyam
that referenced
this pull request
Oct 11, 2026
* Muse Dash: Add support for Wuthering Waves Pioneer Podcast and Ay-Aye Horse (ArchipelagoMW#6071) * sc2: Fixing random fill errors in unit tests (ArchipelagoMW#6045) * Core: Make Generate.main only init logging on __main__ (ArchipelagoMW#6069) * setup.py: add rule_builder.cached_world to included list (ArchipelagoMW#6070) * Clients: remove datapackage from persistent_storage ... (ArchipelagoMW#6074) ... next time it gets written to. This makes loading peristent_storage faster in the future. * Core, Webhost: update and pin dependency versions (ArchipelagoMW#6075) * Launcher: Add konsole to terminal list and rework launch dialog (ArchipelagoMW#5684) * Make component launching indicate if no terminal window, add konsole * Attempt to spell better and remove whitespace * Update terminal priority * Make helper for clearing LD_LIBRARY_PATH * Add handling to linux launch * Hopefully fix setter * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Docs: update macOS setup instructions for more specificity on Python version (ArchipelagoMW#6078) * Pokemon Emerald: Fix Latios KeyError (ArchipelagoMW#6056) * Muse Dash: Fix nondeterministic generation with include_songs (ArchipelagoMW#6040) The include_songs option is an OptionSet, whose value is a set, but was being iterated to produce self.included_songs. Sets are unordered and may have a different iteration order each time a python process is run. This meant that the order of the elements in self.included_songs could differ even when generating with a fixed seed. This caused nondeterministic generation with the same seed because create_song_pool() deterministically randomly picks songs from self.included_songs, which could be in a different order each time, so different songs could be picked. * Messenger: Require Wingsuit to traverse Dark Cave (ArchipelagoMW#6059) * Stardew valley: Four small fixes (ArchipelagoMW#6055) * - Fixed the Dr Seuss Bundle asking for tigerseye (mineral) instead of tiger trout (fish) * - Made blue grass starter more consistent * - Fragments of the past does not rely on ginger island * - Removed legacy hard coded strange bun recipe that messed with chefsanity logic * Stardew Valley: trimmed lucky purple shorts need gold to make (ArchipelagoMW#6034) The current logic only requires the shorts and a sewing machine, but a gold bar is also necessary * Stardew Valley: Fixed an issue where some specific option combinations could create more items than locations (ArchipelagoMW#6012) * - Improved the dynamic locations count algorithm to take into account the nature of various heavy settings in both directions * - Fixes from Code Review * - We're only testing for sunday locations, might as well only take sunday locations in the list to test * - One more slight optimization * - Added consideration for bundles per room in filler locations counting * - Registered some more IDs to handle items up to 10 * Super Mario Land 2: Fix Space Zone 2 Logic (ArchipelagoMW#6025) * Satisfactory: bug fix in __init__.py (ArchipelagoMW#5930) Solved indentation error to return to intended functionality * lufia2ac: update CollectionRule import (ArchipelagoMW#5936) * WebHost: Remove space before comma separators in tutorial authors (ArchipelagoMW#5999) * Remove space before comma * Factorio authors update * Simplify template * APQuest: Various fixes (ArchipelagoMW#6079) * Import Buffer from typing_extensions instead of collections.abc for 3.11 compat * always re-set sound volumes before playing * fix game window scaling if parent is vertical * make default volume lower * Satisfactory: Fixed buildings missing from goal check (ArchipelagoMW#5772) * Aquaria: Fixing bug where Urchin Costume is not a progression damaging item (ArchipelagoMW#5998) * Options Creator: bind free text set_value to text instead of on_text_validate (ArchipelagoMW#5915) * SMW: Prevent receiving your own traps while aliased (ArchipelagoMW#5763) * Rule Builder: Add field resolvers (ArchipelagoMW#5919) * CI: set permissions, update and pin actions, CodeQL for actions (ArchipelagoMW#6073) * CI: reduce default permissions to minimum * CI: update pin actions Most of them. CodeQL and action-gh-release is untouched for now. Immutable actions and actions/* are pinned to version, other actions are pinned to hash. * CI: make use of archive: false in upload-artifact also set compression level and error behavior for scan-build upload. * CI: update codeql and enable scanning actions * The Witness: (Unbeatable seed) Ensure Desert Laser Redirection is required when the box is rotated (ArchipelagoMW#5889) * Unbeatable seed: 11 lasers + redirect when the box is rotated * naming * APQuest: Tap to move (ArchipelagoMW#6082) * Tap to move * inputs * cleanup * oops * MM3: Bump world version (ArchipelagoMW#6088) * Pokemon Emerald: Bump version (ArchipelagoMW#6083) * APQuest: Fix focus issues (ArchipelagoMW#6090) * My best attempt at fixing focus issues on Android * didn't mean to remove that * APQuest: Add Link to Poptracker Pack to Setup Guide (ArchipelagoMW#6089) * Update setup_en.md * Update setup_de.md * WebHost: Fix hosting with invalid worlds installed (ArchipelagoMW#5648) * APWorld Builder: Add option to skip opening output folder (ArchipelagoMW#5847) * Stardew Valley: 0.6.7 Day 1 fixes (ArchipelagoMW#6098) - The Shane and Sebastian Portrait filler items werent tagged properly. - The Beach Farm adds one secretsanity check, so it needs to be in the allsanity preset - The Allsanity preset is renamed to "Maxsanity" to encourage better defined terminology and Allsanity means something else - The "All Random" preset has been removed entirely. It has been the cause of too many beginner footguns over the years. People can still achieve the effect manually, but at least they'll have to try a little bit to ruin their own experience. * Various Worlds: purge `world: MultiWorld` (ArchipelagoMW#5973) * Bomb Rush Cyberfunk: Fix logic requirement increasing after collecting item (ArchipelagoMW#6105) * WebHost: 2025 to 2026 (ArchipelagoMW#6094) * DKC3: Delete DKC3 (ArchipelagoMW#6097) * Docs: fix misinformation in tests.md (ArchipelagoMW#6125) * Factorio: Improve English instructions (ArchipelagoMW#5306) * WebHost: Fix: strict suuid converter (ArchipelagoMW#6130) * WebHost: disallow '=' and whitespace in SUUID and append the correct number of '=' This makes Room IDs unambiguous and avoids breaking if b64decode ever becomes strict. * Tests, WebHost: add SUUID tests * Tests, WebHost: add edge cases to SUUID tests * HK: add manifest (ArchipelagoMW#6057) * Core: Remove worlds.generic.PlandoItem (ArchipelagoMW#6035) * Test: add test for unpickling NetUtils enums (ArchipelagoMW#5326) * Test: add test for unpickling NetUtils enums This verifies that Utils.ByValue either works or is not required, and once we drop ByValue, this validates that future Python versions do not break our Enums again. * Test: NetUtils enum switch to more direct pickle.dumps It's probably better to use the direct interface in case restricted_dumps does some funky stuff in the future. Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Test: NetUtils enum fix import for change --------- Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * APQuest: Switch to Rule Builder (ArchipelagoMW#5906) * CachedRuleBuilderWorld * CachedRuleBuilderWorld * APQuest Rule Builder finished * Added comment Add a rule to check if the player has a Sword to destroy bushes. * Bump version + typo fix * Update worlds/apquest/rules.py Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> * Address Tchops' review comments --------- Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> * Options: Add more Option unit tests, add generic Option.__eq__, make cull_zeroes available to all OptionCounters ArchipelagoMW#5905 * The Witness: Make "Early Good Item" an OptionSet allowing Symbols, Doors and Obelisk Keys (ArchipelagoMW#3804) * New solution to that plando issue * better * Another warning * better comment * Best of both worlds I guess? * oops * Smarter code reuse * better comment * oop * lint * mypy * player_name * add unit test * oh * Rebrand time baby * This fits on one line * oop * Update worlds/witness/__init__.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * mypy * Reorganize some doors according to medic's suggestions * This should make it much faster (Thanks Medic) * Town Doors works because of Church being a check always, Church Entry feels really bad tho * Only add Desert Entry if there are no control panels stopping you * No overlap here, so why is it a set * Idk everything's kinda good without symbol shuffle * Just make sure, I guess * This makes way more sense doesn't it * Oh, this is probably important * oop * loc * oops 2 * ruff * that was already in there * Change the door picking a bit further * some renaming * slight wording change * Fix * Move it all to a new file * ruff * mypy * . * Make sure we're only adding as many tutorial checks as necessary * ruff * These checks aren't necessary, as the final list gets culled to only existing items anyway. It saves CPU cycles, but this is nicer for future compatibility * Special handling for caves shortcuts * 120 chars * Update worlds/witness/place_early_item.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Clean up Windmill & Theater cases * Make early_symbol_item removed instead * Add early_good_item to presets * replace double None checks with casts * That doesn't exist anymore * Mypy thing * Update the doors again a bit * Pycharm pls * ruff * forgot one * oop * Is it finally right? * Update options.py * Fix with new Panel Keys * Hopefully fix crash when one of the types runs out when the others haven't yet * oops * Medic suggestion * unused import * Update place_early_item.py * Update __init__.py * Update __init__.py * Update options.py * Add possible types to option desc * Make that include all Tutorial (Inside) checks * Update __init__.py * Update test_early_good_item.py * Update test_early_good_item.py * Slight cleanup * fix no tutorial locations being picked up by tutorial location size check --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * APQuest: Fix Easy Mode boss having too much health to beat (ArchipelagoMW#6146) * Change the boss' health to 2 in easy mode, adjust boss graphics to reflect this behavior * graphics formatting * The Witness: More control over progressive symbols (ArchipelagoMW#3961) * More control over progressive symbols! * Cleanup crew * lol * Make it configurable how second stage items act on their own * only let independent symbols work if they're not progressive * revert defaults * Better description * comment for reviewers * A complicated docstring for a complicated function * More accurate * This probably works more generically * Actually, this would cause other issues anyway, so no need to make this generic yet * :/ * oops * Change the system to use collect/remove override so that plando and start inventory work correctly * Vi stop doing that thing challenge * Make SecondStateSymbolsActIndependently an OptionSet * jank * oop * this is why we make unit tests I guess * More unit tests * More unit tests * Add note about the absence of Rotated Shapers from the independent symbols optionset * More verbose description * More verbose description * slight reword * Ruff ruff :3 I am a good puppy <3 * Remove invis dots * oops * Remove some unused symbols * display name * linecounting -> discard * Make all progressive chains always work * Unfortunately, this optimisation is now unsafe with plando :( * oops * This is now a possible optimisation * optimise optimise optimise * optimise optimise optimise * fix * ruff * oh * fixed frfr * mypy * Clean up the tests a bit * oop * I actually like this better now, so I'm doing it as default * Put stuff on the actual item class for faster collect/remove * giga oops * Make proguseful work * None item left beef * unnecessary change * formatting * add proguseful test to progressive symbols tests * add proguseful test to progressive symbols tests * clean up collect/remove a bit more * giga lmfao * Put stuff in option groups * Add the new symbol items to hint system * bump req client version * fix soft conflict in unit tests * fix more merge errors * CI: update softprops/action-gh-release to v3.0.0 (ArchipelagoMW#6162) The update will be required once GH drops support for Node 20. Also enables new options the action has now. * Factorio: move communication savegame to user dir (ArchipelagoMW#5646) * Rule Builder: Fix rule hash collisions (ArchipelagoMW#6169) * fix rule hash collisions * just let the dict do the work * Generate: Added "quantity" option for player yamls to use multiple times a single yaml (ArchipelagoMW#4948) * Added option for player yamls. * Extended documentation * Minimized value extraction. * Added allow_quantity option to host.yaml * Added option for player yamls. * Extended documentation * Minimized value extraction. * Added allow_quantity option to host.yaml * Update settings.py Co-authored-by: qwint <qwint.42@gmail.com> * Update Generate.py Co-authored-by: qwint <qwint.42@gmail.com> * Added allow_quantity as application argument. * Quantity > 1, allow_quantity = false -> error instead of silent 1 * Added check for quantity <= 0; reverted settings import change * Update Generate.py --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * MMBN3: Add spaces in concatenated string#5689 * lufia2ac/docs: fix some errors (ArchipelagoMW#5618) Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com> * SML2: Send logic affecting randomiser options as slot_data (ArchipelagoMW#5751) * Send logic affecting randomiser options as slot_data * SML2 - Universal Tracker support * Remove debug logs * Only check generation_is_fake once --------- Co-authored-by: alchav <alchav@jalchavware.com> * Docs: added an italian translation of the setup guide for Muse Dash (ArchipelagoMW#5834) * Create setup_it.md Created an italian translation of the setup for muse dash. I could not find direct references to translating a setup so I am assuming this is the correct way to submit a translation. While I am a native in italian and I would consider myself fluent in english, I am not a translator so mistakes could have been made. * Update __init__.py * sm64ex: Recommend Flatpak for Linux users (ArchipelagoMW#5897) * Pokemon RB: Fix mutating global item_groups in get_filler_item_name() (ArchipelagoMW#5947) The `banned_items` variable was the `"Unique"`list within the `item_groups` global. `get_filler_item_name()` could then mutate `banned_items` through `banned_items.append("Poke Doll")` and `banned_items += item_groups["Vending Machine Drinks"]`, causing the contents of the `item_groups` global to be mutated. This has been fixed by making `banned_items` a shallow copy of `item_groups["Unique"]`. * Docs: Add a warning to world api.md#events that you want StatusUpdate, not events, for actually sending the goal (ArchipelagoMW#5957) * AHIT: Update FAQ in setup guide (ArchipelagoMW#5975) * Docs: Mention APQuest as a reference (ArchipelagoMW#6000) The APQuest implementation of an APWorld is incredibly useful and should really have a mention here. * Docs: Make RB OptionFilter docs clearer (ArchipelagoMW#6028) * add more docs for option filters * reword the whole things * style guide * LADX: doc update (ArchipelagoMW#6050) * update gfxmod doc * romless generation * Update setup_en.md Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> --------- Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> * Jak1: yamlless UT support (ArchipelagoMW#6066) * KH2: Update setup_en.md (ArchipelagoMW#6129) * Docs: Rule Builder Filtered Example Fix (ArchipelagoMW#6152) * MultiServer: update help doc on auto_shutdown#5917 * Docs: Rewrite get_filler_item_name's docstring to avoid implying it's for filling all unfilled locations ArchipelagoMW#5956 * The Messenger: Add missing rules for Key of Strength#6124 * The Messenger: Add missing indirect conditions (ArchipelagoMW#6101) * Docs: Add missing space to plando doc ArchipelagoMW#6060 * Terraria: fix failing to generate with Calamity enabled and full accessibility on Mechanical Bosses goal ArchipelagoMW#5787 * Undertale: Handle zero arg /auto_patch (ArchipelagoMW#5130) * Muse Dash: Update to DASH AND SHOOT (ArchipelagoMW#6163) * ALttP: Fix starting mail and shield equipment from start inventory (ArchipelagoMW#6154) * WebHost: Add deletion of old content to cleanup function (ArchipelagoMW#6119) --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Options: make template generation log the failing world if one fails (ArchipelagoMW#6176) * Launcher: display window for failed world loads if any (ArchipelagoMW#6058) * Options: Remove the "" from the start inventory examples (ArchipelagoMW#6165) --------- Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> * Super Mario 64: Basic testing (ArchipelagoMW#4335) --------- Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * Blasphemous: Increase logic performance (ArchipelagoMW#4585) --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * WebHost: Fix adding weighted text options (ArchipelagoMW#5116) * Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (ArchipelagoMW#5738) --------- Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Rule Builder: Implement AtLeast (ArchipelagoMW#6085) --------- Co-authored-by: Ian Robinson <ianronrobinson@gmail.com> * Pokemon Emerald: Switch to rule builder (ArchipelagoMW#5923) * Core: Make manifest accessible as a world attribute (ArchipelagoMW#6122) * WebHost: Add authors to supported games page (ArchipelagoMW#6123) * CommonClient: Make hint cost (shown in server label) update (ArchipelagoMW#6149) * A Link to the Past: We Have Enemizer at Home (ArchipelagoMW#6153) * Muse Dash: Convert to Rule Builder (ArchipelagoMW#6166) --------- Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * KH2: fix ice cream double counting for logic (ArchipelagoMW#6068) * Factorio: Remove the need to have two separate installs (ArchipelagoMW#4221) * Settings: validate FilePath hash on use (ArchipelagoMW#5854) * Stardew Valley: Bypass CollectionState overhead by just calling prog_items (ArchipelagoMW#6065) * SM64: Change power star item classification to be deprioritized (ArchipelagoMW#6191) * The Messenger: Fix portal shuffle logic not using unlocked portals (ArchipelagoMW#6194) * Core: reset log level when using pyximport (ArchipelagoMW#6212) * Core: Bump version from 0.6.7 to 0.6.8 (ArchipelagoMW#6114) * Factorio: Locale changes (ArchipelagoMW#5908) --------- Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl> Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com> * Bump mistune from 3.2.0 to 3.2.1 in /WebHostLib (ArchipelagoMW#6185) Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1. - [Release notes](https://github.com/lepture/mistune/releases) - [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst) - [Commits](lepture/mistune@v3.2.0...v3.2.1) --- updated-dependencies: - dependency-name: mistune dependency-version: 3.2.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Muse Dash: Update to Touhou Mugakudan -V- (ArchipelagoMW#6234) * Rule Builder: Resolve empty and() to True_() instead of False_()(ArchipelagoMW#6239) * Core+RB: Make has_from_list, has_from_list_unique, has_group and has_group_unique return True if count <= 0 and list is empty (ArchipelagoMW#6240) * Factorio: Fixed a needlessly small bug that does not affect gameplay (ArchipelagoMW#6147) * WebHost: fix Authors on supported game page (ArchipelagoMW#6218) * WebHost: Config option for custom port ranges v2 (ArchipelagoMW#6009) * Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Updated soft-fail message * Removed dead import from customserver.py * Update requirements.txt Settings requirements to main core branch * fix what reviewers said and add some improvements * remove unused argument * try fixing test with try * use yaml lists instead of string for config * fix value type bug on ephemeral type * reuse sockets with websockets api instead of opening and closing them * add used ports cache and filter used ports when looking for ports * fix port randomizer * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * fix some reviews * use weights for random port and remove more-itertools * fix net_connections not working on macOS * rename variables and functions * lazy init `get_used_ports` * change `game_ports` to be `tuple` * fix last_used_ports not being updated locally * fix random choices and move game_port conversion into tuple * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * use a named tuple on parse_game_ports * only use ranges * do it the duck way * this should check all usable ports before failing * fix while loop * add return type to weighted random * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * simplify tuple conversion check * add tests * reformat file and change `create_random_port_socket` test * add more test cases for parse_game_ports * try to prevent busy-looping on create random port socket when doing test * simplify parse game port tests to one assertListEqual * make the range lesser for port test * reduce range on macOS * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * remove unused import * Update WebHostLib/customserver.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * use generator expressions * check for 0-tuple * use some kind of shuffled queue * update tests * refactor new port handling into a class (#1) * change time to monotonic * Update docs/webhost configuration sample.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * add psutil 7.2.2 as requirement * Update WebHostLib/requirements.txt Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: Lexipherous <jasonnlelong@gmail.com> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Core: typing and cleaning, mostly in `Fill.py` (ArchipelagoMW#4459) * Core: typing and cleaning, mostly in `Fill.py` * fix typing of things we get out of plando blocks * clean getting multiworld from kwargs add a list type clean indentation * fix issues with merge conflict resolution * some things found after merge * ModuleUpdate: Add core requirements.txt as a constraint file to pip calls (ArchipelagoMW#6309) * Add core requirements.txt as a constraint file to pip calls * remove --upgrade as requested * Update ModuleUpdate.py * Gauntlet Legends: Implement New Game (ArchipelagoMW#3499) * Update GauntletLegendsClient.py * Continuation of obelisk update * APPP Implementation Groundwork. * Continuation of APPP Implementation * Create Pain.asm * ROM verification modified since crc32 hash can no longer be calculated. * Initial upload of barrel/chest locations. * Finished adding and naming all chests/barrels. * Continued locations. * Added new yaml options * Work on mirror shards * Python 3.8 compatibility * Finalized location names. Fixed lambda bug. * v1.0 * Removed excess Docs and Changed item counts. * Update Archipelago Unittests.run.xml * Started working on Docs. * Updated item arrays for client * Fix client bugs * Flake8 fixes + Yaml fix * Update speed boots * v1.1 * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * v1.0.4 * Initial Ruff format * Formatting part-2 * More formatting + Doc changes * Updated Docs * Move client to root * Update Client Name * Make Imports Relative * Add new yaml options + rename obelisks * v1.1 Initial Upload * v1.1.0 + some additions * Client Update * Client Updates * pre-v1.1.1 * Update GauntletLegendsClient.py * pre-1.2 * 1.2.0 * v1.2.1 * Client fixes * v1.3.0 * v1.4.0 * v1.4.1 * Merged Changes * Experimental * pre-v1.5.0 * Changes * v1.5.0 * Update GauntletLegendsClient.py * Death Update * pre v1.5.1 * Obelisk rule changes * pre-v1.5.1 * Update GauntletLegendsClient.py * v1.5.1 * v1.5.1 * Update GauntletLegendsClient.py * Small fix * Update GauntletLegendsClient.py * v1.5.2 * pre-v1.6.0 * pre-v1.6.0 * v1.6.0 * Update * Update GauntletLegendsClient.py * Test * pre-v1.6.0 * Client Updtaes * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update Rom.py * Update GauntletLegendsClient.py * Update Rom.py * Added Logging on stage enter * v1.6.2 * v1.6.2 * Update Rom.py * Update GauntletLegendsClient.py * v1.6.3 * Small Update * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Changes ready for review * Update Rom.py * Remove root client * Update inno_setup.iss * Update client * Initial Review Refactor * Update Arrays.py * Review refactor * Update __init__.py * Small tweaks after test generations * Update GauntletLegendsClient.py * Implement new check_locations() function * Add name for Skorn to level_names Dict * Fix for ArchipelagoMW#4671 * Update __init__.py * Adjust item frequency + Place 50% of filler as local * Oops I modified the itempool after create_items teehee * Update __init__.py * Check MD5 hash before patching ROM * Update __init__.py * Fix get_filler_item_name() * Update MD5 check to built in method in FilePath * Update Rom.py * Update worlds/gl/Rom.py Co-authored-by: qwint <qwint.42@gmail.com> * WIP Generation fixes * v1.7.1 * Update Archipelago Unittests.run.xml * 0.7.2 * Update GauntletLegendsClient.py * Review Edits * Update World description * Fuzz fixes * Update GauntletLegendsClient.py * Make static data immutable * Update option comparisons since no longer a Choice * Update worlds/gl/Rom.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Update __init__.py * Initial Update commit * Progress * Remove un-used import + Add manifest * Add missing docstring for client command * Progress * pre-v2.0.0-BETA * Updates * Progress * Working Generations * Working IN-Game * v2.0.0-BETA * Create archipelago.json * v2.0.1 * v2.0.1 FINAL * pre v2.0.2 * Delete report.json * Cleanup * pre v2.0.2 * v2.0.2 * PR Ready * Update Items.py * Delete fuzz.py * Update Items.py * Update GauntletLegendsClient.py * Fix scouting disabled locations * Client Updates * v2.0.3 * Increment World Version * Docstring + slot_data updates * Option name update + Remove redundant option * Code Cleanup * Trenches is level 24 * Frequencies * More cleanup and removal of stale code. MISSING BASEPATCH * v2.1.0 * Minor enemy changes * Small fix * Update Rom.py * v2.1.1 * Small fixes * Update basepatch.bsdiff4 * Update GauntletLegendsClient.py * Socket error clarity * Delete settings.local.json * Update GauntletLegendsClient.py * v2.1.2 fixes * Boss portal fix * Small client fix + Item Frequencies * Update archipelago.json * Fix for games playing with max difficulty lower than 4 not sending locations * Update archipelago.json * v2.1.5 * Fix for Chimera's lair mirror shard * Update archipelago.json * Mod Re-Base + Queue limits + Item Receiving fixes * Options cleanup and newlines for some files * Include v2.x features in docs * Make sure players has at least 1 item * v2.1.6 * Update archipelago.json * Review Edits + Client Tweaks --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * WebHost: Bump mistune from 3.2.1 to 3.3.0 in /WebHostLib ArchipelagoMW#6324 * Core: Allow running unit tests scoped to specific worlds (ArchipelagoMW#6290) This allows the unit tests to be run on specific worlds only, it works by using an environment variable AP_TEST_WORLDS which is a comma separated list of world directories. * Core: fix Set import (ArchipelagoMW#6235) mistake made in pr ArchipelagoMW#5048 ArchipelagoMW#5048 (comment) * Core: Adjust YAML error message to clarify the name is not the cause of the error (ArchipelagoMW#6267) * Docs: add guidance for choosing minimum/maximum_ap_version (ArchipelagoMW#6265) * Core: Pre Output Steps Log (ArchipelagoMW#6047) * Core: Add parameter to visualize_regions to display Rule Builder explanations on exits (ArchipelagoMW#6184) Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Launcher: Loading Screen (ArchipelagoMW#6115) * Launcher: fix world import ordering conflict between ArchipelagoMW#6115 and ArchipelagoMW#6058 * Launcher: Delete unused functions (ArchipelagoMW#6332) These were moved to LauncherComponents in ArchipelagoMW#6115, but due to a bad merge resolution, the originals were left behind. * RuleBuilder: Optimize Has("Item", 0) (ArchipelagoMW#6228) * Unittests: allow running unittests for specific worlds when using unittest runner (ArchipelagoMW#6338) * Build APWorlds: fix moved import (ArchipelagoMW#6343) * SC2: Disabling UT as it doesn't work (ArchipelagoMW#6346) * Tests: Force race mode off in test_generate_yaml (ArchipelagoMW#6349) * Core: update platformdirs (ArchipelagoMW#6328) * The Messenger: Fix shop price not correctly handled by UT (ArchipelagoMW#6340) * Starcraft 2: item pool reduction overcounting fix (ArchipelagoMW#6318) * Starcraft 2: Moving pool filter to use a counter instead of a dict (ArchipelagoMW#6366) * Core: remove per_slot_randoms and DeprecateDict (ArchipelagoMW#6186) * ALTTP: Reflowed headers in docs and explicitly added what client is used. (ArchipelagoMW#5758) * MultiServer: Update hint_points when hint cost or check points is changed (ArchipelagoMW#6219) * Setup: bump cx-Freeze to fix frozen linux shortcuts (ArchipelagoMW#6365) * The Messenger: Various small logic fix (ArchipelagoMW#6337) * Options: add typing and remove unnecessary deepcopy call in OptionCounter (ArchipelagoMW#6321) Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Factorio: Locale fixes (ArchipelagoMW#6237) * Core: Fix Open Patch (ArchipelagoMW#6356) * ALttP: Fix Randomzie Enemy Damage (ArchipelagoMW#6296) * CommonClient: Ignore invalid deathlink packets (ArchipelagoMW#6376) * Core: limit depth of received JSON to 16 (ArchipelagoMW#6378) * Core: limit depth of received JSON to 16 This applies to both MultiServer and CommonClient. This means DataStorage default is limited to 14 levels, DataStorage op arg is limited to 13 levels. * Core: fix JSON depth limit check for escape codes * Core: cythonize JSON depth limit check * Core: Add helper for unescape kivy strings + cleanup its usages (ArchipelagoMW#6023) * Jak and Daxter: Update client to use PME 2.0.x. (ArchipelagoMW#6393) * CommonClient: Match ServerLabel's team to other UIs (ArchipelagoMW#5875) * HK: Various silly fixes (ArchipelagoMW#6276) * BizHawkClient: Fix compatibility for Lua 5.5+ (ArchipelagoMW#6200) * CommonClient: reset session state when connecting to a different room or slot (ArchipelagoMW#6231) * MultiServer: reject None targets on Bounce and validate types before sending Bounced (ArchipelagoMW#6397) * MultiServer: Allow "and" chaining of Bounce packet conditions & add teams support (ArchipelagoMW#3845) * Allow 'and' concatenation of bounce packet conditions * Docs + small change * Docs stuff * update Bounced as well * lol * shadowing issue * Slight rework to allow teams * teams note * Make the PR ready * docs further up too * Let's not do this actually * Use operator & don't redefine functions * team default * remove unnecessarily added whitespace * The Witness: Universal Tracker support + Clean up which options actually need to be in slot_data (ArchipelagoMW#5503) * Re-gen with UT + slim slot_data slightly * make use of relevance in ut code * That's not how enums work * fixup * more ut compat * more ut fixup * more ut fixup * utils entity hex fixup * Me when I lie * Update options.py * APQuest: Reimplement Dijkstra by hand (so that it is LLM-free again) (ArchipelagoMW#6315) * reimplement Dijkstra by hand * make it so that the player faces the breakable object even if they can't break it * ruff * The Messenger: Remove connection from Climb Shop to Rocket Maze Checkpoint - ArchipelagoMW#6258 * Civ6: Update BOOST_TECH_CASTLES (ArchipelagoMW#6270) Replaced 8 slot government techs with 6 slot * Stardew Valley: Rebalanced a dozen or so meme bundles (ArchipelagoMW#6214) * Tests: remove exception for LADX in test_itempool_not_modified (ArchipelagoMW#6390) * Stardew Valley: Fixed filler buffs only rolling one of each instead of as many as needed (ArchipelagoMW#6293) * KH2: Prevent the client from crashing if the player duplicated items (ArchipelagoMW#6210) * Subnautica: Handle empty filler item weights with specific error (ArchipelagoMW#6361) * Core: Update PlandoConnection.Direction to use StrEnum (ArchipelagoMW#5801) * Satisfactory: Fix broken links on the Setup guide (ArchipelagoMW#6110) * KH2: Make Lucky Emblems behave like bounties and keyblade stats (ArchipelagoMW#6190) Swap the amount required and avaiable if required is more than avaiable instead of making avaiable equal required * Launcher: Show error message when world fails to load during install (ArchipelagoMW#6292) * Core: Fix loading of worlds installed in launcher (ArchipelagoMW#6319) * Stardew Valley: Reorganise option groups and visibility a little bit (ArchipelagoMW#6224) * Stardew Valley: Apworld Version To 7.4.25 (ArchipelagoMW#6407) * stardew valley: use /explain from universal tracker instead of stardew valley client (ArchipelagoMW#6241) * Wargroove: Add item groups (ArchipelagoMW#6254) * Stardew Valley: Fixed Artifact spot logic (ArchipelagoMW#6213) * Test: flask duplicate route is now a ValueError (ArchipelagoMW#6380) * Wargroove: actually import Items (ArchipelagoMW#6422) * Terraria: transfer maintainership to Desperandos (ArchipelagoMW#6170) * BHC: don't override --connect when manifest has empty server (ArchipelagoMW#6435) * Tests: Remove unneeded world exclusions (ArchipelagoMW#6396) * MMBN3: Handle timeouts on dual stack networks by catching OSError (ArchipelagoMW#6301) * MultiServer: Correct Bounce Target logic, add unit tests (ArchipelagoMW#6417) * Correct Bounce Target logic, write unit tests tmp * that is not correct * What was I smoking * explicitly document None * What was I smoking * fix weakref syntax * ruff * fix magicmoc * Address Berserker's comments * comment * consistently use self.assertEqual * make slot 2 on team 3 not use deathlink to test different tags for the same slot on different teams * Improve error message * The Wind Waker: fix sending already checked and non-existing locations (ArchipelagoMW#6410) * Kingdom Hearts 2: fix sending already checked locations (ArchipelagoMW#6411) * SM64: Disable default tests for flaky move rando options (ArchipelagoMW#6457) * docs: apquest: make it clear that launcher components are optional (ArchipelagoMW#6288) * Make it clear that launcher components are optional * Update comment for clarity on launcher components * Launcher: fix for more terminal on linux (ArchipelagoMW#6436) * Add check for cosmic terminal and use different arguments if so * Changed check for terminal to be strictly against executable name instead of path based on this comment ArchipelagoMW#6436 (comment) * Add `ptyxis` to list of moddern terminals Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Changed `-e` terminal launch method to use `sh` This standardizes the environment in which archipelago components launch and fixes launching with `zutty` * Properly import pathlib * Added comment detailing what `modern_terminals` is * Refactored launching in terminal to new function in utils * Optimised imports in Launcher.py * Revert "Refactored launching in terminal to new function in utils" This reverts commit 4336798. * Fixed unintentional cleanup in Utils.py * Simplify check for terminals Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Fully import pathlib * Fix spelling mistake * added gnome-terminal to list of modern_terminals * added cosmic-term and ptyxis as fallback terminals * Changed terminal search to add more terminal names easier also included `alacritty` and `kitty` * Check xterm terminal last Also stores the list of terminals in tuples Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Add type hint to terminal variable Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: Osiris32-and-a-half <psypv2@exmail.nottingham.ac.uk> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Core: Add .apworlds to loading screen (ArchipelagoMW#6460) * Rule Builder : Made AtLeast a dataclass (ArchipelagoMW#6421) * Core: Restrictive fill in batches to reduce state sweeping costs (ArchipelagoMW#3872) This patch breaks up fill_restrictive to fill in batches of items at a time. Each batch creates its own batch_base_state, and additionally a sweep state created from the batch's base state (_partial_exploration_state). The advantage to this is that each maximum_exploration_state can be created from the batch's _partial_exploration_state, which has already reached many regions and locations, rather than having to sweep from base_state each time. * MultiServer, customserver: move data package handling, optimize RAM usage (ArchipelagoMW#5981) * MultiServer, customserver: move data package handling Create a new class that handles conversion worlds+embedded -> context data. Create a derived class that uses static_server_data+pony instead. There is also a not very efficient feature to deduplicate strings (may need perf testing). By moving code around, we can simplify a lot of the world loading. Where code lines were touched, some typing and some reformatting was added. The back compat for GetDataPackage without games was finally dropped. This was done as a cleanup because the refactoring touched those lines anyway. Also reworked the per-context dicts and the RoomInfo to hopefully be more efficient by ignoring unused games. (Generating the list of used games was required for the new code anyway.) Side effect of the MultiServer cache: we now load worlds lazily (but still all at once) and don't modify the games package in place. If needed we create copies. This almost gets us to the point where MultiServer doesn't need worlds - it still needs them for the forbidden items. There is a bonus optimization that deduplicates strings in name_groups that may have bad performance and may need some perf testing if we run into issues. * MultiServer: fix string deduplication in data package cache * MultiServer, customserver: minor formatting fixes * MultiServer: fix data package cache for missing checksum case * MultiServer: improve string deduplication in games package cache * customserver: handle missing checksum in datapackage cache * customserver: typing cleanup in games package cache * Test, MultiServer, customser: add tests for games package cache * Test, MultiServer: reorder imports Hopefully this fixes the random test failures with pytest-xdist * customserver: make WebHost import lazy in games package cache and fix test * customserver: games package cache: fix py3.11 compat * MultiServer, customserver: cache: typing improvements * customserver: cache: reformat * Test: move customserver tests to not interfere with webhost * MultiServer, customserver: cache: rename module * Multiserver: better error message for missing Datapackage * customserver: cache: invert if for readability * customserver: optimize non_hintable_names * Use an empty frozenset singleton * Only include non-empty sets in static_server_data * Only prefill dict with played games This should save ~2-4KB per room and slightly speedup lookup. --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> * Launcher: Fix initial position of "Search" text upon loading (ArchipelagoMW#6456) * Launcher: Fix loading when an unknown arg is provided (ArchipelagoMW#6451) * TUNIC: Universal Tracker deferred entrances support (ArchipelagoMW#5454) * Core, Tests: Update usages of multiworld.get_all_state (ArchipelagoMW#5793) * Core: Make manifest error a messagebox and show which world (ArchipelagoMW#6133) * Jak1: use Utils.user_path for consistant user data (ArchipelagoMW#6150) * KH2: Keyblade Min Max Clarification (ArchipelagoMW#6188) Actually swap option values for keyblade min an max to show correctly in spoiler log. And clarify in the warning the two values get swapped. (same as bounties but not lucky emblems) * TUNIC: Add fuse locations to Universal Tracker map integration (ArchipelagoMW#6198) * TUNIC: Add launcher options (ArchipelagoMW#6199) * Options: add function to validate custom text in TextChoice during from_text (ArchipelagoMW#6205) * Pokemon Emerald: Fix dexsanity encounters using non-enabled encounter types for logical access (ArchipelagoMW#6161) * Docs: Add caveat about init files in subfolders (ArchipelagoMW#6222) * TUNIC: Add troubleshooting section to setup guide (ArchipelagoMW#6227) * Fill: make non prog start inventory panic actually use the new filler items (ArchipelagoMW#6246) * Raft: Update setup guide to note the downpatch requirement (ArchipelagoMW#6250) * Docs: Update docs and typing for items_handling to not allow None (ArchipelagoMW#6257) * Jak and Daxter: Add UT UI (ArchipelagoMW#6275) * Civ6: Setup Guide update (ArchipelagoMW#6284) * TLOZ: Implement dialog speed options (ArchipelagoMW#6286) * Muse Dash: Update song list to the 8th Anniversary songs + Undertale/Deltarune songs (ArchipelagoMW#6291) * Lingo: Add connection to Outside The Undeterred from Roof (ArchipelagoMW#6297) * Aquaria: Adding archipelago.json and AI disclosure (ArchipelagoMW#6389) * TUNIC: Shuffle Enemy Drops and Souls (ArchipelagoMW#6249) * Core: Add common rom extensions to global.apignore (ArchipelagoMW#6207) * KH2: 3 Client Bugfixes (ArchipelagoMW#6373) * Docs: Fix typo in "adding games" doc (ArchipelagoMW#6466) * Launcher: Fix failed world display (ArchipelagoMW#6468) * Timespinner: Lantern Naming and Logic Overhaul (ArchipelagoMW#6121) * Stardew Valley: pass whole months to has_lived_months (ArchipelagoMW#6470) * TUNIC: Fix elevation for Atoll Upper Entrance (ArchipelagoMW#6465) * SA2B: v2.4.6 Logic Fixes (ArchipelagoMW#6453) * Place upstream sync note in v0.4.1 Internal Changes * Isolate Kirby test logging from repository memory checks * Quarantine exact upstream Overcooked slot-data fill failure --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com> Co-authored-by: Phaneros <31861583+MatthewMarinets@users.noreply.github.com> Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: Sebastian <127998064+SebaCape@users.noreply.github.com> Co-authored-by: Bryce Wilson <gyroscope15@gmail.com> Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com> Co-authored-by: Flit <8645405+FlitPix@users.noreply.github.com> Co-authored-by: agilbert1412 <alexgilbert@yahoo.com> Co-authored-by: Noa Aarts <noa@voorwaarts.nl> Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com> Co-authored-by: XxDERProjectxX <114278502+XxDERProjectxX@users.noreply.github.com> Co-authored-by: el-u <109771707+el-u@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: Jarno <jarnowesthof@gmail.com> Co-authored-by: Louis M <prog@tioui.com> Co-authored-by: EdricY <EdricY@users.noreply.github.com> Co-authored-by: James White <james_white_d@hotmail.com> Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com> Co-authored-by: Trevor L <80716066+TRPG0@users.noreply.github.com> Co-authored-by: williamronn <wille.ronn@gmail.com> Co-authored-by: PoryGone <98504756+PoryGone@users.noreply.github.com> Co-authored-by: sudo-nano <63484662+sudo-nano@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com> Co-authored-by: Mrks <68022469+mrkssr@users.noreply.github.com> Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com> Co-authored-by: Oshroth <Oshroth@users.noreply.github.com> Co-authored-by: alchav <alchav@jalchavware.com> Co-authored-by: UCSA <moro.matteorosario@gmail.com> Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de> Co-authored-by: Ixrec <ericrhitchcock@gmail.com> Co-authored-by: CookieCat <81494827+CookieCat45@users.noreply.github.com> Co-authored-by: Sophira <github@theblob.org> Co-authored-by: threeandthreee <a.l.nordstrom@gmail.com> Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com> Co-authored-by: River Buizel <4911928+rocket0634@users.noreply.github.com> Co-authored-by: Sophia Caspe <avi.caspe@gmail.com> Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> Co-authored-by: Seldom <38388947+Seldom-SE@users.noreply.github.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> Co-authored-by: josephwhite <22449090+josephwhite@users.noreply.github.com> Co-authored-by: Christina <123173340+Paperkoopa@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Ishigh1 <bonjour940@yahoo.fr> Co-authored-by: Ian Robinson <ianronrobinson@gmail.com> Co-authored-by: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com> Co-authored-by: Katelyn Gigante <clockwork.singularity@gmail.com> Co-authored-by: Will Morrow <duh102@gmail.com> Co-authored-by: CosmicWolf <54233835+Enderdraak@users.noreply.github.com> Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Uriel <imurx@proton.me> Co-authored-by: Lexipherous <jasonnlelong@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: jamesbrq <jamesbrq@gmail.com> Co-authored-by: Patrick Wehbe <50799614+patrickwehbe@users.noreply.github.com> Co-authored-by: g0goTAS <79611210+g0goTAS@users.noreply.github.com> Co-authored-by: Berserker <fabian.dill@web.de> Co-authored-by: CodeGorilla <just.a.smith@att.net> Co-authored-by: Severencir <62644089+Severencir@users.noreply.github.com> Co-authored-by: Jacob Lewis <JacobMLewis@Live.com> Co-authored-by: Colin <colinb969@gmail.com> Co-authored-by: SomeJakeGuy <39894486+SomeJakeGuy@users.noreply.github.com> Co-authored-by: Gearwcu <huizger@gmail.com> Co-authored-by: shananas <47014056+shananas@users.noreply.github.com> Co-authored-by: Rob B <computerguy440+gh@gmail.com> Co-authored-by: rosen200 <roseweldon303@gmail.com> Co-authored-by: BadMagic100 <dempsey.sean@outlook.com> Co-authored-by: Osiris <64905829+Osiris32-and-a-half@users.noreply.github.com> Co-authored-by: Osiris32-and-a-half <psypv2@exmail.nottingham.ac.uk> Co-authored-by: mkoertshuis <53483154+mkoertshuis@users.noreply.github.com> Co-authored-by: Silent <110704408+silent-destroyer@users.noreply.github.com> Co-authored-by: DJ-lennart <alexander.lt.carlsson@hotmail.com> Co-authored-by: B1t <christopher.j.wallis@gmail.com> Co-authored-by: Star Rauchenberger <fefferburbia@gmail.com> Co-authored-by: Greg <beitlergreg@gmail.com> Co-authored-by: Michael McBride <urzamtg@gmail.com> Co-authored-by: luke0172 <73260475+luke0172@users.noreply.github.com>
BatmenzDW
added a commit
to deefdragon/Archipelago
that referenced
this pull request
Oct 14, 2026
commit fc00334ea9b2d9a513bc0e34e7d414c8525c3e05
Author: Joshua Carter <64180735+BatmenzDW@users.noreply.github.com>
Date: Wed Oct 14 13:36:30 2026 -0400
Create devcontainer.json
commit 05a151e65e5dc7887f75c7e5985723f529e94b4e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed Oct 14 09:59:36 2026 +0200
WebHost: Bump werkzeug from 3.1.6 to 3.1.9 (#6511)
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.1.6 to 3.1.9.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.1.6...3.1.9)
---
updated-dependencies:
- dependency-name: werkzeug
dependency-version: 3.1.9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 9b64e832874a50d5d14d5bc599d356d2c5194d7a
Author: lepideble <147614625+lepideble@users.noreply.github.com>
Date: Mon Oct 5 13:36:27 2026 +0200
Factorio: Fix read path on linux (#6483)
On linux __PATH__system-read-data__ always point /usr/share/factorio
when using the version downloaded from the website. This replace it with
__PATH__executable__/../../data/ which works for both standalone
installs and the steam version.
commit f7ac2d9d1944a7cf0f408c7c6aa434bb67b3d5be
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Oct 5 13:16:13 2026 +0200
Core: Bump version from 0.6.8 to 0.6.9 (#6491)
commit 54803be064fc7e80c4628777ed0b46a9390f255f
Author: PoryGone <98504756+PoryGone@users.noreply.github.com>
Date: Sat Oct 3 18:18:47 2026 -0400
SA2B: v2.4.6 Logic Fixes (#6453)
commit a4591b65d73a4c9a166f2f0331663cc7c2de30ba
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sat Oct 3 18:17:51 2026 -0400
TUNIC: Fix elevation for Atoll Upper Entrance (#6465)
commit 0a601afbf575a4660077304a18ecb521ff1886c4
Author: luke0172 <73260475+luke0172@users.noreply.github.com>
Date: Tue Sep 29 23:12:51 2026 +0200
Stardew Valley: pass whole months to has_lived_months (#6470)
commit 2532839281061a07c1f840bb0814a033606ba74c
Author: Michael McBride <urzamtg@gmail.com>
Date: Tue Sep 29 16:58:30 2026 -0400
Timespinner: Lantern Naming and Logic Overhaul (#6121)
commit fc45b5277632b4f7cff00d7acb9c4bd8a2f6c17a
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Tue Sep 29 14:46:10 2026 -0600
Launcher: Fix failed world display (#6468)
commit ac415f2b622fe6dde36c37980b09744afc594090
Author: Greg <beitlergreg@gmail.com>
Date: Tue Sep 29 16:44:48 2026 -0400
Docs: Fix typo in "adding games" doc (#6466)
commit 99de5269ad97e682204aba510660640254213c4a
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Tue Sep 29 16:43:22 2026 -0400
KH2: 3 Client Bugfixes (#6373)
commit e42f1a194e297cc4e9303525faf00d24c6f3e082
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Wed Sep 30 00:04:13 2026 +1000
Core: Add common rom extensions to global.apignore (#6207)
commit 8777a0c0e312b4bbb0b736c1533c981b88f52794
Author: Silent <110704408+silent-destroyer@users.noreply.github.com>
Date: Sun Sep 27 19:17:51 2026 -0500
TUNIC: Shuffle Enemy Drops and Souls (#6249)
commit db658e5ab8fdbc94079df393d4765e2e58e274a2
Author: Louis M <prog@tioui.com>
Date: Sun Sep 27 19:42:52 2026 -0400
Aquaria: Adding archipelago.json and AI disclosure (#6389)
commit c65912c80c905cf96027e24368195731672f3276
Author: Star Rauchenberger <fefferburbia@gmail.com>
Date: Sun Sep 27 19:41:35 2026 -0400
Lingo: Add connection to Outside The Undeterred from Roof (#6297)
commit 3a81efcbbeb9647f1083c156bb079579ee6c1d3b
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Mon Sep 28 09:40:50 2026 +1000
Muse Dash: Update song list to the 8th Anniversary songs + Undertale/Deltarune songs (#6291)
commit 60586aa362d16698a12019d33b6293039a2e5d4d
Author: B1t <christopher.j.wallis@gmail.com>
Date: Sun Sep 27 17:40:12 2026 -0600
TLOZ: Implement dialog speed options (#6286)
commit 177541094709b2df4396bdfde697b6e8905f0a9a
Author: DJ-lennart <alexander.lt.carlsson@hotmail.com>
Date: Mon Sep 28 01:38:45 2026 +0200
Civ6: Setup Guide update (#6284)
commit f9708db673f1955046c874f18871f1f7781a021f
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Sun Sep 27 19:37:59 2026 -0400
Jak and Daxter: Add UT UI (#6275)
commit 8c73af9af10260f04eb6915affbc6262af7223b9
Author: qwint <qwint.42@gmail.com>
Date: Sun Sep 27 18:37:08 2026 -0500
Docs: Update docs and typing for items_handling to not allow None (#6257)
commit cc6bc250ad5db0d735747f42a29f6e3a7662a035
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sun Sep 27 19:36:05 2026 -0400
Raft: Update setup guide to note the downpatch requirement (#6250)
commit 1041167c31ec80c9bb0a84c90e09e70be962fe75
Author: qwint <qwint.42@gmail.com>
Date: Sun Sep 27 18:35:03 2026 -0500
Fill: make non prog start inventory panic actually use the new filler items (#6246)
commit 70978a633f5ec190c69a182644899b5b4d81dab0
Author: Silent <110704408+silent-destroyer@users.noreply.github.com>
Date: Sun Sep 27 18:33:20 2026 -0500
TUNIC: Add troubleshooting section to setup guide (#6227)
commit 3197f77e5d54958e8e0db14bb810c0fdc4b6888a
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Sun Sep 27 19:32:42 2026 -0400
Docs: Add caveat about init files in subfolders (#6222)
commit c6697337bb74deb44a0e602f247e33f580ff53ca
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sun Sep 27 17:29:56 2026 -0600
Pokemon Emerald: Fix dexsanity encounters using non-enabled encounter types for logical access (#6161)
commit 6f3cd85690b6864b7d9f0f40efc6b13da268d54c
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sun Sep 27 18:28:55 2026 -0500
Options: add function to validate custom text in TextChoice during from_text (#6205)
commit 25a08b47ccb5dbfb89769dcb6ea8ed521377a15e
Author: Silent <110704408+silent-destroyer@users.noreply.github.com>
Date: Sun Sep 27 18:27:34 2026 -0500
TUNIC: Add launcher options (#6199)
commit bce01b932599295a015708cdaf2d867fb3e00016
Author: Silent <110704408+silent-destroyer@users.noreply.github.com>
Date: Sun Sep 27 18:26:42 2026 -0500
TUNIC: Add fuse locations to Universal Tracker map integration (#6198)
commit c1980f322a3428556c87ca52e7b695cd6c121ec1
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Sun Sep 27 19:25:28 2026 -0400
KH2: Keyblade Min Max Clarification (#6188)
Actually swap option values for keyblade min an max to show correctly in spoiler log.
And clarify in the warning the two values get swapped. (same as bounties but not lucky emblems)
commit aa8e057fc54280eac6b244d4c740400df816bc55
Author: mkoertshuis <53483154+mkoertshuis@users.noreply.github.com>
Date: Mon Sep 28 01:24:28 2026 +0200
Jak1: use Utils.user_path for consistant user data (#6150)
commit ac7bc5b6a2547401eaae50747cde5402c6e863ae
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sun Sep 27 17:22:53 2026 -0600
Core: Make manifest error a messagebox and show which world (#6133)
commit 46c411088247a9ae0657736b9123ecf69244c39c
Author: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
Date: Sun Sep 27 19:19:33 2026 -0400
Core, Tests: Update usages of multiworld.get_all_state (#5793)
commit 35770fb9a6fc4a56a72963bf910f8f5fad49f91d
Author: Scipio Wright <scipiowright@gmail.com>
Date: Sun Sep 27 19:17:22 2026 -0400
TUNIC: Universal Tracker deferred entrances support (#5454)
commit 9642c15f78835b7eb14f315c77597f22853507b5
Author: qwint <qwint.42@gmail.com>
Date: Sun Sep 27 18:16:21 2026 -0500
Launcher: Fix loading when an unknown arg is provided (#6451)
commit 5b47bf9bb42972635781c94387f3542c324685a9
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Sep 25 21:23:31 2026 -0600
Launcher: Fix initial position of "Search" text upon loading (#6456)
commit 5442df64fd9710fbcb72a4e2d57054e96b27b55b
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Thu Sep 24 23:33:30 2026 +0200
MultiServer, customserver: move data package handling, optimize RAM usage (#5981)
* MultiServer, customserver: move data package handling
Create a new class that handles conversion worlds+embedded -> context data.
Create a derived class that uses static_server_data+pony instead.
There is also a not very efficient feature to deduplicate strings (may need perf testing).
By moving code around, we can simplify a lot of the world loading.
Where code lines were touched, some typing and some reformatting was added.
The back compat for GetDataPackage without games was finally dropped.
This was done as a cleanup because the refactoring touched those lines anyway.
Also reworked the per-context dicts and the RoomInfo to hopefully be more efficient
by ignoring unused games. (Generating the list of used games was required for the new
code anyway.)
Side effect of the MultiServer cache: we now load worlds lazily (but still all at once)
and don't modify the games package in place. If needed we create copies.
This almost gets us to the point where MultiServer doesn't need worlds - it still needs
them for the forbidden items.
There is a bonus optimization that deduplicates strings in name_groups that may have bad
performance and may need some perf testing if we run into issues.
* MultiServer: fix string deduplication in data package cache
* MultiServer, customserver: minor formatting fixes
* MultiServer: fix data package cache for missing checksum case
* MultiServer: improve string deduplication in games package cache
* customserver: handle missing checksum in datapackage cache
* customserver: typing cleanup in games package cache
* Test, MultiServer, customser: add tests for games package cache
* Test, MultiServer: reorder imports
Hopefully this fixes the random test failures with pytest-xdist
* customserver: make WebHost import lazy in games package cache
and fix test
* customserver: games package cache: fix py3.11 compat
* MultiServer, customserver: cache: typing improvements
* customserver: cache: reformat
* Test: move customserver tests to not interfere with webhost
* MultiServer, customserver: cache: rename module
* Multiserver: better error message for missing Datapackage
* customserver: cache: invert if for readability
* customserver: optimize non_hintable_names
* Use an empty frozenset singleton
* Only include non-empty sets in static_server_data
* Only prefill dict with played games
This should save ~2-4KB per room and slightly speedup lookup.
---------
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
commit db1d85603c1ae26825a12c029020f71132ee0bc2
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Tue Sep 22 17:33:51 2026 +0100
Core: Restrictive fill in batches to reduce state sweeping costs (#3872)
This patch breaks up fill_restrictive to fill in batches of items at a time. Each batch creates its own batch_base_state, and additionally a sweep state created from the batch's base state (_partial_exploration_state). The advantage to this is that each maximum_exploration_state can be created from the batch's _partial_exploration_state, which has already reached many regions and locations, rather than having to sweep from base_state each time.
commit 2fb9bdadd4726b404fc0d790887390b66b07df16
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Tue Sep 22 15:33:55 2026 +0200
Rule Builder : Made AtLeast a dataclass (#6421)
commit afeb1fbe9f8bce8cc0a05ee21be56307e2e31b2c
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Tue Sep 22 13:30:50 2026 +1000
Core: Add .apworlds to loading screen (#6460)
commit c7459844c0e467abc86f198021e6b693033595fa
Author: Osiris <64905829+Osiris32-and-a-half@users.noreply.github.com>
Date: Mon Sep 21 22:28:53 2026 +0100
Launcher: fix for more terminal on linux (#6436)
* Add check for cosmic terminal and use different arguments if so
* Changed check for terminal to be strictly against executable name instead of path
based on this comment https://github.com/ArchipelagoMW/Archipelago/pull/6436#discussion_r3994140550
* Add `ptyxis` to list of moddern terminals
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Changed `-e` terminal launch method to use `sh`
This standardizes the environment in which archipelago components launch and fixes launching with `zutty`
* Properly import pathlib
* Added comment detailing what `modern_terminals` is
* Refactored launching in terminal to new function in utils
* Optimised imports in Launcher.py
* Revert "Refactored launching in terminal to new function in utils"
This reverts commit 43367987da0609a71c27c7ae44e89012b5b27116.
* Fixed unintentional cleanup in Utils.py
* Simplify check for terminals
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Fully import pathlib
* Fix spelling mistake
* added gnome-terminal to list of modern_terminals
* added cosmic-term and ptyxis as fallback terminals
* Changed terminal search to add more terminal names easier
also included `alacritty` and `kitty`
* Check xterm terminal last
Also stores the list of terminals in tuples
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Add type hint to terminal variable
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: Osiris32-and-a-half <psypv2@exmail.nottingham.ac.uk>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 90ea894457cb5af7f9b8f519926bcacea83b2488
Author: BadMagic100 <dempsey.sean@outlook.com>
Date: Sun Sep 20 15:36:09 2026 -0700
docs: apquest: make it clear that launcher components are optional (#6288)
* Make it clear that launcher components are optional
* Update comment for clarity on launcher components
commit fe8489be8a8885142a7a26cd73e94398ec64b145
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sun Sep 20 14:59:19 2026 -0600
SM64: Disable default tests for flaky move rando options (#6457)
commit 5b33339e621088fcdb2a58ed6b76e4148a5e6246
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sun Sep 20 22:50:00 2026 +0200
Kingdom Hearts 2: fix sending already checked locations (#6411)
commit f16917f39590d64c6249ccc2f91f0e4f55742969
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sun Sep 20 22:49:16 2026 +0200
The Wind Waker: fix sending already checked and non-existing locations (#6410)
commit 527f1195c984bfc1f6e889c3aeae29543d5312d8
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sun Sep 20 18:47:27 2026 +0200
MultiServer: Correct Bounce Target logic, add unit tests (#6417)
* Correct Bounce Target logic, write unit tests
tmp
* that is not correct
* What was I smoking
* explicitly document None
* What was I smoking
* fix weakref syntax
* ruff
* fix magicmoc
* Address Berserker's comments
* comment
* consistently use self.assertEqual
* make slot 2 on team 3 not use deathlink to test different tags for the same slot on different teams
* Improve error message
commit e0b6083384cd37019f4c41da0970dff1d99f1325
Author: James White <james_white_d@hotmail.com>
Date: Sat Sep 12 09:20:40 2026 +0100
MMBN3: Handle timeouts on dual stack networks by catching OSError (#6301)
commit 4cced3d35a71a2af9cae39289898d7d284e6e961
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Sep 11 11:19:05 2026 -0600
Tests: Remove unneeded world exclusions (#6396)
commit 47a6d6de6406fce6100cf7af3ab0a465c70aa1dd
Author: qwint <qwint.42@gmail.com>
Date: Fri Sep 11 11:36:59 2026 -0500
BHC: don't override --connect when manifest has empty server (#6435)
commit 5a5bcf452752724a218e39d6d719570c87b15910
Author: Seldom <38388947+Seldom-SE@users.noreply.github.com>
Date: Fri Sep 11 01:53:31 2026 -0700
Terraria: transfer maintainership to Desperandos (#6170)
commit 1e1efa3f5c8fd0a63df0d0f95ec6c824e413318a
Author: qwint <qwint.42@gmail.com>
Date: Sun Aug 30 18:39:05 2026 -0500
Wargroove: actually import Items (#6422)
commit 1d8a6a556f32de4fb85feca2eafbea1ba605295e
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Wed Aug 26 02:15:24 2026 +0200
Test: flask duplicate route is now a ValueError (#6380)
commit 63b8e81632ae52beb0f3baaaf7400f2287a31b8b
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Tue Aug 25 14:00:21 2026 -0400
Stardew Valley: Fixed Artifact spot logic (#6213)
commit cf42061cd48c85816cf2852dcb5d69bffd009516
Author: rosen200 <roseweldon303@gmail.com>
Date: Tue Aug 25 11:59:22 2026 -0600
Wargroove: Add item groups (#6254)
commit 94a3981c9ebdf3859642b5bf681ec5d0e9920292
Author: Noa Aarts <noa@voorwaarts.nl>
Date: Mon Aug 24 02:55:57 2026 +0200
stardew valley: use /explain from universal tracker instead of stardew valley client (#6241)
commit 4910875df6d78e6dd8e1f9e047ec9e701c95a0e0
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sun Aug 23 05:28:43 2026 -0400
Stardew Valley: Apworld Version To 7.4.25 (#6407)
commit 260b5cbfbc3d355a2a8df57fe4c269181be3aa68
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Sat Aug 22 00:56:54 2026 -0400
Stardew Valley: Reorganise option groups and visibility a little bit (#6224)
commit 1db7d33ed4c0707491751f3363549b5dedeb8640
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 21:20:02 2026 -0600
Core: Fix loading of worlds installed in launcher (#6319)
commit e4fd85d58f0866cb26bfd5991ec124d0a25bdea1
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 19:08:30 2026 -0600
Launcher: Show error message when world fails to load during install (#6292)
commit 4a3ac718f4e94adf52c05eaa22dc5d28e3563c3b
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Fri Aug 21 21:01:48 2026 -0400
KH2: Make Lucky Emblems behave like bounties and keyblade stats (#6190)
Swap the amount required and avaiable if required is more than avaiable instead of making avaiable equal required
commit 8d981a8027021c7a93fa61b46865893b2a24d2f9
Author: Rob B <computerguy440+gh@gmail.com>
Date: Fri Aug 21 21:00:01 2026 -0400
Satisfactory: Fix broken links on the Setup guide (#6110)
commit f0c21fdadc7c33b88b98febbb8e0bd666c3931f3
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Aug 21 18:22:37 2026 -0600
Core: Update PlandoConnection.Direction to use StrEnum (#5801)
commit ca33ebca0db01923e49c8b965ee570b3e9e53209
Author: RoobyRoo <thegreenrobby@gmail.com>
Date: Fri Aug 21 18:10:48 2026 -0600
Subnautica: Handle empty filler item weights with specific error (#6361)
commit 52a7637242de5b4bdd85be6ad866545cd34941c8
Author: shananas <47014056+shananas@users.noreply.github.com>
Date: Fri Aug 21 17:51:37 2026 -0400
KH2: Prevent the client from crashing if the player duplicated items (#6210)
commit eabced5d60c48b9e8ee4a2bd5f18e79bad4fa778
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Aug 21 17:50:14 2026 -0400
Stardew Valley: Fixed filler buffs only rolling one of each instead of as many as needed (#6293)
commit 0c9a232fcf7d498b53697d9a0b5417fa800bf176
Author: threeandthreee <a.l.nordstrom@gmail.com>
Date: Fri Aug 21 17:49:18 2026 -0400
Tests: remove exception for LADX in test_itempool_not_modified (#6390)
commit 3ab4ab54d31cd2bc62b0f642e5b786d0862df4bd
Author: agilbert1412 <alexgilbert@yahoo.com>
Date: Fri Aug 21 17:48:22 2026 -0400
Stardew Valley: Rebalanced a dozen or so meme bundles (#6214)
commit 90b051a80ed436d1566fbd3a81530b5456df43f3
Author: Gearwcu <huizger@gmail.com>
Date: Wed Aug 19 12:46:56 2026 +0200
Civ6: Update BOOST_TECH_CASTLES (#6270)
Replaced 8 slot government techs with 6 slot
commit 9c17dc5d624faee63ca57597de019dc5ae192c9f
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Mon Aug 17 18:06:01 2026 -0400
The Messenger: Remove connection from Climb Shop to Rocket Maze Checkpoint - #6258
commit f2b22781df5e5949183f3bba2f9c89c7e26c9a0c
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Tue Aug 18 00:00:10 2026 +0200
APQuest: Reimplement Dijkstra by hand (so that it is LLM-free again) (#6315)
* reimplement Dijkstra by hand
* make it so that the player faces the breakable object even if they can't break it
* ruff
commit 17f753281fd62fc12f494269986cde7db480896e
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Aug 17 21:45:17 2026 +0200
The Witness: Universal Tracker support + Clean up which options actually need to be in slot_data (#5503)
* Re-gen with UT + slim slot_data slightly
* make use of relevance in ut code
* That's not how enums work
* fixup
* more ut compat
* more ut fixup
* more ut fixup
* utils entity hex fixup
* Me when I lie
* Update options.py
commit 9ae40fd6e4f5eae8c8c9f693504335d1496af3da
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Mon Aug 17 21:31:41 2026 +0200
MultiServer: Allow "and" chaining of Bounce packet conditions & add teams support (#3845)
* Allow 'and' concatenation of bounce packet conditions
* Docs + small change
* Docs stuff
* update Bounced as well
* lol
* shadowing issue
* Slight rework to allow teams
* teams note
* Make the PR ready
* docs further up too
* Let's not do this actually
* Use operator & don't redefine functions
* team default
* remove unnecessarily added whitespace
commit bf52661182556ed9cf2084ea6a213f9a87611e36
Author: SomeJakeGuy <39894486+SomeJakeGuy@users.noreply.github.com>
Date: Sun Aug 16 18:04:31 2026 -0400
MultiServer: reject None targets on Bounce and validate types before sending Bounced (#6397)
commit 21e728c38d352cc2ada321bb7afe47cd3b3c3325
Author: James White <james_white_d@hotmail.com>
Date: Sun Aug 16 09:24:28 2026 +0100
CommonClient: reset session state when connecting to a different room or slot (#6231)
commit c6d941181473fce6b2325cb12794786297067fa9
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sun Aug 16 02:22:31 2026 -0600
BizHawkClient: Fix compatibility for Lua 5.5+ (#6200)
commit a0ca21b8d9cc16fc30bff9d5c9711f3d4e09de07
Author: qwint <qwint.42@gmail.com>
Date: Sun Aug 16 02:42:13 2026 -0500
HK: Various silly fixes (#6276)
commit 5b155bcc48d41c05ec382e5dda3b59d70d3e35ec
Author: qwint <qwint.42@gmail.com>
Date: Sun Aug 16 02:38:37 2026 -0500
CommonClient: Match ServerLabel's team to other UIs (#5875)
commit e3a60683e5e9c55858a03287572c750bfe77ecff
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Sat Aug 15 15:45:54 2026 -0400
Jak and Daxter: Update client to use PME 2.0.x. (#6393)
commit ce8186010d2baf4255e65730fa63ef5cc679c3a4
Author: qwint <qwint.42@gmail.com>
Date: Fri Aug 14 16:39:55 2026 -0500
Core: Add helper for unescape kivy strings + cleanup its usages (#6023)
commit fe5b49e1899b32bcb9f65e91cb7f74d6aa6d0ff8
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Mon Aug 10 11:03:01 2026 +0200
Core: limit depth of received JSON to 16 (#6378)
* Core: limit depth of received JSON to 16
This applies to both MultiServer and CommonClient.
This means DataStorage default is limited to 14 levels,
DataStorage op arg is limited to 13 levels.
* Core: fix JSON depth limit check for escape codes
* Core: cythonize JSON depth limit check
commit 3359cacedd6eb263f6b6e82cef8f689151217a7a
Author: Colin <colinb969@gmail.com>
Date: Fri Aug 7 23:39:41 2026 +0100
CommonClient: Ignore invalid deathlink packets (#6376)
commit 0f76d35a8c57b2114538a43698e9331cd32a81b2
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Thu Aug 6 01:14:01 2026 -0400
ALttP: Fix Randomzie Enemy Damage (#6296)
commit d62772abc6e271d95437741e7a1ac02ef161144b
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Wed Aug 5 07:59:08 2026 +0200
Core: Fix Open Patch (#6356)
commit 408954c60b0f86ef873b2d13776a8617b032339d
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Wed Aug 5 02:56:52 2026 +0200
Factorio: Locale fixes (#6237)
commit f328ce7e7d83197f3c9273e909e381ec6475b3ec
Author: qwint <qwint.42@gmail.com>
Date: Tue Aug 4 17:26:55 2026 -0500
Options: add typing and remove unnecessary deepcopy call in OptionCounter (#6321)
Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
commit 8b3557cd6c1ddb0b5e538ac489a2e672e11950f7
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Tue Aug 4 18:24:35 2026 -0400
The Messenger: Various small logic fix (#6337)
commit e759562506dd5e92e3dd2f9b0210b0ef1df92e1c
Author: qwint <qwint.42@gmail.com>
Date: Tue Aug 4 17:18:52 2026 -0500
Setup: bump cx-Freeze to fix frozen linux shortcuts (#6365)
commit 838d55327e68c62cf4f24d4e2da24202d37cd7c5
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Tue Aug 4 16:12:23 2026 -0600
MultiServer: Update hint_points when hint cost or check points is changed (#6219)
commit 26e45742529e1975e4044b27b794ec60371550b6
Author: Jacob Lewis <JacobMLewis@Live.com>
Date: Tue Aug 4 01:10:43 2026 -0500
ALTTP: Reflowed headers in docs and explicitly added what client is used. (#5758)
commit 53bc3754c0fa50849cba1dc829c9b18a980a3391
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Mon Aug 3 17:16:25 2026 +0200
Core: remove per_slot_randoms and DeprecateDict (#6186)
commit 18c3b19cfa513717f3fc4e1583e5e2bc75e3c670
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Thu Jul 30 14:39:51 2026 -0700
Starcraft 2: Moving pool filter to use a counter instead of a dict (#6366)
commit b34b84aa8f4fb96b466596d49f920834c95ca941
Author: Severencir <62644089+Severencir@users.noreply.github.com>
Date: Thu Jul 30 08:25:11 2026 -0500
Starcraft 2: item pool reduction overcounting fix (#6318)
commit 26792ef113a3b86ebee177235135be84494b80dc
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Thu Jul 30 09:19:06 2026 -0400
The Messenger: Fix shop price not correctly handled by UT (#6340)
commit a7abc86eb1398577c2008aa4885819ea56516fc0
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Thu Jul 30 15:18:21 2026 +0200
Core: update platformdirs (#6328)
commit abb6f2647e7da44e3529dc9316c683a1d79edde0
Author: CodeGorilla <just.a.smith@att.net>
Date: Thu Jul 30 08:17:49 2026 -0500
Tests: Force race mode off in test_generate_yaml (#6349)
commit 72dbfcc1d367df4dd03681052e845b4e9f5a93af
Author: Phaneros <31861583+MatthewMarinets@users.noreply.github.com>
Date: Mon Jul 20 02:49:12 2026 -0700
SC2: Disabling UT as it doesn't work (#6346)
commit 318a4ffa5ec24b3a2241f9259e475afc3b43d69a
Author: qwint <qwint.42@gmail.com>
Date: Sun Jul 19 15:48:14 2026 -0500
Build APWorlds: fix moved import (#6343)
commit 2cde25ffd0d4cb1404504f64d156a93448cdecb8
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sat Jul 18 14:53:35 2026 -0500
Unittests: allow running unittests for specific worlds when using unittest runner (#6338)
commit 6875f9da9009b10985e3e4f883fccd06419361b0
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Sat Jul 18 12:32:54 2026 +0200
RuleBuilder: Optimize Has("Item", 0) (#6228)
commit bbd5fc382219de4a4816feac71473f160f8448fa
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sat Jul 18 19:28:22 2026 +1000
Launcher: Delete unused functions (#6332)
These were moved to LauncherComponents in #6115, but due to a bad merge resolution, the originals were left behind.
commit ae7c5609cda85f23e99b9017e4f72dd8b2d6cc5c
Author: Berserker <fabian.dill@web.de>
Date: Sat Jul 18 04:53:04 2026 +0200
Launcher: fix world import ordering conflict between #6115 and #6058
commit c8cf2c41122261da5fef4760efd3e0307a93a68c
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Sat Jul 18 02:38:34 2026 +0200
Launcher: Loading Screen (#6115)
commit feab54daec712ffb333b8c73f38eb69e1ed9c508
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sat Jul 18 04:08:20 2026 +1000
Core: Add parameter to visualize_regions to display Rule Builder explanations on exits (#6184)
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
commit 13f1929286abba9ac50c8a00eeaf5f010537793e
Author: g0goTAS <79611210+g0goTAS@users.noreply.github.com>
Date: Fri Jul 17 14:07:07 2026 -0400
Core: Pre Output Steps Log (#6047)
commit c6a7c0c193c4b5eea5a9160957447e766c403f4e
Author: Patrick Wehbe <50799614+patrickwehbe@users.noreply.github.com>
Date: Fri Jul 17 21:06:10 2026 +0300
Docs: add guidance for choosing minimum/maximum_ap_version (#6265)
commit 4efce428a4abadd0180ab5182cecd8c987ebe74b
Author: James White <james_white_d@hotmail.com>
Date: Fri Jul 17 19:03:52 2026 +0100
Core: Adjust YAML error message to clarify the name is not the cause of the error (#6267)
commit 6907d89968782b3cb4283b37f518b1dfdc0daefd
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Fri Jul 17 11:03:20 2026 -0700
Core: fix Set import (#6235)
mistake made in pr #5048
https://github.com/ArchipelagoMW/Archipelago/pull/5048#discussion_r3328989050
commit 9c80dc6257e3ffa8ff2902178852b220c25f3177
Author: James White <james_white_d@hotmail.com>
Date: Fri Jul 17 19:01:28 2026 +0100
Core: Allow running unit tests scoped to specific worlds (#6290)
This allows the unit tests to be run on specific worlds only, it works by using an environment variable AP_TEST_WORLDS which is a comma separated list of world directories.
commit c31168506450ea247ccf52f1a63f9668d8a7aa08
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu Jul 16 00:04:19 2026 +0200
WebHost: Bump mistune from 3.2.1 to 3.3.0 in /WebHostLib #6324
commit f110a7efbc10f2ae9c741d54bb31dd9831a44eae
Author: jamesbrq <jamesbrq@gmail.com>
Date: Sat Jul 11 13:26:27 2026 -0400
Gauntlet Legends: Implement New Game (#3499)
* Update GauntletLegendsClient.py
* Continuation of obelisk update
* APPP Implementation Groundwork.
* Continuation of APPP Implementation
* Create Pain.asm
* ROM verification modified since crc32 hash can no longer be calculated.
* Initial upload of barrel/chest locations.
* Finished adding and naming all chests/barrels.
* Continued locations.
* Added new yaml options
* Work on mirror shards
* Python 3.8 compatibility
* Finalized location names. Fixed lambda bug.
* v1.0
* Removed excess Docs and Changed item counts.
* Update Archipelago Unittests.run.xml
* Started working on Docs.
* Updated item arrays for client
* Fix client bugs
* Flake8 fixes + Yaml fix
* Update speed boots
* v1.1
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* v1.0.4
* Initial Ruff format
* Formatting part-2
* More formatting + Doc changes
* Updated Docs
* Move client to root
* Update Client Name
* Make Imports Relative
* Add new yaml options + rename obelisks
* v1.1 Initial Upload
* v1.1.0 + some additions
* Client Update
* Client Updates
* pre-v1.1.1
* Update GauntletLegendsClient.py
* pre-1.2
* 1.2.0
* v1.2.1
* Client fixes
* v1.3.0
* v1.4.0
* v1.4.1
* Merged Changes
* Experimental
* pre-v1.5.0
* Changes
* v1.5.0
* Update GauntletLegendsClient.py
* Death Update
* pre v1.5.1
* Obelisk rule changes
* pre-v1.5.1
* Update GauntletLegendsClient.py
* v1.5.1
* v1.5.1
* Update GauntletLegendsClient.py
* Small fix
* Update GauntletLegendsClient.py
* v1.5.2
* pre-v1.6.0
* pre-v1.6.0
* v1.6.0
* Update
* Update GauntletLegendsClient.py
* Test
* pre-v1.6.0
* Client Updtaes
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update Rom.py
* Update GauntletLegendsClient.py
* Update Rom.py
* Added Logging on stage enter
* v1.6.2
* v1.6.2
* Update Rom.py
* Update GauntletLegendsClient.py
* v1.6.3
* Small Update
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Update GauntletLegendsClient.py
* Changes ready for review
* Update Rom.py
* Remove root client
* Update inno_setup.iss
* Update client
* Initial Review Refactor
* Update Arrays.py
* Review refactor
* Update __init__.py
* Small tweaks after test generations
* Update GauntletLegendsClient.py
* Implement new check_locations() function
* Add name for Skorn to level_names Dict
* Fix for #4671
* Update __init__.py
* Adjust item frequency + Place 50% of filler as local
* Oops I modified the itempool after create_items teehee
* Update __init__.py
* Check MD5 hash before patching ROM
* Update __init__.py
* Fix get_filler_item_name()
* Update MD5 check to built in method in FilePath
* Update Rom.py
* Update worlds/gl/Rom.py
Co-authored-by: qwint <qwint.42@gmail.com>
* WIP Generation fixes
* v1.7.1
* Update Archipelago Unittests.run.xml
* 0.7.2
* Update GauntletLegendsClient.py
* Review Edits
* Update World description
* Fuzz fixes
* Update GauntletLegendsClient.py
* Make static data immutable
* Update option comparisons since no longer a Choice
* Update worlds/gl/Rom.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Update __init__.py
* Initial Update commit
* Progress
* Remove un-used import + Add manifest
* Add missing docstring for client command
* Progress
* pre-v2.0.0-BETA
* Updates
* Progress
* Working Generations
* Working IN-Game
* v2.0.0-BETA
* Create archipelago.json
* v2.0.1
* v2.0.1 FINAL
* pre v2.0.2
* Delete report.json
* Cleanup
* pre v2.0.2
* v2.0.2
* PR Ready
* Update Items.py
* Delete fuzz.py
* Update Items.py
* Update GauntletLegendsClient.py
* Fix scouting disabled locations
* Client Updates
* v2.0.3
* Increment World Version
* Docstring + slot_data updates
* Option name update + Remove redundant option
* Code Cleanup
* Trenches is level 24
* Frequencies
* More cleanup and removal of stale code. MISSING BASEPATCH
* v2.1.0
* Minor enemy changes
* Small fix
* Update Rom.py
* v2.1.1
* Small fixes
* Update basepatch.bsdiff4
* Update GauntletLegendsClient.py
* Socket error clarity
* Delete settings.local.json
* Update GauntletLegendsClient.py
* v2.1.2 fixes
* Boss portal fix
* Small client fix + Item Frequencies
* Update archipelago.json
* Fix for games playing with max difficulty lower than 4 not sending locations
* Update archipelago.json
* v2.1.5
* Fix for Chimera's lair mirror shard
* Update archipelago.json
* Mod Re-Base + Queue limits + Item Receiving fixes
* Options cleanup and newlines for some files
* Include v2.x features in docs
* Make sure players has at least 1 item
* v2.1.6
* Update archipelago.json
* Review Edits + Client Tweaks
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit f9c5868f7b2e94666dd30b426b55bb0653c1a75d
Author: qwint <qwint.42@gmail.com>
Date: Sat Jul 11 11:27:58 2026 -0500
ModuleUpdate: Add core requirements.txt as a constraint file to pip calls (#6309)
* Add core requirements.txt as a constraint file to pip calls
* remove --upgrade as requested
* Update ModuleUpdate.py
commit fde71f66f32e59e775b2958b038d0a86033c9ec3
Author: Doug Hoskisson <beauxq@users.noreply.github.com>
Date: Sat Jul 11 04:26:19 2026 -0700
Core: typing and cleaning, mostly in `Fill.py` (#4459)
* Core: typing and cleaning, mostly in `Fill.py`
* fix typing of things we get out of plando blocks
* clean getting multiworld from kwargs
add a list type
clean indentation
* fix issues with merge conflict resolution
* some things found after merge
commit e6e0bc30420d13085f6f86b29ffa7e1594a8c46a
Author: Uriel <imurx@proton.me>
Date: Sat Jun 20 11:36:18 2026 -0400
WebHost: Config option for custom port ranges v2 (#6009)
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.
* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.
* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer
* Updated soft-fail message
* Removed dead import from customserver.py
* Update requirements.txt
Settings requirements to main core branch
* fix what reviewers said and add some improvements
* remove unused argument
* try fixing test with try
* use yaml lists instead of string for config
* fix value type bug on ephemeral type
* reuse sockets with websockets api instead of opening and closing them
* add used ports cache and filter used ports when looking for ports
* fix port randomizer
* Apply suggestions from code review
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* fix some reviews
* use weights for random port and remove more-itertools
* fix net_connections not working on macOS
* rename variables and functions
* lazy init `get_used_ports`
* change `game_ports` to be `tuple`
* fix last_used_ports not being updated locally
* fix random choices and move game_port conversion into tuple
* Apply suggestions from code review
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* use a named tuple on parse_game_ports
* only use ranges
* do it the duck way
* this should check all usable ports before failing
* fix while loop
* add return type to weighted random
* Update WebHostLib/customserver.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* simplify tuple conversion check
* add tests
* reformat file and change `create_random_port_socket` test
* add more test cases for parse_game_ports
* try to prevent busy-looping on create random port socket when doing test
* simplify parse game port tests to one assertListEqual
* make the range lesser for port test
* reduce range on macOS
* Apply suggestions from code review
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Update WebHostLib/customserver.py
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* remove unused import
* Update WebHostLib/customserver.py
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* use generator expressions
* check for 0-tuple
* use some kind of shuffled queue
* update tests
* refactor new port handling into a class (#1)
* change time to monotonic
* Update docs/webhost configuration sample.yaml
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
* add psutil 7.2.2 as requirement
* Update WebHostLib/requirements.txt
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
---------
Co-authored-by: Lexipherous <jasonnlelong@gmail.com>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
commit 5ccef9802ada04b27b92e84be24c9ebbe4d0906d
Author: Emily <35015090+EmilyV99@users.noreply.github.com>
Date: Sun Jun 7 12:21:30 2026 -0400
WebHost: fix Authors on supported game page (#6218)
commit 09aba95c039f2d304c15466b7cff6f0ee8f12aa8
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Wed Jun 3 17:53:37 2026 +0200
Factorio: Fixed a needlessly small bug that does not affect gameplay (#6147)
commit 2a8ebe23991d5337b09a17d0e197f32d32245e31
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Wed Jun 3 08:20:04 2026 +0200
Core+RB: Make has_from_list, has_from_list_unique, has_group and has_group_unique return True if count <= 0 and list is empty (#6240)
commit ad0af18f5173c9085cd4850d354bb82c689c3097
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Tue Jun 2 09:10:43 2026 +0200
Rule Builder: Resolve empty and() to True_() instead of False_()(#6239)
commit 65277a50ce725a4847e3db1d47c73e96e59a7fca
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Tue Jun 2 06:38:23 2026 +1000
Muse Dash: Update to Touhou Mugakudan -V- (#6234)
commit d241829585df0bbce179e7e7a97bf78fbe0ed392
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Sun May 31 23:55:57 2026 +0200
Bump mistune from 3.2.0 to 3.2.1 in /WebHostLib (#6185)
Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/lepture/mistune/releases)
- [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst)
- [Commits](https://github.com/lepture/mistune/compare/v3.2.0...v3.2.1)
---
updated-dependencies:
- dependency-name: mistune
dependency-version: 3.2.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit b24b3d10b646dced8d0f04daa130905e5a9788df
Author: CosmicWolf <54233835+Enderdraak@users.noreply.github.com>
Date: Sun May 31 01:49:39 2026 +0200
Factorio: Locale changes (#5908)
---------
Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl>
Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com>
commit 787ddc400caf9bd3e327083fba3cef7e97b513be
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Wed May 27 03:26:30 2026 +0200
Core: Bump version from 0.6.7 to 0.6.8 (#6114)
commit 545171f3f4e42317d61391423839a138b88d1bec
Author: qwint <qwint.42@gmail.com>
Date: Wed May 20 02:12:54 2026 -0500
Core: reset log level when using pyximport (#6212)
commit d0abfeb88b34f6eaad6ed677b10bea9b6e17a973
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Mon May 18 07:53:48 2026 -0400
The Messenger: Fix portal shuffle logic not using unlocked portals (#6194)
commit b575983599046a5e1ef98cbd7ce2f38b10eb6f02
Author: Will Morrow <duh102@gmail.com>
Date: Sun May 17 14:44:40 2026 -0700
SM64: Change power star item classification to be deprioritized (#6191)
commit d8d148ac135c5848820f22bdc9bc13aa62831cbc
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Sun May 17 17:41:34 2026 -0400
Stardew Valley: Bypass CollectionState overhead by just calling prog_items (#6065)
commit 24f75ba0729912e485a0b4bea05d109812bb8303
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Sun May 17 16:40:08 2026 -0500
Settings: validate FilePath hash on use (#5854)
commit 38e77e1b46b20552d5fdf2a0ef88558e7ec2f813
Author: Katelyn Gigante <clockwork.singularity@gmail.com>
Date: Sun May 17 02:29:30 2026 +1000
Factorio: Remove the need to have two separate installs (#4221)
commit 799e0b7b0fa3c965995a6288c651d2f4d800e4ff
Author: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com>
Date: Sun May 10 20:16:20 2026 -0400
KH2: fix ice cream double counting for logic (#6068)
commit 4ef1fb7630a924154e43d582108e24c2462f609d
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Sun May 10 05:25:34 2026 +1000
Muse Dash: Convert to Rule Builder (#6166)
---------
Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
commit 0cd81ff5001547647a8daefe334c9d695f9b62c8
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Sat May 9 11:07:46 2026 -0400
A Link to the Past: We Have Enemizer at Home (#6153)
commit 55a1b12cb78926e9308114c347996c7a5c763252
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 09:01:22 2026 -0600
CommonClient: Make hint cost (shown in server label) update (#6149)
commit 3fcd337f65fb6950b2017e58174c67051079b6d0
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 09:00:00 2026 -0600
WebHost: Add authors to supported games page (#6123)
commit 7a5acfeceb99c66a6e2f6933ef80f2ca42f0448b
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Sat May 9 08:59:05 2026 -0600
Core: Make manifest accessible as a world attribute (#6122)
commit 06dc1b897cc6e58fc8b5d438dee51a67aedc59fe
Author: Bryce Wilson <gyroscope15@gmail.com>
Date: Sat May 9 07:58:01 2026 -0700
Pokemon Emerald: Switch to rule builder (#5923)
commit 4a28888a6610d24f7c7bfe6909826e418f8f6221
Author: Ishigh1 <bonjour940@yahoo.fr>
Date: Sat May 9 16:56:10 2026 +0200
Rule Builder: Implement AtLeast (#6085)
---------
Co-authored-by: Ian Robinson <ianronrobinson@gmail.com>
commit d0407a74d65ed1cdc9519f4de996406316225f0a
Author: Christina <123173340+Paperkoopa@users.noreply.github.com>
Date: Sat May 9 16:54:20 2026 +0200
Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (#5738)
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
commit e0810022f830195fe2921fd10b14132a45569fa2
Author: josephwhite <22449090+josephwhite@users.noreply.github.com>
Date: Sat May 9 10:51:56 2026 -0400
WebHost: Fix adding weighted text options (#5116)
commit 29a6f40c2b1c126d886f079982e0397209b10480
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Sat May 9 15:50:34 2026 +0100
Blasphemous: Increase logic performance (#4585)
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 2bd572c23d1e7e2a98701769fab67f9118d2ed08
Author: josephwhite <22449090+josephwhite@users.noreply.github.com>
Date: Sat May 9 10:46:53 2026 -0400
Super Mario 64: Basic testing (#4335)
---------
Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit b59e52a103b33e67c13e8e0ddc5236edce805458
Author: Scipio Wright <scipiowright@gmail.com>
Date: Tue May 5 10:14:19 2026 -0400
Options: Remove the "" from the start inventory examples (#6165)
---------
Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com>
commit 6d9d340c719c0eeaadf5f56a8878acd5540acba7
Author: Silvris <58583688+Silvris@users.noreply.github.com>
Date: Tue May 5 00:30:47 2026 -0500
Launcher: display window for failed world loads if any (#6058)
commit 4486510fbc9406b7135377c2a39bf622d87092d8
Author: qwint <qwint.42@gmail.com>
Date: Sat May 2 10:53:37 2026 -0500
Options: make template generation log the failing world if one fails (#6176)
commit a68109f5a7fe9971b5b002491de0be301889c05c
Author: Fabian Dill <Berserker66@users.noreply.github.com>
Date: Fri May 1 22:38:46 2026 +0200
WebHost: Add deletion of old content to cleanup function (#6119)
---------
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
commit 234b0581c9a3791230e8c08c2d34591748bc207c
Author: Alchav <59858495+Alchav@users.noreply.github.com>
Date: Fri May 1 05:30:35 2026 -0400
ALttP: Fix starting mail and shield equipment from start inventory (#6154)
commit 798eeaad91cbfbd40b6cae6934f3d9f24376114a
Author: Justus Lind <DeamonHunter@users.noreply.github.com>
Date: Fri May 1 19:29:59 2026 +1000
Muse Dash: Update to DASH AND SHOOT (#6163)
commit 18750620997b7963f221f55dadd91d99da795417
Author: qwint <qwint.42@gmail.com>
Date: Wed Apr 29 15:29:41 2026 -0500
Undertale: Handle zero arg /auto_patch (#5130)
commit 9da3c2999022c734cf09516471cd294efd41d168
Author: Seldom <38388947+Seldom-SE@users.noreply.github.com>
Date: Wed Apr 29 12:25:38 2026 -0700
Terraria: fix failing to generate with Calamity enabled and full accessibility on Mechanical Bosses goal #5787
commit 90b72c0fa5b0389fff9261f60b323a9d53e1a0aa
Author: palex00 <32203971+palex00@users.noreply.github.com>
Date: Wed Apr 29 21:25:14 2026 +0200
Docs: Add missing space to plando doc #6060
commit fd8f3fcd8ba83f7fe881203de182161f92e9d435
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Wed Apr 29 20:24:41 2026 +0100
The Messenger: Add missing indirect conditions (#6101)
commit d36ba62243978185a97e67a1e04d3c51801ee36d
Author: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com>
Date: Wed Apr 29 15:24:10 2026 -0400
The Messenger: Add missing rules for Key of Strength#6124
commit 8ac335f92db9d7710dc69742ed961990776761e8
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Wed Apr 29 20:22:35 2026 +0100
Docs: Rewrite get_filler_item_name's docstring to avoid implying it's for filling all unfilled locations #5956
commit 74a0cd60223c33af068b76397a85d2eb5cce32d1
Author: qwint <qwint.42@gmail.com>
Date: Wed Apr 29 14:21:42 2026 -0500
MultiServer: update help doc on auto_shutdown#5917
commit 31f5a6c4ea8a60a970b8455812b8c1d3b531a751
Author: Sophia Caspe <avi.caspe@gmail.com>
Date: Wed Apr 29 12:19:32 2026 -0700
Docs: Rule Builder Filtered Example Fix (#6152)
commit be9c7b1728ea1a52dfcf8bce6f6e286d7d6303c1
Author: River Buizel <4911928+rocket0634@users.noreply.github.com>
Date: Wed Apr 29 12:18:59 2026 -0700
KH2: Update setup_en.md (#6129)
commit a0236b2d74044a1bfbbfd41807f2f125ea0d36e9
Author: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com>
Date: Wed Apr 29 15:18:21 2026 -0400
Jak1: yamlless UT support (#6066)
commit af39d7926a2d1943103f095568d5a2147aedc358
Author: threeandthreee <a.l.nordstrom@gmail.com>
Date: Wed Apr 29 15:15:57 2026 -0400
LADX: doc update (#6050)
* update gfxmod doc
* romless generation
* Update setup_en.md
Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
---------
Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
commit a48bf0195f5c0687086746ea89d097f220eea741
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Wed Apr 29 15:14:34 2026 -0400
Docs: Make RB OptionFilter docs clearer (#6028)
* add more docs for option filters
* reword the whole things
* style guide
commit 73856f63c84e51656b2c49083499d582e3dce542
Author: Sophira <github@theblob.org>
Date: Wed Apr 29 19:12:04 2026 +0000
Docs: Mention APQuest as a reference (#6000)
The APQuest implementation of an APWorld is incredibly useful and should
really have a mention here.
commit d5cc2011384f3e03959e371c357faff9fd92d8f3
Author: CookieCat <81494827+CookieCat45@users.noreply.github.com>
Date: Wed Apr 29 15:11:36 2026 -0400
AHIT: Update FAQ in setup guide (#5975)
commit 4346191c55ccf877aa2756d7601b5224798d54a7
Author: Ixrec <ericrhitchcock@gmail.com>
Date: Wed Apr 29 20:10:26 2026 +0100
Docs: Add a warning to world api.md#events that you want StatusUpdate, not events, for actually sending the goal (#5957)
commit 0601494e39caeb0fc82f6a49fe299acf61d6fac9
Author: Mysteryem <Mysteryem@users.noreply.github.com>
Date: Wed Apr 29 20:08:16 2026 +0100
Pokemon RB: Fix mutating global item_groups in get_filler_item_name() (#5947)
The `banned_items` variable was the `"Unique"`list within the
`item_groups` global. `get_filler_item_name()` could then mutate
`banned_items` through `banned_items.append("Poke Doll")` and
`banned_items += item_groups["Vending Machine Drinks"]`, causing
the contents of the `item_groups` global to be mutated.
This has been fixed by making `banned_items` a shallow copy of
`item_groups["Unique"]`.
commit 78937054de3e5d7cfb473cb116048e7c8aab7648
Author: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Date: Wed Apr 29 21:07:52 2026 +0200
sm64ex: Recommend Flatpak for Linux users (#5897)
commit 59674926edc98ca758db7ff12a6ef4c6496bdd77
Author: UCSA <moro.matteorosario@gmail.com>
Date: Wed Apr 29 21:07:32 2026 +0200
Docs: added an italian translation of the setup guide for Muse Dash (#5834)
* Create setup_it.md
Created an italian translation of the setup for muse dash. I could not find direct references to translating a setup so I am assuming this is the correct way to submit a translation.
While I am a native in italian and I would consider myself fluent in english, I am not a translator so mistakes could have been made.
* Update __init__.py
commit b716096a4b16d8d2aab9717859de0ecebbc087ac
Author: Oshroth <Oshroth@users.noreply.github.com>
Date: Thu Apr 30 05:01:23 2026 +1000
SML2: Send logic affecting randomiser options as slot_data (#5751)
* Send logic affecting randomiser options as slot_data
* SML2 - Universal Tracker support
* Remove debug logs
* Only check generation_is_fake once
---------
Co-authored-by: alchav <alchav@jalchavware.com>
commit c851eff521ab4a8033357ae0817d34e84ae7248e
Author: el-u <109771707+el-u@users.noreply.github.com>
Date: Wed Apr 29 20:56:11 2026 +0200
lufia2ac/docs: fix some errors (#5618)
Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com>
commit 01033940d6a915643293de1c0c5c3f35d2c93c47
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Wed Apr 29 12:55:32 2026 -0600
MMBN3: Add spaces in concatenated string#5689
commit 15561e1e2d0192a2326f9d3e0c0c9165255170a1
Author: Mrks <68022469+mrkssr@users.noreply.github.com>
Date: Wed Apr 29 20:49:19 2026 +0200
Generate: Added "quantity" option for player yamls to use multiple times a single yaml (#4948)
* Added option for player yamls.
* Extended documentation
* Minimized value extraction.
* Added allow_quantity option to host.yaml
* Added option for player yamls.
* Extended documentation
* Minimized value extraction.
* Added allow_quantity option to host.yaml
* Update settings.py
Co-authored-by: qwint <qwint.42@gmail.com>
* Update Generate.py
Co-authored-by: qwint <qwint.42@gmail.com>
* Added allow_quantity as application argument.
* Quantity > 1, allow_quantity = false -> error instead of silent 1
* Added check for quantity <= 0; reverted settings import change
* Update Generate.py
---------
Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
commit 9c78edc764d93821136310edaf0b1bb8be564470
Author: Ian Robinson <drtchops@users.noreply.github.com>
Date: Wed Apr 29 02:21:09 2026 -0400
Rule Builder: Fix rule hash collisions (#6169)
* fix rule hash collisions
* just let the dict do the work
commit d2395de9fa269e1dfa9c6b29d912bf802eda9660
Author: lepideble <147614625+lepideble@users.noreply.github.com>
Date: Mon Apr 27 14:06:19 2026 +0200
Factorio: move communication savegame to user dir (#5646)
commit d41cec64948231d7a8b1115d7cfcd7835a1832c7
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sat Apr 25 22:44:48 2026 +0000
CI: update softprops/action-gh-release to v3.0.0 (#6162)
The update will be required once GH drops support for Node 20.
Also enables new options the action has now.
commit dc911399fbec508333387439373fdd015663add0
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 17:07:23 2026 +0100
The Witness: More control over progressive symbols (#3961)
* More control over progressive symbols!
* Cleanup crew
* lol
* Make it configurable how second stage items act on their own
* only let independent symbols work if they're not progressive
* revert defaults
* Better description
* comment for reviewers
* A complicated docstring for a complicated function
* More accurate
* This probably works more generically
* Actually, this would cause other issues anyway, so no need to make this generic yet
* :/
* oops
* Change the system to use collect/remove override so that plando and start inventory work correctly
* Vi stop doing that thing challenge
* Make SecondStateSymbolsActIndependently an OptionSet
* jank
* oop
* this is why we make unit tests I guess
* More unit tests
* More unit tests
* Add note about the absence of Rotated Shapers from the independent symbols optionset
* More verbose description
* More verbose description
* slight reword
* Ruff ruff :3 I am a good puppy <3
* Remove invis dots
* oops
* Remove some unused symbols
* display name
* linecounting -> discard
* Make all progressive chains always work
* Unfortunately, this optimisation is now unsafe with plando :(
* oops
* This is now a possible optimisation
* optimise optimise optimise
* optimise optimise optimise
* fix
* ruff
* oh
* fixed frfr
* mypy
* Clean up the tests a bit
* oop
* I actually like this better now, so I'm doing it as default
* Put stuff on the actual item class for faster collect/remove
* giga oops
* Make proguseful work
* None item left beef
* unnecessary change
* formatting
* add proguseful test to progressive symbols tests
* add proguseful test to progressive symbols tests
* clean up collect/remove a bit more
* giga lmfao
* Put stuff in option groups
* Add the new symbol items to hint system
* bump req client version
* fix soft conflict in unit tests
* fix more merge errors
commit 0b38065123aeaa485a58f7fa6fa07ab32d7b7e35
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 16:08:21 2026 +0100
APQuest: Fix Easy Mode boss having too much health to beat (#6146)
* Change the boss' health to 2 in easy mode, adjust boss graphics to reflect this behavior
* graphics formatting
commit a6c134710262902562e25fd47b470f9848c9725b
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:52:38 2026 +0100
The Witness: Make "Early Good Item" an OptionSet allowing Symbols, Doors and Obelisk Keys (#3804)
* New solution to that plando issue
* better
* Another warning
* better comment
* Best of both worlds I guess?
* oops
* Smarter code reuse
* better comment
* oop
* lint
* mypy
* player_name
* add unit test
* oh
* Rebrand time baby
* This fits on one line
* oop
* Update worlds/witness/__init__.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* mypy
* Reorganize some doors according to medic's suggestions
* This should make it much faster (Thanks Medic)
* Town Doors works because of Church being a check always, Church Entry feels really bad tho
* Only add Desert Entry if there are no control panels stopping you
* No overlap here, so why is it a set
* Idk everything's kinda good without symbol shuffle
* Just make sure, I guess
* This makes way more sense doesn't it
* Oh, this is probably important
* oop
* loc
* oops 2
* ruff
* that was already in there
* Change the door picking a bit further
* some renaming
* slight wording change
* Fix
* Move it all to a new file
* ruff
* mypy
* .
* Make sure we're only adding as many tutorial checks as necessary
* ruff
* These checks aren't necessary, as the final list gets culled to only existing items anyway. It saves CPU cycles, but this is nicer for future compatibility
* Special handling for caves shortcuts
* 120 chars
* Update worlds/witness/place_early_item.py
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
* Clean up Windmill & Theater cases
* Make early_symbol_item removed instead
* Add early_good_item to presets
* replace double None checks with casts
* That doesn't exist anymore
* Mypy thing
* Update the doors again a bit
* Pycharm pls
* ruff
* forgot one
* oop
* Is it finally right?
* Update options.py
* Fix with new Panel Keys
* Hopefully fix crash when one of the types runs out when the others haven't yet
* oops
* Medic suggestion
* unused import
* Update place_early_item.py
* Update __init__.py
* Update __init__.py
* Update options.py
* Add possible types to option desc
* Make that include all Tutorial (Inside) checks
* Update __init__.py
* Update test_early_good_item.py
* Update test_early_good_item.py
* Slight cleanup
* fix no tutorial locations being picked up by tutorial location size check
---------
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
commit 0a742b6c984fc7ce03bb52b7a4a4b86b60831403
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:49:19 2026 +0100
Options: Add more Option unit tests, add generic Option.__eq__, make cull_zeroes available to all OptionCounters #5905
commit 66712bbd87a15f387ec4776515267a32c36bdb12
Author: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
Date: Sat Apr 18 12:48:32 2026 +0100
APQuest: Switch to Rule Builder (#5906)
* CachedRuleBuilderWorld
* CachedRuleBuilderWorld
* APQuest Rule Builder finished
* Added comment
Add a rule to check if the player has a Sword to destroy bushes.
* Bump version + typo fix
* Update worlds/apquest/rules.py
Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com>
* Address Tchops' review comments
---------
Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com>
commit 5f9e38b78389278cfb3aa9cf2095455863b31937
Author: black-sliver <59490463+black-sliver@users.noreply.github.com>
Date: Sat Apr 18 00:15:37 2026 +0000
Test: add test for unpickling NetUtils enums (#5326)
* Test: add test for unpickling NetUtils enums
This verifies that Utils.ByValue either works or is not required,
and once we drop ByValue, this validates that future Python
versions do not break our Enums again.
* Test: NetUtils enum switch to more direct pickle.dumps
It's probably better to use the direct interface in case
restricted_dumps does some funky stuff in the future.
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
* Test: NetUtils enum fix import for change
---------
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
commit bdde2140b328f5d2e3683b60b714700f477b062c
Author: Duck <31627079+duckboycool@users.noreply.github.com>
Date: Fri Apr 17 17:24:25 2026 -0600
Core: Remove worlds.generic.PlandoItem (#6035)
commit 42d24b4869ce5f5e1be34b6cb2202bd55aaa985f
Author: qwint <qwint.42@gmail.com>
Date: Fri Apr 17 18:23:19 2026 -0500
HK: add manifest (#6057)
commit 14aa6571de03743fe54e868589e5bf74eeaca566
Author: black-sliver <59490463+black-sliver@users.norepl…
Omnises
pushed a commit
to FFX-AP/Archipelago
that referenced
this pull request
Oct 18, 2026
* APQuest: Fix focus issues (ArchipelagoMW#6090) * My best attempt at fixing focus issues on Android * didn't mean to remove that * APQuest: Add Link to Poptracker Pack to Setup Guide (ArchipelagoMW#6089) * Update setup_en.md * Update setup_de.md * WebHost: Fix hosting with invalid worlds installed (ArchipelagoMW#5648) * APWorld Builder: Add option to skip opening output folder (ArchipelagoMW#5847) * Stardew Valley: 0.6.7 Day 1 fixes (ArchipelagoMW#6098) - The Shane and Sebastian Portrait filler items werent tagged properly. - The Beach Farm adds one secretsanity check, so it needs to be in the allsanity preset - The Allsanity preset is renamed to "Maxsanity" to encourage better defined terminology and Allsanity means something else - The "All Random" preset has been removed entirely. It has been the cause of too many beginner footguns over the years. People can still achieve the effect manually, but at least they'll have to try a little bit to ruin their own experience. * Various Worlds: purge `world: MultiWorld` (ArchipelagoMW#5973) * Bomb Rush Cyberfunk: Fix logic requirement increasing after collecting item (ArchipelagoMW#6105) * WebHost: 2025 to 2026 (ArchipelagoMW#6094) * DKC3: Delete DKC3 (ArchipelagoMW#6097) * Docs: fix misinformation in tests.md (ArchipelagoMW#6125) * Factorio: Improve English instructions (ArchipelagoMW#5306) * WebHost: Fix: strict suuid converter (ArchipelagoMW#6130) * WebHost: disallow '=' and whitespace in SUUID and append the correct number of '=' This makes Room IDs unambiguous and avoids breaking if b64decode ever becomes strict. * Tests, WebHost: add SUUID tests * Tests, WebHost: add edge cases to SUUID tests * HK: add manifest (ArchipelagoMW#6057) * Core: Remove worlds.generic.PlandoItem (ArchipelagoMW#6035) * Test: add test for unpickling NetUtils enums (ArchipelagoMW#5326) * Test: add test for unpickling NetUtils enums This verifies that Utils.ByValue either works or is not required, and once we drop ByValue, this validates that future Python versions do not break our Enums again. * Test: NetUtils enum switch to more direct pickle.dumps It's probably better to use the direct interface in case restricted_dumps does some funky stuff in the future. Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Test: NetUtils enum fix import for change --------- Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * APQuest: Switch to Rule Builder (ArchipelagoMW#5906) * CachedRuleBuilderWorld * CachedRuleBuilderWorld * APQuest Rule Builder finished * Added comment Add a rule to check if the player has a Sword to destroy bushes. * Bump version + typo fix * Update worlds/apquest/rules.py Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> * Address Tchops' review comments --------- Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> * Options: Add more Option unit tests, add generic Option.__eq__, make cull_zeroes available to all OptionCounters ArchipelagoMW#5905 * The Witness: Make "Early Good Item" an OptionSet allowing Symbols, Doors and Obelisk Keys (ArchipelagoMW#3804) * New solution to that plando issue * better * Another warning * better comment * Best of both worlds I guess? * oops * Smarter code reuse * better comment * oop * lint * mypy * player_name * add unit test * oh * Rebrand time baby * This fits on one line * oop * Update worlds/witness/__init__.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * mypy * Reorganize some doors according to medic's suggestions * This should make it much faster (Thanks Medic) * Town Doors works because of Church being a check always, Church Entry feels really bad tho * Only add Desert Entry if there are no control panels stopping you * No overlap here, so why is it a set * Idk everything's kinda good without symbol shuffle * Just make sure, I guess * This makes way more sense doesn't it * Oh, this is probably important * oop * loc * oops 2 * ruff * that was already in there * Change the door picking a bit further * some renaming * slight wording change * Fix * Move it all to a new file * ruff * mypy * . * Make sure we're only adding as many tutorial checks as necessary * ruff * These checks aren't necessary, as the final list gets culled to only existing items anyway. It saves CPU cycles, but this is nicer for future compatibility * Special handling for caves shortcuts * 120 chars * Update worlds/witness/place_early_item.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Clean up Windmill & Theater cases * Make early_symbol_item removed instead * Add early_good_item to presets * replace double None checks with casts * That doesn't exist anymore * Mypy thing * Update the doors again a bit * Pycharm pls * ruff * forgot one * oop * Is it finally right? * Update options.py * Fix with new Panel Keys * Hopefully fix crash when one of the types runs out when the others haven't yet * oops * Medic suggestion * unused import * Update place_early_item.py * Update __init__.py * Update __init__.py * Update options.py * Add possible types to option desc * Make that include all Tutorial (Inside) checks * Update __init__.py * Update test_early_good_item.py * Update test_early_good_item.py * Slight cleanup * fix no tutorial locations being picked up by tutorial location size check --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * APQuest: Fix Easy Mode boss having too much health to beat (ArchipelagoMW#6146) * Change the boss' health to 2 in easy mode, adjust boss graphics to reflect this behavior * graphics formatting * The Witness: More control over progressive symbols (ArchipelagoMW#3961) * More control over progressive symbols! * Cleanup crew * lol * Make it configurable how second stage items act on their own * only let independent symbols work if they're not progressive * revert defaults * Better description * comment for reviewers * A complicated docstring for a complicated function * More accurate * This probably works more generically * Actually, this would cause other issues anyway, so no need to make this generic yet * :/ * oops * Change the system to use collect/remove override so that plando and start inventory work correctly * Vi stop doing that thing challenge * Make SecondStateSymbolsActIndependently an OptionSet * jank * oop * this is why we make unit tests I guess * More unit tests * More unit tests * Add note about the absence of Rotated Shapers from the independent symbols optionset * More verbose description * More verbose description * slight reword * Ruff ruff :3 I am a good puppy <3 * Remove invis dots * oops * Remove some unused symbols * display name * linecounting -> discard * Make all progressive chains always work * Unfortunately, this optimisation is now unsafe with plando :( * oops * This is now a possible optimisation * optimise optimise optimise * optimise optimise optimise * fix * ruff * oh * fixed frfr * mypy * Clean up the tests a bit * oop * I actually like this better now, so I'm doing it as default * Put stuff on the actual item class for faster collect/remove * giga oops * Make proguseful work * None item left beef * unnecessary change * formatting * add proguseful test to progressive symbols tests * add proguseful test to progressive symbols tests * clean up collect/remove a bit more * giga lmfao * Put stuff in option groups * Add the new symbol items to hint system * bump req client version * fix soft conflict in unit tests * fix more merge errors * CI: update softprops/action-gh-release to v3.0.0 (ArchipelagoMW#6162) The update will be required once GH drops support for Node 20. Also enables new options the action has now. * Factorio: move communication savegame to user dir (ArchipelagoMW#5646) * Rule Builder: Fix rule hash collisions (ArchipelagoMW#6169) * fix rule hash collisions * just let the dict do the work * Generate: Added "quantity" option for player yamls to use multiple times a single yaml (ArchipelagoMW#4948) * Added option for player yamls. * Extended documentation * Minimized value extraction. * Added allow_quantity option to host.yaml * Added option for player yamls. * Extended documentation * Minimized value extraction. * Added allow_quantity option to host.yaml * Update settings.py Co-authored-by: qwint <qwint.42@gmail.com> * Update Generate.py Co-authored-by: qwint <qwint.42@gmail.com> * Added allow_quantity as application argument. * Quantity > 1, allow_quantity = false -> error instead of silent 1 * Added check for quantity <= 0; reverted settings import change * Update Generate.py --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * MMBN3: Add spaces in concatenated string#5689 * lufia2ac/docs: fix some errors (ArchipelagoMW#5618) Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com> * SML2: Send logic affecting randomiser options as slot_data (ArchipelagoMW#5751) * Send logic affecting randomiser options as slot_data * SML2 - Universal Tracker support * Remove debug logs * Only check generation_is_fake once --------- Co-authored-by: alchav <alchav@jalchavware.com> * Docs: added an italian translation of the setup guide for Muse Dash (ArchipelagoMW#5834) * Create setup_it.md Created an italian translation of the setup for muse dash. I could not find direct references to translating a setup so I am assuming this is the correct way to submit a translation. While I am a native in italian and I would consider myself fluent in english, I am not a translator so mistakes could have been made. * Update __init__.py * sm64ex: Recommend Flatpak for Linux users (ArchipelagoMW#5897) * Pokemon RB: Fix mutating global item_groups in get_filler_item_name() (ArchipelagoMW#5947) The `banned_items` variable was the `"Unique"`list within the `item_groups` global. `get_filler_item_name()` could then mutate `banned_items` through `banned_items.append("Poke Doll")` and `banned_items += item_groups["Vending Machine Drinks"]`, causing the contents of the `item_groups` global to be mutated. This has been fixed by making `banned_items` a shallow copy of `item_groups["Unique"]`. * Docs: Add a warning to world api.md#events that you want StatusUpdate, not events, for actually sending the goal (ArchipelagoMW#5957) * AHIT: Update FAQ in setup guide (ArchipelagoMW#5975) * Docs: Mention APQuest as a reference (ArchipelagoMW#6000) The APQuest implementation of an APWorld is incredibly useful and should really have a mention here. * Docs: Make RB OptionFilter docs clearer (ArchipelagoMW#6028) * add more docs for option filters * reword the whole things * style guide * LADX: doc update (ArchipelagoMW#6050) * update gfxmod doc * romless generation * Update setup_en.md Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> --------- Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> * Jak1: yamlless UT support (ArchipelagoMW#6066) * KH2: Update setup_en.md (ArchipelagoMW#6129) * Docs: Rule Builder Filtered Example Fix (ArchipelagoMW#6152) * MultiServer: update help doc on auto_shutdown#5917 * Docs: Rewrite get_filler_item_name's docstring to avoid implying it's for filling all unfilled locations ArchipelagoMW#5956 * The Messenger: Add missing rules for Key of Strength#6124 * The Messenger: Add missing indirect conditions (ArchipelagoMW#6101) * Docs: Add missing space to plando doc ArchipelagoMW#6060 * Terraria: fix failing to generate with Calamity enabled and full accessibility on Mechanical Bosses goal ArchipelagoMW#5787 * Undertale: Handle zero arg /auto_patch (ArchipelagoMW#5130) * Muse Dash: Update to DASH AND SHOOT (ArchipelagoMW#6163) * ALttP: Fix starting mail and shield equipment from start inventory (ArchipelagoMW#6154) * WebHost: Add deletion of old content to cleanup function (ArchipelagoMW#6119) --------- Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Options: make template generation log the failing world if one fails (ArchipelagoMW#6176) * Launcher: display window for failed world loads if any (ArchipelagoMW#6058) * Options: Remove the "" from the start inventory examples (ArchipelagoMW#6165) --------- Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> * Super Mario 64: Basic testing (ArchipelagoMW#4335) --------- Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * Blasphemous: Increase logic performance (ArchipelagoMW#4585) --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * WebHost: Fix adding weighted text options (ArchipelagoMW#5116) * Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (ArchipelagoMW#5738) --------- Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Rule Builder: Implement AtLeast (ArchipelagoMW#6085) --------- Co-authored-by: Ian Robinson <ianronrobinson@gmail.com> * Pokemon Emerald: Switch to rule builder (ArchipelagoMW#5923) * Core: Make manifest accessible as a world attribute (ArchipelagoMW#6122) * WebHost: Add authors to supported games page (ArchipelagoMW#6123) * CommonClient: Make hint cost (shown in server label) update (ArchipelagoMW#6149) * A Link to the Past: We Have Enemizer at Home (ArchipelagoMW#6153) * Muse Dash: Convert to Rule Builder (ArchipelagoMW#6166) --------- Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> * KH2: fix ice cream double counting for logic (ArchipelagoMW#6068) * Factorio: Remove the need to have two separate installs (ArchipelagoMW#4221) * Settings: validate FilePath hash on use (ArchipelagoMW#5854) * Stardew Valley: Bypass CollectionState overhead by just calling prog_items (ArchipelagoMW#6065) * SM64: Change power star item classification to be deprioritized (ArchipelagoMW#6191) * The Messenger: Fix portal shuffle logic not using unlocked portals (ArchipelagoMW#6194) * Core: reset log level when using pyximport (ArchipelagoMW#6212) * Core: Bump version from 0.6.7 to 0.6.8 (ArchipelagoMW#6114) * Factorio: Locale changes (ArchipelagoMW#5908) --------- Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl> Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com> * Bump mistune from 3.2.0 to 3.2.1 in /WebHostLib (ArchipelagoMW#6185) Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1. - [Release notes](https://github.com/lepture/mistune/releases) - [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst) - [Commits](lepture/mistune@v3.2.0...v3.2.1) --- updated-dependencies: - dependency-name: mistune dependency-version: 3.2.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Muse Dash: Update to Touhou Mugakudan -V- (ArchipelagoMW#6234) * Rule Builder: Resolve empty and() to True_() instead of False_()(ArchipelagoMW#6239) * Core+RB: Make has_from_list, has_from_list_unique, has_group and has_group_unique return True if count <= 0 and list is empty (ArchipelagoMW#6240) * Factorio: Fixed a needlessly small bug that does not affect gameplay (ArchipelagoMW#6147) * WebHost: fix Authors on supported game page (ArchipelagoMW#6218) * WebHost: Config option for custom port ranges v2 (ArchipelagoMW#6009) * Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random. * - Added better fallback to default port range when a custom range fails - Updated config to be clearer * Updated soft-fail message * Removed dead import from customserver.py * Update requirements.txt Settings requirements to main core branch * fix what reviewers said and add some improvements * remove unused argument * try fixing test with try * use yaml lists instead of string for config * fix value type bug on ephemeral type * reuse sockets with websockets api instead of opening and closing them * add used ports cache and filter used ports when looking for ports * fix port randomizer * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * fix some reviews * use weights for random port and remove more-itertools * fix net_connections not working on macOS * rename variables and functions * lazy init `get_used_ports` * change `game_ports` to be `tuple` * fix last_used_ports not being updated locally * fix random choices and move game_port conversion into tuple * Apply suggestions from code review Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * use a named tuple on parse_game_ports * only use ranges * do it the duck way * this should check all usable ports before failing * fix while loop * add return type to weighted random * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * simplify tuple conversion check * add tests * reformat file and change `create_random_port_socket` test * add more test cases for parse_game_ports * try to prevent busy-looping on create random port socket when doing test * simplify parse game port tests to one assertListEqual * make the range lesser for port test * reduce range on macOS * Apply suggestions from code review Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update WebHostLib/customserver.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * remove unused import * Update WebHostLib/customserver.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * use generator expressions * check for 0-tuple * use some kind of shuffled queue * update tests * refactor new port handling into a class (#1) * change time to monotonic * Update docs/webhost configuration sample.yaml Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * add psutil 7.2.2 as requirement * Update WebHostLib/requirements.txt Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: Lexipherous <jasonnlelong@gmail.com> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Core: typing and cleaning, mostly in `Fill.py` (ArchipelagoMW#4459) * Core: typing and cleaning, mostly in `Fill.py` * fix typing of things we get out of plando blocks * clean getting multiworld from kwargs add a list type clean indentation * fix issues with merge conflict resolution * some things found after merge * ModuleUpdate: Add core requirements.txt as a constraint file to pip calls (ArchipelagoMW#6309) * Add core requirements.txt as a constraint file to pip calls * remove --upgrade as requested * Update ModuleUpdate.py * Gauntlet Legends: Implement New Game (ArchipelagoMW#3499) * Update GauntletLegendsClient.py * Continuation of obelisk update * APPP Implementation Groundwork. * Continuation of APPP Implementation * Create Pain.asm * ROM verification modified since crc32 hash can no longer be calculated. * Initial upload of barrel/chest locations. * Finished adding and naming all chests/barrels. * Continued locations. * Added new yaml options * Work on mirror shards * Python 3.8 compatibility * Finalized location names. Fixed lambda bug. * v1.0 * Removed excess Docs and Changed item counts. * Update Archipelago Unittests.run.xml * Started working on Docs. * Updated item arrays for client * Fix client bugs * Flake8 fixes + Yaml fix * Update speed boots * v1.1 * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * v1.0.4 * Initial Ruff format * Formatting part-2 * More formatting + Doc changes * Updated Docs * Move client to root * Update Client Name * Make Imports Relative * Add new yaml options + rename obelisks * v1.1 Initial Upload * v1.1.0 + some additions * Client Update * Client Updates * pre-v1.1.1 * Update GauntletLegendsClient.py * pre-1.2 * 1.2.0 * v1.2.1 * Client fixes * v1.3.0 * v1.4.0 * v1.4.1 * Merged Changes * Experimental * pre-v1.5.0 * Changes * v1.5.0 * Update GauntletLegendsClient.py * Death Update * pre v1.5.1 * Obelisk rule changes * pre-v1.5.1 * Update GauntletLegendsClient.py * v1.5.1 * v1.5.1 * Update GauntletLegendsClient.py * Small fix * Update GauntletLegendsClient.py * v1.5.2 * pre-v1.6.0 * pre-v1.6.0 * v1.6.0 * Update * Update GauntletLegendsClient.py * Test * pre-v1.6.0 * Client Updtaes * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update Rom.py * Update GauntletLegendsClient.py * Update Rom.py * Added Logging on stage enter * v1.6.2 * v1.6.2 * Update Rom.py * Update GauntletLegendsClient.py * v1.6.3 * Small Update * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Update GauntletLegendsClient.py * Changes ready for review * Update Rom.py * Remove root client * Update inno_setup.iss * Update client * Initial Review Refactor * Update Arrays.py * Review refactor * Update __init__.py * Small tweaks after test generations * Update GauntletLegendsClient.py * Implement new check_locations() function * Add name for Skorn to level_names Dict * Fix for ArchipelagoMW#4671 * Update __init__.py * Adjust item frequency + Place 50% of filler as local * Oops I modified the itempool after create_items teehee * Update __init__.py * Check MD5 hash before patching ROM * Update __init__.py * Fix get_filler_item_name() * Update MD5 check to built in method in FilePath * Update Rom.py * Update worlds/gl/Rom.py Co-authored-by: qwint <qwint.42@gmail.com> * WIP Generation fixes * v1.7.1 * Update Archipelago Unittests.run.xml * 0.7.2 * Update GauntletLegendsClient.py * Review Edits * Update World description * Fuzz fixes * Update GauntletLegendsClient.py * Make static data immutable * Update option comparisons since no longer a Choice * Update worlds/gl/Rom.py Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> * Update __init__.py * Initial Update commit * Progress * Remove un-used import + Add manifest * Add missing docstring for client command * Progress * pre-v2.0.0-BETA * Updates * Progress * Working Generations * Working IN-Game * v2.0.0-BETA * Create archipelago.json * v2.0.1 * v2.0.1 FINAL * pre v2.0.2 * Delete report.json * Cleanup * pre v2.0.2 * v2.0.2 * PR Ready * Update Items.py * Delete fuzz.py * Update Items.py * Update GauntletLegendsClient.py * Fix scouting disabled locations * Client Updates * v2.0.3 * Increment World Version * Docstring + slot_data updates * Option name update + Remove redundant option * Code Cleanup * Trenches is level 24 * Frequencies * More cleanup and removal of stale code. MISSING BASEPATCH * v2.1.0 * Minor enemy changes * Small fix * Update Rom.py * v2.1.1 * Small fixes * Update basepatch.bsdiff4 * Update GauntletLegendsClient.py * Socket error clarity * Delete settings.local.json * Update GauntletLegendsClient.py * v2.1.2 fixes * Boss portal fix * Small client fix + Item Frequencies * Update archipelago.json * Fix for games playing with max difficulty lower than 4 not sending locations * Update archipelago.json * v2.1.5 * Fix for Chimera's lair mirror shard * Update archipelago.json * Mod Re-Base + Queue limits + Item Receiving fixes * Options cleanup and newlines for some files * Include v2.x features in docs * Make sure players has at least 1 item * v2.1.6 * Update archipelago.json * Review Edits + Client Tweaks --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * WebHost: Bump mistune from 3.2.1 to 3.3.0 in /WebHostLib ArchipelagoMW#6324 * Core: Allow running unit tests scoped to specific worlds (ArchipelagoMW#6290) This allows the unit tests to be run on specific worlds only, it works by using an environment variable AP_TEST_WORLDS which is a comma separated list of world directories. * Core: fix Set import (ArchipelagoMW#6235) mistake made in pr ArchipelagoMW#5048 ArchipelagoMW#5048 (comment) * Core: Adjust YAML error message to clarify the name is not the cause of the error (ArchipelagoMW#6267) * Docs: add guidance for choosing minimum/maximum_ap_version (ArchipelagoMW#6265) * Core: Pre Output Steps Log (ArchipelagoMW#6047) * Core: Add parameter to visualize_regions to display Rule Builder explanations on exits (ArchipelagoMW#6184) Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Launcher: Loading Screen (ArchipelagoMW#6115) * Launcher: fix world import ordering conflict between ArchipelagoMW#6115 and ArchipelagoMW#6058 * Launcher: Delete unused functions (ArchipelagoMW#6332) These were moved to LauncherComponents in ArchipelagoMW#6115, but due to a bad merge resolution, the originals were left behind. * RuleBuilder: Optimize Has("Item", 0) (ArchipelagoMW#6228) * Unittests: allow running unittests for specific worlds when using unittest runner (ArchipelagoMW#6338) * Build APWorlds: fix moved import (ArchipelagoMW#6343) * SC2: Disabling UT as it doesn't work (ArchipelagoMW#6346) * Tests: Force race mode off in test_generate_yaml (ArchipelagoMW#6349) * Core: update platformdirs (ArchipelagoMW#6328) * The Messenger: Fix shop price not correctly handled by UT (ArchipelagoMW#6340) * Starcraft 2: item pool reduction overcounting fix (ArchipelagoMW#6318) * Starcraft 2: Moving pool filter to use a counter instead of a dict (ArchipelagoMW#6366) * Core: remove per_slot_randoms and DeprecateDict (ArchipelagoMW#6186) * ALTTP: Reflowed headers in docs and explicitly added what client is used. (ArchipelagoMW#5758) * MultiServer: Update hint_points when hint cost or check points is changed (ArchipelagoMW#6219) * Setup: bump cx-Freeze to fix frozen linux shortcuts (ArchipelagoMW#6365) * The Messenger: Various small logic fix (ArchipelagoMW#6337) * Options: add typing and remove unnecessary deepcopy call in OptionCounter (ArchipelagoMW#6321) Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> * Factorio: Locale fixes (ArchipelagoMW#6237) * Core: Fix Open Patch (ArchipelagoMW#6356) * ALttP: Fix Randomzie Enemy Damage (ArchipelagoMW#6296) * CommonClient: Ignore invalid deathlink packets (ArchipelagoMW#6376) * Core: limit depth of received JSON to 16 (ArchipelagoMW#6378) * Core: limit depth of received JSON to 16 This applies to both MultiServer and CommonClient. This means DataStorage default is limited to 14 levels, DataStorage op arg is limited to 13 levels. * Core: fix JSON depth limit check for escape codes * Core: cythonize JSON depth limit check * Core: Add helper for unescape kivy strings + cleanup its usages (ArchipelagoMW#6023) * Jak and Daxter: Update client to use PME 2.0.x. (ArchipelagoMW#6393) * CommonClient: Match ServerLabel's team to other UIs (ArchipelagoMW#5875) * HK: Various silly fixes (ArchipelagoMW#6276) * BizHawkClient: Fix compatibility for Lua 5.5+ (ArchipelagoMW#6200) * CommonClient: reset session state when connecting to a different room or slot (ArchipelagoMW#6231) * MultiServer: reject None targets on Bounce and validate types before sending Bounced (ArchipelagoMW#6397) * MultiServer: Allow "and" chaining of Bounce packet conditions & add teams support (ArchipelagoMW#3845) * Allow 'and' concatenation of bounce packet conditions * Docs + small change * Docs stuff * update Bounced as well * lol * shadowing issue * Slight rework to allow teams * teams note * Make the PR ready * docs further up too * Let's not do this actually * Use operator & don't redefine functions * team default * remove unnecessarily added whitespace * The Witness: Universal Tracker support + Clean up which options actually need to be in slot_data (ArchipelagoMW#5503) * Re-gen with UT + slim slot_data slightly * make use of relevance in ut code * That's not how enums work * fixup * more ut compat * more ut fixup * more ut fixup * utils entity hex fixup * Me when I lie * Update options.py * APQuest: Reimplement Dijkstra by hand (so that it is LLM-free again) (ArchipelagoMW#6315) * reimplement Dijkstra by hand * make it so that the player faces the breakable object even if they can't break it * ruff * The Messenger: Remove connection from Climb Shop to Rocket Maze Checkpoint - ArchipelagoMW#6258 * Civ6: Update BOOST_TECH_CASTLES (ArchipelagoMW#6270) Replaced 8 slot government techs with 6 slot * Stardew Valley: Rebalanced a dozen or so meme bundles (ArchipelagoMW#6214) * Tests: remove exception for LADX in test_itempool_not_modified (ArchipelagoMW#6390) * Stardew Valley: Fixed filler buffs only rolling one of each instead of as many as needed (ArchipelagoMW#6293) * KH2: Prevent the client from crashing if the player duplicated items (ArchipelagoMW#6210) * Subnautica: Handle empty filler item weights with specific error (ArchipelagoMW#6361) * Core: Update PlandoConnection.Direction to use StrEnum (ArchipelagoMW#5801) * Satisfactory: Fix broken links on the Setup guide (ArchipelagoMW#6110) * KH2: Make Lucky Emblems behave like bounties and keyblade stats (ArchipelagoMW#6190) Swap the amount required and avaiable if required is more than avaiable instead of making avaiable equal required * Launcher: Show error message when world fails to load during install (ArchipelagoMW#6292) * Core: Fix loading of worlds installed in launcher (ArchipelagoMW#6319) * Stardew Valley: Reorganise option groups and visibility a little bit (ArchipelagoMW#6224) * Stardew Valley: Apworld Version To 7.4.25 (ArchipelagoMW#6407) * stardew valley: use /explain from universal tracker instead of stardew valley client (ArchipelagoMW#6241) * Wargroove: Add item groups (ArchipelagoMW#6254) * Stardew Valley: Fixed Artifact spot logic (ArchipelagoMW#6213) * Test: flask duplicate route is now a ValueError (ArchipelagoMW#6380) * Wargroove: actually import Items (ArchipelagoMW#6422) * Terraria: transfer maintainership to Desperandos (ArchipelagoMW#6170) * BHC: don't override --connect when manifest has empty server (ArchipelagoMW#6435) * Tests: Remove unneeded world exclusions (ArchipelagoMW#6396) * MMBN3: Handle timeouts on dual stack networks by catching OSError (ArchipelagoMW#6301) * MultiServer: Correct Bounce Target logic, add unit tests (ArchipelagoMW#6417) * Correct Bounce Target logic, write unit tests tmp * that is not correct * What was I smoking * explicitly document None * What was I smoking * fix weakref syntax * ruff * fix magicmoc * Address Berserker's comments * comment * consistently use self.assertEqual * make slot 2 on team 3 not use deathlink to test different tags for the same slot on different teams * Improve error message * The Wind Waker: fix sending already checked and non-existing locations (ArchipelagoMW#6410) * Kingdom Hearts 2: fix sending already checked locations (ArchipelagoMW#6411) * SM64: Disable default tests for flaky move rando options (ArchipelagoMW#6457) * docs: apquest: make it clear that launcher components are optional (ArchipelagoMW#6288) * Make it clear that launcher components are optional * Update comment for clarity on launcher components * Launcher: fix for more terminal on linux (ArchipelagoMW#6436) * Add check for cosmic terminal and use different arguments if so * Changed check for terminal to be strictly against executable name instead of path based on this comment ArchipelagoMW#6436 (comment) * Add `ptyxis` to list of moddern terminals Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Changed `-e` terminal launch method to use `sh` This standardizes the environment in which archipelago components launch and fixes launching with `zutty` * Properly import pathlib * Added comment detailing what `modern_terminals` is * Refactored launching in terminal to new function in utils * Optimised imports in Launcher.py * Revert "Refactored launching in terminal to new function in utils" This reverts commit 4336798. * Fixed unintentional cleanup in Utils.py * Simplify check for terminals Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> * Fully import pathlib * Fix spelling mistake * added gnome-terminal to list of modern_terminals * added cosmic-term and ptyxis as fallback terminals * Changed terminal search to add more terminal names easier also included `alacritty` and `kitty` * Check xterm terminal last Also stores the list of terminals in tuples Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Add type hint to terminal variable Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --------- Co-authored-by: Osiris32-and-a-half <psypv2@exmail.nottingham.ac.uk> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Core: Add .apworlds to loading screen (ArchipelagoMW#6460) * Rule Builder : Made AtLeast a dataclass (ArchipelagoMW#6421) * Core: Restrictive fill in batches to reduce state sweeping costs (ArchipelagoMW#3872) This patch breaks up fill_restrictive to fill in batches of items at a time. Each batch creates its own batch_base_state, and additionally a sweep state created from the batch's base state (_partial_exploration_state). The advantage to this is that each maximum_exploration_state can be created from the batch's _partial_exploration_state, which has already reached many regions and locations, rather than having to sweep from base_state each time. * MultiServer, customserver: move data package handling, optimize RAM usage (ArchipelagoMW#5981) * MultiServer, customserver: move data package handling Create a new class that handles conversion worlds+embedded -> context data. Create a derived class that uses static_server_data+pony instead. There is also a not very efficient feature to deduplicate strings (may need perf testing). By moving code around, we can simplify a lot of the world loading. Where code lines were touched, some typing and some reformatting was added. The back compat for GetDataPackage without games was finally dropped. This was done as a cleanup because the refactoring touched those lines anyway. Also reworked the per-context dicts and the RoomInfo to hopefully be more efficient by ignoring unused games. (Generating the list of used games was required for the new code anyway.) Side effect of the MultiServer cache: we now load worlds lazily (but still all at once) and don't modify the games package in place. If needed we create copies. This almost gets us to the point where MultiServer doesn't need worlds - it still needs them for the forbidden items. There is a bonus optimization that deduplicates strings in name_groups that may have bad performance and may need some perf testing if we run into issues. * MultiServer: fix string deduplication in data package cache * MultiServer, customserver: minor formatting fixes * MultiServer: fix data package cache for missing checksum case * MultiServer: improve string deduplication in games package cache * customserver: handle missing checksum in datapackage cache * customserver: typing cleanup in games package cache * Test, MultiServer, customser: add tests for games package cache * Test, MultiServer: reorder imports Hopefully this fixes the random test failures with pytest-xdist * customserver: make WebHost import lazy in games package cache and fix test * customserver: games package cache: fix py3.11 compat * MultiServer, customserver: cache: typing improvements * customserver: cache: reformat * Test: move customserver tests to not interfere with webhost * MultiServer, customserver: cache: rename module * Multiserver: better error message for missing Datapackage * customserver: cache: invert if for readability * customserver: optimize non_hintable_names * Use an empty frozenset singleton * Only include non-empty sets in static_server_data * Only prefill dict with played games This should save ~2-4KB per room and slightly speedup lookup. --------- Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> * Launcher: Fix initial position of "Search" text upon loading (ArchipelagoMW#6456) * Launcher: Fix loading when an unknown arg is provided (ArchipelagoMW#6451) * TUNIC: Universal Tracker deferred entrances support (ArchipelagoMW#5454) * Core, Tests: Update usages of multiworld.get_all_state (ArchipelagoMW#5793) * Core: Make manifest error a messagebox and show which world (ArchipelagoMW#6133) * Jak1: use Utils.user_path for consistant user data (ArchipelagoMW#6150) * KH2: Keyblade Min Max Clarification (ArchipelagoMW#6188) Actually swap option values for keyblade min an max to show correctly in spoiler log. And clarify in the warning the two values get swapped. (same as bounties but not lucky emblems) * TUNIC: Add fuse locations to Universal Tracker map integration (ArchipelagoMW#6198) * TUNIC: Add launcher options (ArchipelagoMW#6199) * Options: add function to validate custom text in TextChoice during from_text (ArchipelagoMW#6205) * Pokemon Emerald: Fix dexsanity encounters using non-enabled encounter types for logical access (ArchipelagoMW#6161) * Docs: Add caveat about init files in subfolders (ArchipelagoMW#6222) * TUNIC: Add troubleshooting section to setup guide (ArchipelagoMW#6227) * Fill: make non prog start inventory panic actually use the new filler items (ArchipelagoMW#6246) * Raft: Update setup guide to note the downpatch requirement (ArchipelagoMW#6250) * Docs: Update docs and typing for items_handling to not allow None (ArchipelagoMW#6257) * Jak and Daxter: Add UT UI (ArchipelagoMW#6275) * Civ6: Setup Guide update (ArchipelagoMW#6284) * TLOZ: Implement dialog speed options (ArchipelagoMW#6286) * Muse Dash: Update song list to the 8th Anniversary songs + Undertale/Deltarune songs (ArchipelagoMW#6291) * Lingo: Add connection to Outside The Undeterred from Roof (ArchipelagoMW#6297) * Aquaria: Adding archipelago.json and AI disclosure (ArchipelagoMW#6389) * TUNIC: Shuffle Enemy Drops and Souls (ArchipelagoMW#6249) * Core: Add common rom extensions to global.apignore (ArchipelagoMW#6207) * KH2: 3 Client Bugfixes (ArchipelagoMW#6373) * Docs: Fix typo in "adding games" doc (ArchipelagoMW#6466) * Launcher: Fix failed world display (ArchipelagoMW#6468) * Timespinner: Lantern Naming and Logic Overhaul (ArchipelagoMW#6121) * Stardew Valley: pass whole months to has_lived_months (ArchipelagoMW#6470) * TUNIC: Fix elevation for Atoll Upper Entrance (ArchipelagoMW#6465) * SA2B: v2.4.6 Logic Fixes (ArchipelagoMW#6453) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> Co-authored-by: palex00 <32203971+palex00@users.noreply.github.com> Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com> Co-authored-by: agilbert1412 <alexgilbert@yahoo.com> Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com> Co-authored-by: Trevor L <80716066+TRPG0@users.noreply.github.com> Co-authored-by: williamronn <wille.ronn@gmail.com> Co-authored-by: PoryGone <98504756+PoryGone@users.noreply.github.com> Co-authored-by: sudo-nano <63484662+sudo-nano@users.noreply.github.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: Ian Robinson <drtchops@users.noreply.github.com> Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com> Co-authored-by: Mrks <68022469+mrkssr@users.noreply.github.com> Co-authored-by: el-u <109771707+el-u@users.noreply.github.com> Co-authored-by: Ludwig <80899010+wordfcuk@users.noreply.github.com> Co-authored-by: Oshroth <Oshroth@users.noreply.github.com> Co-authored-by: alchav <alchav@jalchavware.com> Co-authored-by: UCSA <moro.matteorosario@gmail.com> Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de> Co-authored-by: Mysteryem <Mysteryem@users.noreply.github.com> Co-authored-by: Ixrec <ericrhitchcock@gmail.com> Co-authored-by: CookieCat <81494827+CookieCat45@users.noreply.github.com> Co-authored-by: Sophira <github@theblob.org> Co-authored-by: threeandthreee <a.l.nordstrom@gmail.com> Co-authored-by: RoobyRoo <thegreenrobby@gmail.com> Co-authored-by: massimilianodelliubaldini <8584296+massimilianodelliubaldini@users.noreply.github.com> Co-authored-by: River Buizel <4911928+rocket0634@users.noreply.github.com> Co-authored-by: Sophia Caspe <avi.caspe@gmail.com> Co-authored-by: Jérémie Bolduc <16137441+Jouramie@users.noreply.github.com> Co-authored-by: Seldom <38388947+Seldom-SE@users.noreply.github.com> Co-authored-by: Justus Lind <DeamonHunter@users.noreply.github.com> Co-authored-by: Alchav <59858495+Alchav@users.noreply.github.com> Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com> Co-authored-by: Scipio Wright <scipiowright@gmail.com> Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com> Co-authored-by: josephwhite <22449090+josephwhite@users.noreply.github.com> Co-authored-by: Christina <123173340+Paperkoopa@users.noreply.github.com> Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> Co-authored-by: Ishigh1 <bonjour940@yahoo.fr> Co-authored-by: Ian Robinson <ianronrobinson@gmail.com> Co-authored-by: Bryce Wilson <gyroscope15@gmail.com> Co-authored-by: JaredWeakStrike <96694163+JaredWeakStrike@users.noreply.github.com> Co-authored-by: Katelyn Gigante <clockwork.singularity@gmail.com> Co-authored-by: Will Morrow <duh102@gmail.com> Co-authored-by: CosmicWolf <54233835+Enderdraak@users.noreply.github.com> Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Uriel <imurx@proton.me> Co-authored-by: Lexipherous <jasonnlelong@gmail.com> Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com> Co-authored-by: jamesbrq <jamesbrq@gmail.com> Co-authored-by: James White <james_white_d@hotmail.com> Co-authored-by: Patrick Wehbe <50799614+patrickwehbe@users.noreply.github.com> Co-authored-by: g0goTAS <79611210+g0goTAS@users.noreply.github.com> Co-authored-by: Berserker <fabian.dill@web.de> Co-authored-by: Phaneros <31861583+MatthewMarinets@users.noreply.github.com> Co-authored-by: CodeGorilla <just.a.smith@att.net> Co-authored-by: Severencir <62644089+Severencir@users.noreply.github.com> Co-authored-by: Jacob Lewis <JacobMLewis@Live.com> Co-authored-by: Colin <colinb969@gmail.com> Co-authored-by: SomeJakeGuy <39894486+SomeJakeGuy@users.noreply.github.com> Co-authored-by: Gearwcu <huizger@gmail.com> Co-authored-by: shananas <47014056+shananas@users.noreply.github.com> Co-authored-by: Rob B <computerguy440+gh@gmail.com> Co-authored-by: Noa Aarts <noa@voorwaarts.nl> Co-authored-by: rosen200 <roseweldon303@gmail.com> Co-authored-by: BadMagic100 <dempsey.sean@outlook.com> Co-authored-by: Osiris <64905829+Osiris32-and-a-half@users.noreply.github.com> Co-authored-by: Osiris32-and-a-half <psypv2@exmail.nottingham.ac.uk> Co-authored-by: mkoertshuis <53483154+mkoertshuis@users.noreply.github.com> Co-authored-by: Silent <110704408+silent-destroyer@users.noreply.github.com> Co-authored-by: DJ-lennart <alexander.lt.carlsson@hotmail.com> Co-authored-by: B1t <christopher.j.wallis@gmail.com> Co-authored-by: Star Rauchenberger <fefferburbia@gmail.com> Co-authored-by: Louis M <prog@tioui.com> Co-authored-by: Greg <beitlergreg@gmail.com> Co-authored-by: Michael McBride <urzamtg@gmail.com> Co-authored-by: luke0172 <73260475+luke0172@users.noreply.github.com>
dracador
pushed a commit
to cjmang/Archipelago
that referenced
this pull request
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
With the addition of finalise_multiworld and pre_output, there is no longer a clear indicator for the moment at which the progression balancing step is finished. Previously, the log that signified that the output phase started was enough, since it directly followed the progression balancing step, but now that there is something between the progression balancing and the output step, adding a log before the 2 new steps feels necessary..
What is this fixing or adding?
A log saying that the pre-output steps are starting. I know that it may lead to confusion with the fact that there is a step that's called pre_output, so feedback to have a better text for that log would be appreciated.
How was this tested?
Looking at logs during generation, and in the log files.
If this makes graphical changes, please attach screenshots.