1.2.0 (2022-05-17)
Bug fixes
hydra.runtime.choicesis now updated correctly during multi-run (#1882)hydra.verbose=Truenow works with multirun. (#1897)- Fix a resolution error occurring when a nested class is passed as a
_target_keyword argument toinstantiate(#1914) - It is now possible to pass other callable objects (besides functions) to
hydra.main. (#2042)
New features
- Add support to Hydra's instantiation API for creation of
functools.partialinstances via a_partial_keyword. (#1283) - Support defining basic sweeping in input config. (#1376)
- Improve error message with more context when an omegaconf exception occurs during the config merge step. (#1697)
- Add
--experimental-reruncommand-line option to reproduce pickled single runs (#1805) - Add experimental Callback for pickling job info. (#2092)
- Implement tab completions for appending to the defaults list (+group=option) and deleting from the defaults list (~group). (#1841)
- Enable the use of the pipe symbol
|in unquoted strings when parsing command-line overrides. (#1850) - Support for Python 3.10 (#1856)
- Improve clarity of error messages when
hydra.utils.instantiateencounters a_target_that cannot be located (#1863) - The
instantiateAPI now acceptsListConfig/list-type config as top-level input. (#1950) - Improve error messages raised in case of instantiation failure. (#2099)
- Add callback for logging JobReturn. (#2100)
- Support disable changing working directory at runtime. (#910)
- Support setting hydra.mode through config. (#394)
Behavior changes
- The antlr version requirement is updated from 4.8 to 4.9, to align better with current antlr versions
- If user code raises an exception when called by
instantiate, raise anInstantiateErrorexception instead of an instance of the same exception class that was raised by the user code. (#1911) - Remove support for deprecated arg
config_loaderto Plugin.setup, and update signature ofrun_jobto requirehydra_context. (#1953)
The remaining changes are protected by the new version_base support,
which allows one to either configure Hydra to support older setups / config, or configure Hydra to use the following more modern defaults:
- Remove deprecated "old optional" defaults list syntax (#1952)
- Remove support for the legacy hydra override syntax (see deprecation notice). (#2056)
- Remove support for old hydra.experimental.{compose,initialize} interface
- Remove support for
_name_and_group_from package header (see deprecation notice) - Remove support for legacy default list interpolation format (see deprecation notice)
- Remove support for TargetConf class
- Remove support for strict flag from compose API (see deprecation notice)
- Remove support for ".yml" extensions, requiring ".yaml" instead.
- Default to not changing the working directory at runtime. Use
hydra.job.chdir=Trueto reinstate old behavior. - Default to not adding any directory to the config path. (see
config_pathoptions)