Releases: ManualForArchipelago/Manual
Stable - 20250813
What's Changed
- CommonClient uses the game value before connect now, which broke the client... again by @FuzzyGamesOn in #162
- Temporarily disable yamlless UT gen by @silasary in #163
Full Changelog: manual_stable_20250714...manual_stable_20250813
Stable - 20250714
This stable release contains the following changes:
Client Changes
- Game Select dropdown by @silasary in #86
- Add search box to the client by @FuzzyGamesOn in #108
- If provided with a string for category, don't iterate over each letter by @silasary in #96
- Better messages when client errors by @silasary in #113
- Use 0.5.1's new UI functions by @silasary in #99
- Add a launcher component for the Manual Discord Server by @silasary in #106
- Add a launcher Icon by @silasary in #93
- KivyMD Support by @qwint in #135
- Fixed bug that puts Victory in
(No Category)when it has categories by @FuzzyGamesOn in #118 - Only do Launcher component stuff if we're in the Launcher by @silasary in #124 and #138
- Fix make_gui type hint by @silasary in #137
- fix item being counted twice in client by @nicopop in #147
- Fix client crash if the server doesn't send slot data by @silasary in #151
Apworld Changes
- New regions.json key:
entrance_rules. Allows you to make entering a region cost different things based on where you're coming from. by @silasary in #27 - Support for Rule function recursion by @nicopop in #91
- Removed some circular imports in helper.py by @nicopop in #92
- Helper function for loading a csv file. People might find this useful for hooks by @silasary in #98
- Make Item values all be lowercase by @nicopop in #103
- Free UT yamls for Manual worlds that want them by @FuzzyGamesOn in #111
- Add support for assigning multiple item classifications by @Seatori in #105
- Adding options.json by @nicopop in #54
- Itemvalue misc fixes by @nicopop in #104
- Make "Invalid logic format" more descriptive for requires syntax by @FuzzyGamesOn in #112
after_options_definednew passes constructed dataclass by @nicopop in #114- Adding the YamlCompare req function by @nicopop in #130
- Make Requirements function arguments optional by @nicopop in #133
- automatically spaces from user's options names to avoid crashes by @nicopop in #116
- Req function argument convert rewrite by @nicopop in #120
- Support number-as-string values in Item.Count by @silasary in #123
- Allow for empty array in item categories by @silasary in #128
- Better req function exception messages by @nicopop in #127
- changes to using / explicitly per pkgutil spec by @qwint in #134
- Fix region logic to apply to entrances and not exits by @axxroytovu in #140
- Options.py Visibility and types fixes by @nicopop in #143
- fix crash cause by unbound item in create_items by @nicopop in #145
- Fix before_create_items_all hook by @nicopop in #148
- Ensure json rules cannot run python code while being parsed by @Mysteryem in #149
- ItemValue optimizations by @nicopop in #146
- Item Counts improvements by @nicopop in #150 and #156
- Overhaul
before_create_itemhook by @axxroytovu in #131 - Additional DataValidation Rules by @FuzzyGamesOn in #152, #158, #159, and #160
Hook Changes (From last Stable)
- In hooks/Data.py, Add the new hook after_load_option_file
- In hooks/Options.py, Move all existing Option definitions from
after_options_definedtobefore_options_definedthen replaceafter_options_definedwith the new version - In hooks/Options.py, add the new hooks before_option_groups_created and after_option_groups_created
- In hooks/world.py, add
before_create_items_all, andafter_collect_itemandafter_remove_item
Hook Changes (From last Unstable)
- None
New Contributors
- @Seatori made their first contribution in #105
- @qwint made their first contribution in #134
- @Mysteryem made their first contribution in #149
Full Changelog: manual_stable_20241119...manual_stable_20250714
Unstable - 20250516
This unstable release contains the following changes:
Client Changes
- KivyMD Support by @qwint in #135
- Fixed bug that puts Victory in
(No Category)when it has categories by @FuzzyGamesOn in #118 - Only do Launcher component stuff if we're in the Launcher by @silasary in #124 and #138
- Fix make_gui type hint by @silasary in #137
- Client sort order revert while we wait on client updates by @FuzzyGamesOn in #144
- fix item being counted twice in client by @nicopop in #147
- Fix client crash if the server doesn't send slot data by @silasary in #151
APWorld Changes
- Adding the YamlCompare req function by @nicopop in #130
- Make Requirements function arguments optional by @nicopop in #133
- automatically spaces from user's options names to avoid crashes by @nicopop in #116
- Req function argument convert rewrite by @nicopop in #120
- Support number-as-string values in Item.Count by @silasary in #123
- Allow for empty array in item categories by @silasary in #128
- Better req function exception messages by @nicopop in #127
- changes to using / explicitly per pkgutil spec by @qwint in #134
- Fix region logic to apply to entrances and not exits by @axxroytovu in #140
- Options.py Visibility and types fixes by @nicopop in #143
- fix crash cause by unbound item in create_items by @nicopop in #145
- Fix before_create_items_all hook by @nicopop in #148
- Ensure json rules cannot run python code while being parsed by @Mysteryem in #149
- ItemValue optimizations by @nicopop in #146
- fix the item counts for location requirements desync with UT by @nicopop in #150
- Overhaul
before_create_itemhook by @axxroytovu in #131
Hook Changes
- In hooks/world.py, add
before_create_items_all, andafter_collect_itemandafter_remove_item
Other
- Finish migrating existing #about-manual docs into GitHub by @FuzzyGamesOn in #117
- Reformat FAQ to use headings by @silasary in #119
- normalization of line endings by @nicopop in #129
- Remove the word "Category" in category name in Docs by @FuzzyGamesOn in #136
- Add .editorconfig to standardize encoding and whitespace by @silasary in #132
New Contributors
- @qwint made their first contribution in #134
- @Mysteryem made their first contribution in #149
Full Changelog: manual_unstable_20241210...manual_unstable_20250516
Unstable - 20241210
This unstable release contains the following changes:
Client Changes
- Game Select dropdown by @silasary in #86
- Add search box to the client by @FuzzyGamesOn in #108
- Sort items and locations alphabetically in the client by @FuzzyGamesOn in #110
- If provided with a string for category, don't iterate over each letter by @silasary in #96
- Better messages when client errors by @silasary in #113
- Use 0.5.1's new UI functions by @silasary in #99
- Add a launcher component for the Manual Discord Server by @silasary in #106
- Add a launcher Icon by @silasary in #93
Apworld Changes
- New regions.json key:
entrance_rules. Allows you to make entering a region cost different things based on where you're coming from. by @silasary in #27 - Support for Rule function recursion by @nicopop in #91
- Removed some circular imports in helper.py by @nicopop in #92
- Helper function for loading a csv file. People might find this useful for hooks by @silasary in #98
- Make Item values all be lowercase by @nicopop in #103
- Free UT yamls for Manual worlds that want them by @FuzzyGamesOn in #111
- Add support for assigning multiple item classifications by @Seatori in #105
- Adding options.json by @nicopop in #54
- Itemvalue misc fixes by @nicopop in #104
- Make "Invalid logic format" more descriptive for requires syntax by @FuzzyGamesOn in #112
after_options_definednew passes constructed dataclass by @nicopop in #114
Hook Changes
- In hooks/Data.py, Add the new hook after_load_option_file
- In hooks/Options.py, Move all existing Option definitions from
after_options_definedtobefore_options_definedthen replaceafter_options_definedwith the new version - In hooks/Options.py, add the new hooks before_option_groups_created and after_option_groups_created
New Contributors
Full Changelog: manual_stable_20241119...manual_unstable_20241210
Stable - 20241119
This unstable release contains the following changes:
New Features:
- Fix using multiple ItemValue types (@nicopop)
- Add local_early option (@nicopop)
- Allow partial Early items (@nicopop)
- Properly implement the
get_filler_item_namefunction for ItemLink substitutions (@axxroytovu, @FuzzyGamesOn) - Add
yaml_optionsupport to starting_items (@silasary) - Added initial item/location id offset to game.json (@nicopop)
- Allow items/locations to skip IDs (@silasary)
- Extend hint information with Entrance text (@axxroytovu)
- Add
start_inventory_from_poolsupport (@silasary)
Client Improvements:
- Support launching client with nogui (@FuzzyGamesOn)
- fix errors when double clicking .apmanual (@nicopop)
- Client: Highlight categories when at least one location is in logic (@FuzzyGamesOn)
- /send command (@silasary)
- Client location buttons send on release instead of on press (@FuzzyGamesOn)
Full Changelog: manual_stable_20240709...manual_stable_20241119
Migration notes
!!! Important: All IDs now start at One. If you wish to keep your starting index in the millions (eg: compatibility with preexisting poptracker packs), you can set the starting_index field to the old value.
Hook File Changes
- Delete the file:
hooks/Items.py. Use the existinghooks/Data.py - after_load_items_filehook instead. - Delete the file:
hooks/Locations.py. Use the existinghooks/Data.py - after_load_locations_filehook instead. - Delete the file:
hooks/Regions.py. Use thehooks/Data.py - after_load_regions_filehook instead. - Delete these functions from the
hooks/Rules.pyfile. These were moved to core files for better maintenance. If you edited these hooks for your own game, you will need to rename them to avoid conflicts.ItemValueOptOneOptAllcanReachLocation
- Add the new hook:
hooks/World.pyfunctionhook_get_filler_item_name. This hook allows you to edit the default "filler item name" for the purpose of padding your item pool, item links or start_item_from_pool. - Add the new hook:
hooks/World.pyfunctionbefore_extend_hint_information. This hook allows you to add hint entrance information a la entrance randomizer - Add the new hook:
hooks/World.pyfunctionafter_extend_hint_information. This hook allows you to edit hint entrance information loaded from the json files
Unstable - 20240929
This unstable release contains the following changes:
New Features:
- Fix using multiple ItemValue types (@nicopop)
- Add local_early option (@nicopop)
- Allow partial Early items (@nicopop)
- Properly implement the
get_filler_item_namefunction for ItemLink substitutions (@axxroytovu, @FuzzyGamesOn) - Add
yaml_optionsupport to starting_items (@silasary) - Added initial item/location id offset to game.json (@nicopop)
- Allow items/locations to skip IDs (@silasary)
- Extend hint information with Entrance text (@axxroytovu)
- Add
start_inventory_from_poolsupport (@silasary)
Client Improvements:
- Support launching client with nogui (@FuzzyGamesOn)
- fix errors when double clicking .apmanual (@nicopop)
- Client: Highlight categories when at least one location is in logic (@FuzzyGamesOn)
- /send command (@silasary)
- Client location buttons send on release instead of on press (@FuzzyGamesOn)
Full Changelog: manual_stable_20240709...manual_unstable_20240929
Stable - 20240709
This stable release contains the following changes:
New Features:
- Deathlink (@silasary)
- Items can now have point values and locations/regions can use point sums as requirements (@nicopop)
- Manual worlds can have multiple victory locations w/ a goal YAML option to pick (@silasary)
- Locations can be marked to always pre-hint (@silasary)
- Added {canReachLocation()} function (@axxroytovu)
- {YamlEnabled()} function (@silasary)
- Your Manual apworld's documentation can be updated via game.json and hooks (@nicopop)
Client Improvements:
- Better DPI scaling of the Game ID field (@kedNalatacId)
- Fix errors with Hinted locations without a category key (@FuzzyGamesOn)
Stable - 20240528
This stable release contains all of the changes from the previous unstable releases, including one breaking change compared to previous versions. Additionally, this release contains a fix for deprecated AP options, so upgrading your existing apworlds is highly recommended.
BREAKING CHANGE
Item creation was happening in the wrong step (generate_basic), so it was moved to the proper create_items step.
This change will break the generate_basic hooks, since they have changed to create_item hooks.
(If you have not previously used Manual's hooks or don't know what that means, you can safely ignore this.)
Changes from the previous stable version:
- Client fix for item names that matched other games and caused incorrect counts (@silasary )
- Fix for requires functions and their arguments, and fixing a crash with empty arguments (@nicopop )
- Overall performance improvements because of changes to validation (@silasary )
- Excess filler will now be automatically removed, if possible, to make the items and locations count match (@silasary )
- Added better preserving of YAML options when using the Universal Tracker integration (@silasary )
- The ability to negate a yaml_option in category.json (@silasary )
- The ability to use hook functions directly in requires strings for dynamic checking (@silasary )
- The ability to require a percentage of an item's total count instead of an exact count (@nicopop )
- Adding JSON schemas for Manual's current configurations (@nicopop )
- Better validation for improperly configured starting_items blocks
- Better validation for place_item and place_item_category on locations
- Fixed pseudo-counts HALF and ALL for requires, and made them account for disabled items (@nicopop )
- Fix for validation causing performance delays in the loading of the client (@silasary )
- Fix deprecations, including new options dataclass, that came with the 0.4.4 release of AP (@nicopop )
- Better handling of unknown locations and items in the Manual client, in the case of an outdated apworld (@silasary )
Unstable - 20240528
This unstable release contains the following changes:
- Deathlink (@silasary)
- Items can now have point values and locations/regions can use point sums as requirements (@nicopop)
- Manual apworlds can now have multiple possible victory locations, with a
goalYAML option choosing the one that is used (@silasary) - You can now mark locations as always pre-hinted when playing a Manual apworld (@silasary)
- A Manual apworld's documentation can now be updated via game.json or hook (@nicopop)
- Various fixes for whitespace in requirements and string comparisons in client locations (@silasary)
- Fix for place_item validation issues
Unstable - 20240407
BREAKING CHANGE
Item creation was happening in the wrong step (generate_basic), so it was moved to the proper create_items step.
This change will break the generate_basic hooks, since they have changed to create_item hooks.
This unstable release contains the following changes:
- Client fix for item names that matched other games and caused incorrect counts (@silasary )
- Fix for requires functions and their arguments, and fixing a crash with empty arguments (@nicopop )
- Overall performance improvements because of changes to validation (@silasary )
- Excess filler will now be automatically removed, if possible, to make the items and locations count match (@silasary )
- Added better preserving of YAML options when using the Universal Tracker integration (@silasary )
... and also contains the following changes from the previous unstable:
- The ability to negate a yaml_option in category.json (@silasary )
- The ability to use hook functions directly in requires strings for dynamic checking (@silasary )
- The ability to require a percentage of an item's total count instead of an exact count (@nicopop )
- Adding JSON schemas for Manual's current configurations (@nicopop )
- Better validation for improperly configured starting_items blocks
- Better validation for place_item and place_item_category on locations
- Fixed pseudo-counts HALF and ALL for requires, and made them account for disabled items (@nicopop )
- Fix for validation causing performance delays in the loading of the client (@silasary )
- Fix deprecations, including new options dataclass, that came with the 0.4.4 release of AP (@nicopop )
- Better handling of unknown locations and items in the Manual client, in the case of an outdated apworld (@silasary )