James White
21e728c38d
CommonClient: reset session state when connecting to a different room or slot ( #6231 )
2026-08-16 10:24:28 +02:00
Bryce Wilson
c6d9411814
BizHawkClient: Fix compatibility for Lua 5.5+ ( #6200 )
2026-08-16 10:22:31 +02:00
qwint
a0ca21b8d9
HK: Various silly fixes ( #6276 )
2026-08-16 09:42:13 +02:00
qwint
5b155bcc48
CommonClient: Match ServerLabel's team to other UIs ( #5875 )
2026-08-16 09:38:37 +02:00
massimilianodelliubaldini
e3a60683e5
Jak and Daxter: Update client to use PME 2.0.x. ( #6393 )
2026-08-15 21:45:54 +02:00
qwint
ce8186010d
Core: Add helper for unescape kivy strings + cleanup its usages ( #6023 )
2026-08-14 23:39:55 +02:00
black-sliver
fe5b49e189
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
2026-08-10 11:03:01 +02:00
Colin
3359cacedd
CommonClient: Ignore invalid deathlink packets ( #6376 )
2026-08-08 00:39:41 +02:00
Alchav
0f76d35a8c
ALttP: Fix Randomzie Enemy Damage ( #6296 )
2026-08-06 07:14:01 +02:00
Ishigh1
d62772abc6
Core: Fix Open Patch ( #6356 )
2026-08-05 07:59:08 +02:00
CosmicWolf
408954c60b
Factorio: Locale fixes ( #6237 )
2026-08-05 02:56:52 +02:00
qwint and Jérémie Bolduc
f328ce7e7d
Options: add typing and remove unnecessary deepcopy call in OptionCounter ( #6321 )
...
Co-authored-by: Jérémie Bolduc <[email protected] >
2026-08-05 00:26:55 +02:00
Jérémie Bolduc
8b3557cd6c
The Messenger: Various small logic fix ( #6337 )
2026-08-05 00:24:35 +02:00
qwint
e759562506
Setup: bump cx-Freeze to fix frozen linux shortcuts ( #6365 )
2026-08-05 00:18:52 +02:00
Duck
838d55327e
MultiServer: Update hint_points when hint cost or check points is changed ( #6219 )
2026-08-05 00:12:23 +02:00
Jacob Lewis
26e4574252
ALTTP: Reflowed headers in docs and explicitly added what client is used. ( #5758 )
2026-08-04 08:10:43 +02:00
Fabian Dill
53bc3754c0
Core: remove per_slot_randoms and DeprecateDict ( #6186 )
2026-08-03 17:16:25 +02:00
Phaneros
18c3b19cfa
Starcraft 2: Moving pool filter to use a counter instead of a dict ( #6366 )
2026-07-30 23:39:51 +02:00
Severencir
b34b84aa8f
Starcraft 2: item pool reduction overcounting fix ( #6318 )
2026-07-30 15:25:11 +02:00
Jérémie Bolduc
26792ef113
The Messenger: Fix shop price not correctly handled by UT ( #6340 )
2026-07-30 15:19:06 +02:00
Fabian Dill
a7abc86eb1
Core: update platformdirs ( #6328 )
2026-07-30 15:18:21 +02:00
CodeGorilla
abb6f2647e
Tests: Force race mode off in test_generate_yaml ( #6349 )
2026-07-30 15:17:49 +02:00
Phaneros
72dbfcc1d3
SC2: Disabling UT as it doesn't work ( #6346 )
2026-07-20 11:49:12 +02:00
qwint
318a4ffa5e
Build APWorlds: fix moved import ( #6343 )
2026-07-19 22:48:14 +02:00
Silvris
2cde25ffd0
Unittests: allow running unittests for specific worlds when using unittest runner ( #6338 )
2026-07-18 21:53:35 +02:00
Ishigh1
6875f9da90
RuleBuilder: Optimize Has("Item", 0) ( #6228 )
2026-07-18 12:32:54 +02:00
Katelyn Gigante
bbd5fc3822
Launcher: Delete unused functions ( #6332 )
...
These were moved to LauncherComponents in #6115 , but due to a bad merge resolution, the originals were left behind.
2026-07-18 11:28:22 +02:00
Berserker
ae7c5609cd
Launcher: fix world import ordering conflict between #6115 and #6058
2026-07-18 04:53:04 +02:00
Fabian Dill
c8cf2c4112
Launcher: Loading Screen ( #6115 )
2026-07-18 02:38:34 +02:00
Katelyn Gigante and Nicholas Saylor
feab54daec
Core: Add parameter to visualize_regions to display Rule Builder explanations on exits ( #6184 )
...
Co-authored-by: Nicholas Saylor <[email protected] >
2026-07-17 20:08:20 +02:00
g0goTAS
13f1929286
Core: Pre Output Steps Log ( #6047 )
2026-07-17 20:07:07 +02:00
Patrick Wehbe
c6a7c0c193
Docs: add guidance for choosing minimum/maximum_ap_version ( #6265 )
2026-07-17 20:06:10 +02:00
James White
4efce428a4
Core: Adjust YAML error message to clarify the name is not the cause of the error ( #6267 )
2026-07-17 20:03:52 +02:00
Doug Hoskisson
6907d89968
Core: fix Set import ( #6235 )
...
mistake made in pr #5048
https://github.com/ArchipelagoMW/Archipelago/pull/5048#discussion_r3328989050
2026-07-17 20:03:20 +02:00
James White
9c80dc6257
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.
2026-07-17 20:01:28 +02:00
dependabot[bot]
c311685064
WebHost: Bump mistune from 3.2.1 to 3.3.0 in /WebHostLib #6324
2026-07-16 00:04:19 +02:00
f110a7efbc
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 <[email protected] >
* 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 <[email protected] >
* 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 <[email protected] >
Co-authored-by: Doug Hoskisson <[email protected] >
Co-authored-by: Fabian Dill <[email protected] >
Co-authored-by: NewSoupVi <[email protected] >
2026-07-11 19:26:27 +02:00
qwint
f9c5868f7b
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
2026-07-11 18:27:58 +02:00
Doug Hoskisson
fde71f66f3
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
2026-07-11 13:26:19 +02:00
e6e0bc3042
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 <[email protected] >
* 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 <[email protected] >
* 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 <[email protected] >
* 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 <[email protected] >
* Update WebHostLib/customserver.py
Co-authored-by: black-sliver <[email protected] >
* Apply suggestions from code review
Co-authored-by: Doug Hoskisson <[email protected] >
* remove unused import
* Update WebHostLib/customserver.py
Co-authored-by: Doug Hoskisson <[email protected] >
* 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 <[email protected] >
* add psutil 7.2.2 as requirement
* Update WebHostLib/requirements.txt
Co-authored-by: black-sliver <[email protected] >
---------
Co-authored-by: Lexipherous <[email protected] >
Co-authored-by: Duck <[email protected] >
Co-authored-by: black-sliver <[email protected] >
Co-authored-by: Doug Hoskisson <[email protected] >
2026-06-20 17:36:18 +02:00
Emily
5ccef9802a
WebHost: fix Authors on supported game page ( #6218 )
2026-06-07 18:21:30 +02:00
CosmicWolf
09aba95c03
Factorio: Fixed a needlessly small bug that does not affect gameplay ( #6147 )
2026-06-03 17:53:37 +02:00
Ishigh1
2a8ebe2399
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 )
2026-06-03 08:20:04 +02:00
Ishigh1
ad0af18f51
Rule Builder: Resolve empty and() to True_() instead of False_()( #6239 )
2026-06-02 09:10:43 +02:00
Justus Lind
65277a50ce
Muse Dash: Update to Touhou Mugakudan -V- ( #6234 )
2026-06-01 22:38:23 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d241829585
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] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-31 23:55:57 +02:00
b24b3d10b6
Factorio: Locale changes ( #5908 )
...
---------
Co-authored-by: Joris Santen <[email protected] >
Co-authored-by: lepideble <[email protected] >
2026-05-31 01:49:39 +02:00
Fabian Dill
787ddc400c
Core: Bump version from 0.6.7 to 0.6.8 ( #6114 )
2026-05-27 03:26:30 +02:00
qwint
545171f3f4
Core: reset log level when using pyximport ( #6212 )
2026-05-20 09:12:54 +02:00
Jérémie Bolduc
d0abfeb88b
The Messenger: Fix portal shuffle logic not using unlocked portals ( #6194 )
2026-05-18 13:53:48 +02:00