TextWorld/CHANGELOG.md

12 KiB

Changelog

This changelog follows the following convention https://keepachangelog.com/en/1.0.0/.

1.6.0 - 2023-11-28

Breaking

  • Rename Environment.infos to Environment.request_infos [#325]
  • Use importlib.resources instead of pkg_resources (not supported by Python 3.8) [#329, #332]
  • Remove dependency on gym, use textworld.gym as gym instead. [#341]

Added

  • Add support for Python 3.10, 3.11 and 3.12 [#328]
  • GenericEnvironment will detect which environment to load based on the game's file extension [#330]
  • Support providing custom TextWorld wrappers when registring games. [#333]
  • Support negating propositions and predicates. Support creating rule from conjunctive query expression. [#334]
  • Add PDDL support needed for ALFWorld [#336]

Changed

  • Switch to pytest instead of nosetest [#327]
  • Avoid loading viewers unless it is really needed [#331]

1.5.3 - 2023-05-04

Fixed

  • Fix MacOS setup [#311]
  • Fix jquery security issue [#309]

[1.5.2] - 2022-09-16

Fixed

  • Fix security issue [#301]
  • Fix requirements and Inform7 links [#303]
  • Fix gym version [#305]
  • Fix documentation [#306]
  • Rename main branch and references to it [#307]
  • Use functools.partial instead of lambda functions. It's more multiprocessing friendly. [#294]
  • Wait for visualization server to be ready before connecting with Selenium. [#294]
  • Use constants' type as their name instead of None. [#293]

Removed

  • Remove MacOS 10.14 CI. [#294]

[1.5.1] - 2022-01-09

Added

  • Allow to provide list of seeds in AsyncBatchEnv and SyncBatchEnv. [#290]

Fixed

  • Typo in TextworldBatchGymEnv.reset: self.ob instead of self.obs. [#291]

1.5.0 - 2021-12-01

Added

  • Add optional and repeatable quests. [#288]

[1.4.5] - 2021-10-29

Fixed

  • Update notebooks. [#285]
  • Fix Azure pipelines. [#283]
  • Extract description and inventory from Jericho. [#278]

1.4.4 - 2021-09-02

Added

  • Add win_facts and fail_facts to EnvInfos. [#274]

1.4.3 - 2021-06-17

Added

  • List available challenges when tw-make is called with no argument. [#267]

Fixed

  • Type inheritance for command templates in tw-extract commands ... was not properly handled. [#269]

1.4.2 - 2021-05-11

Added

  • Use --hint to display expert policy when playing a game with tw-play. [#265]
  • Support policy_commands for tw-cooking games with no --drop. [#261]

Fixed

  • JerichoEnv._reset wasn't set properly in JerichoEnv.copy(). [#263]
  • Use policy induced by the event dependency tree as EventProgression's winning policy. [#263]

1.4.1 - 2021-05-06

Fixed

  • tw-cooking games with --recipe > 1 couldn't be solved using admissible commands. [#259]

1.4.0 - 2020-11-13

Added

  • Add TextWorldEnv that support loading .json gamefile directly. [#255]
  • Add tw-view, a script to visualize game's initial state as a graph. [#255]

Fixed

  • tw-make was not using the right file format when saving the game. [#255]

1.3.3 - 2020-11-10

Fixed

  • Understand room's names as their room's id in the Inform7 code. [#253]
  • Make Inform7 events detection case-insensitive. [#253]

Removed

  • Remove Python 3.5 CI since it has now reached end-of-life. [#253]

1.3.2 - 2020-06-01

Fixed

  • Prevent overwriting the name of matching entities (e.g. container-key). [#237]

1.3.1 - 2020-04-07

Fixed

  • Use Inform7 interim version for MacOS. [#231]

1.3.0 - 2020-03-19

Breaking

  • In tw-make, can't change grammar options when generating games for TextWorld challenges. [#216]
  • GameMaker.add_random_quest -> GameMaker.generate_random_quests. [#222]
  • GameMaker.add_distractors -> GameMaker.generate_distractors. [#222]

Removed

  • Theme "basic1" (use "basic" instead). [#219]

Added

  • Add documentation for tw-play, tw-make, and tw-extract. [#227]
  • Add feedback field to EnvInfos. [#226]
  • Add walkthrough property to Game objects. [#225]
  • Add walkthroughs subcommand to tw-extract. [#223]
  • Add commands subcommand to tw-extract. [#223]
  • Docker image for TextWorld: marccote19/textworld. [#222]
  • Add requirements-full.txt which contains all Python dependencies for TextWorld. [#222]
  • Use TEXTWORLD_DEBUG=1 to print Inform7 events detected by TextWorld when playing a game. [#217]
  • Add ChainingOptions.allowed_types which is complementary to ChainingOptions.restricted_types. [#219]
  • Speed up quest generation when ChainingOptions.create_variables==True by fixing r to corresponding value in at(P, r). [#219]

Fixed

  • Updated games shipped with the notebooks. [#225]
  • Calling GameOptions.seeds, without setting a seed first, will return random seeds. [#222]
  • Challenges shipped with TextWorld now contain a snapshot of the KnowledgeBase to improve reproducibility. [#216]
  • Delete socket files created by mlglk on garbage collection. [#215]
  • Issues related to tw-treasure_hunter challenge [#85, #164]

1.2.0 - 2020-02-12

Breaking

  • Game.main_quest attribute has been removed. To get walkthrough commands, use Game.metadata["walkthrough"] instead.
  • textworld.envs.wrappers.Filter expects the environment to wrap as its first argument.
  • textworld.logic.State now requires the GameLogic to be provided, so that it can know about the type hierarchy of each variable.
  • has_won and has_lost of textworld.core.EnvInfos have been renamed won and lost.
  • Moved textworld.envs.wrappers.filter.EnvInfos to textworld.core.EnvInfos.

Removed

  • textworld.gym.make_batch (use textworld.gym.register_games(batch_size=...) instead).
  • textworld.envs.FrotzEnv (use textworld.envs.JerichoEnv instead)
  • textworld.envs.GitGlulxML (use textworld.envs.TWInform7 instead)

Added

  • Tool to visualize game state as a graph.
  • Add auto-reset option when playing batch of games.
  • Z-Machine can now be played with the Gym interface.
  • Set up CI with Azure Pipelines to check PEP8 and track code coverage.
  • Add caching for Signature/Proposition instantiation.
  • textworld.GameMaker constructor takes optionally a GameOptions instance as input.
  • Support requesting list of facts and current location as additional infos.
  • Added --entity-numbering option to tw-make.
  • Requesting additional information for TW games compiled to Z-Machine.
  • Quest tracking for TW games compiled to Z-Machine.
  • Added separate wrappers for dealing with additional information and state tracking.
  • The textworld.core.Environment constructor takes an optional EnvInfos object.
  • Use textworld.core.EnvInfos(moves=True) to request the nb. of moves done so far in a game.

Fixed

  • tw-make tw-coin_collector was failing with option --level {100, 200, or 300}.
  • Quest tracking was failing when an irreversible, but unneeded, action was performed.

1.1.1 - 2019-02-08

Fixed

  • Packaging issues that prevented installation from source on macOS [#121]
  • Version numbers in documentation

1.1.0 - 2019-02-07

Breaking

  • Previous tw-make commands might generate different outcomes.

Changed

  • Force tw-make to respect --quest-length.
  • Fix multiprocessing issue with ParallelBatchEnv.
  • Make installation procedures more robust.
  • Notebooks are up-to-date.

Added

  • Registration mechanism for TextWorld challenges.
  • More control over quest generation with tw-make (e.g. --quest-breadth).
  • Documentation about the textworld.gym API.

1.0.1 - 2019-01-07

Changed

  • Updated the versions of the Jericho and prompt_toolkit dependencies

Removed

  • Removed unused libuuid dependency

1.0.0 - 2018-12-07

Added

  • Initial release.