This changelog follows the following convention https://keepachangelog.com/en/1.0.0/.
1.6.0 - 2023-11-28
- Rename
Environment.infos
toEnvironment.request_infos
[#325] - Use importlib.resources instead of pkg_resources (not supported by Python 3.8) [#329, #332]
- Remove dependency on
gym
, usetextworld.gym as gym
instead. [#341]
- 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]
1.5.3 - 2023-05-04
- 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]
- Remove MacOS 10.14 CI. [#294]
- Allow to provide list of seeds in
AsyncBatchEnv
andSyncBatchEnv
. [#290]
- Typo in
TextworldBatchGymEnv.reset
:self.ob
instead ofself.obs
. [#291]
1.5.0 - 2021-12-01
- Add optional and repeatable quests. [#288]
- Update notebooks. [#285]
- Fix Azure pipelines. [#283]
- Extract description and inventory from Jericho. [#278]
1.4.4 - 2021-09-02
- Add win_facts and fail_facts to EnvInfos. [#274]
1.4.3 - 2021-06-17
- List available challenges when tw-make is called with no argument. [#267]
- Type inheritance for command templates in
tw-extract commands ...
was not properly handled. [#269]
1.4.2 - 2021-05-11
- Use
--hint
to display expert policy when playing a game withtw-play
. [#265] - Support policy_commands for tw-cooking games with no
--drop
. [#261]
JerichoEnv._reset
wasn't set properly inJerichoEnv.copy()
. [#263]- Use policy induced by the event dependency tree as
EventProgression
's winning policy. [#263]
1.4.1 - 2021-05-06
tw-cooking
games with--recipe > 1
couldn't be solved using admissible commands. [#259]
1.4.0 - 2020-11-13
- Add
TextWorldEnv
that support loading .json gamefile directly. [#255] - Add
tw-view
, a script to visualize game's initial state as a graph. [#255]
tw-make
was not using the right file format when saving the game. [#255]
1.3.3 - 2020-11-10
- Understand room's names as their room's id in the Inform7 code. [#253]
- Make Inform7 events detection case-insensitive. [#253]
- Remove Python 3.5 CI since it has now reached end-of-life. [#253]
1.3.2 - 2020-06-01
- Prevent overwriting the name of matching entities (e.g. container-key). [#237]
1.3.1 - 2020-04-07
- Use Inform7 interim version for MacOS. [#231]
1.3.0 - 2020-03-19
- 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]
- Theme "basic1" (use "basic" instead). [#219]
- Add documentation for
tw-play
,tw-make
, andtw-extract
. [#227] - Add
feedback
field toEnvInfos
. [#226] - Add
walkthrough
property toGame
objects. [#225] - Add
walkthroughs
subcommand totw-extract
. [#223] - Add
commands
subcommand totw-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 toChainingOptions.restricted_types
. [#219] - Speed up quest generation when
ChainingOptions.create_variables==True
by fixingr
to corresponding value inat(P, r)
. [#219]
- 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
Game.main_quest
attribute has been removed. To get walkthrough commands, useGame.metadata["walkthrough"]
instead.textworld.envs.wrappers.Filter
expects the environment to wrap as its first argument.textworld.logic.State
now requires theGameLogic
to be provided, so that it can know about the type hierarchy of each variable.has_won
andhas_lost
oftextworld.core.EnvInfos
have been renamedwon
andlost
.- Moved
textworld.envs.wrappers.filter.EnvInfos
totextworld.core.EnvInfos
.
textworld.gym.make_batch
(usetextworld.gym.register_games(batch_size=...)
instead).textworld.envs.FrotzEnv
(usetextworld.envs.JerichoEnv
instead)textworld.envs.GitGlulxML
(usetextworld.envs.TWInform7
instead)
- 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 aGameOptions
instance as input.- Support requesting list of facts and current location as additional infos.
- Added
--entity-numbering
option totw-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 optionalEnvInfos
object. - Use
textworld.core.EnvInfos(moves=True)
to request the nb. of moves done so far in a game.
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
- Packaging issues that prevented installation from source on macOS [#121]
- Version numbers in documentation
1.1.0 - 2019-02-07
- Previous
tw-make
commands might generate different outcomes.
- Force
tw-make
to respect--quest-length
. - Fix multiprocessing issue with
ParallelBatchEnv
. - Make installation procedures more robust.
- Notebooks are up-to-date.
- 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
- Updated the versions of the Jericho and prompt_toolkit dependencies
- Removed unused libuuid dependency
1.0.0 - 2018-12-07
- Initial release.