Releases: hydra-ecosystem/hydra
Release list
Hydra 1.3.5
What's Changed
- Warn Hydra 1.3 users relying on Hydra 1.1 behavior (#3347)
Full Changelog: v1.3.4...v1.3.5
Hydra 1.3.4
Hydra 1.3.4
Security patch release for the 1.3 line.
- Add a blocklist to
hydra.utils.instantiate()for security-sensitive_target_callables.
Users on Hydra 1.3 should upgrade from hydra-core<=1.3.3 to hydra-core==1.3.4.
Hydra 1.3.3
Hydra 1.3.3 fixes source builds with modern setuptools by removing the setup.py dependency on pkg_resources. Fixes #3207.
Hydra 1.3.2
Hydra 1.3.1
1.3.1 (2022-12-20)
This bugfix release updates a version pin on the OmegaConf library, allowing Hydra to be installed alongside the latest version of OmegaConf.
Bug Fixes
- Relax OmegaConf pin allowing OmegaConf 2.3 to be installed (#2510)
Links:
Hydra 1.3.0
1.3.0 (2022-12-08)
Features:
- Implement
_convert_="object"option forinstantiate, enabling conversion of non-_target_structured configs to instances of the backing dataclass / attr class. (#1719) - Enable layering of the
@hydra.maindecorator on top of other decorators produced usingfunctools.wraps. (#2303) - Allow for non-leading dashes in override keys (#2363)
- support specifying an absolute path with
--config-path(#2368) - Support python3.11 (#2443)
Bug Fixes:
- Fix an issue where Hydra's exception-handling logic could raise an
AssertionError(#2342)
Links:
Hydra 1.2.0
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)
Hydra 1.1.2
1.1.2 (2022-04-12)
Features
- Add support to Hydra's instantiation API for creation of
functools.partialinstances via a_partial_keyword. (#1283) - 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)
API Change (Renames, deprecations and removals)
- Fix an internal key collision to prevent an exception when
- group@_global_: choiceis used in the same defaults list as- group: choice. (#1784)
Bug Fixes
Hydra 1.1.1
1.1.1 (2021-08-19)
Features
- Allow range() in override grammar to have only one argument (the stop value), e.g. range(3) (#1664)
- Add support for a HYDRA_DEPRECATION_WARNINGS_AS_ERRORS envorinment variable. When it is set, using deprecated features causes an exception instead of a warning. (#1689)
- To make migration from Hydra 1.0 to 1.1 easier, Hydra will now issue a warning if the primary config defines config values and Defaults List if the Defaults List does not specify
_self_(#1755)
API Change (Renames, deprecations and removals)
- Re-introduced a deprecated strict flag in the Compose API (#1694)
- Relax handling of legacy hydra overrides in the defaults list to make migration from Hydra 1.0 to 1.1 easier (#1748)
Bug Fixes
- Allow Defaults List interpolation in nested configs and document that the interpolation keys must be absolute (#1668)
- instantiate API now supports
targetas a parameter name (#1669) - Fix
--cfg=job --resolveand--help --resolveso that the ${hydra:...} resolver now prints properly (#1681) - Fix unexpected changes to defaults list in some cases when appending an experiment (+experiment=test) (#1706)
- Fixed composition where top level of a config composed from a config group is a list (#1724)
- Fix bug where overriding hydra config groups more than once without using the override keyword resulted in an error instead of deprecation warnings (#1730)
- Fix failure when sanitizing stack traces resulting from job exceptions (#1739)
Hydra 1.0.7
1.0.7 (2021-07-14)
This release contains a few small changes to make Hydra 1.0 a bit more compatible with OmegaConf 2.1 and Hydra 1.1 to enable easier migration.
There is no risk in using it if you are using 1.0.6 now as it just makes the migration a bit smoother in some scenarios:
- If you are upgrading OmegaConf to 2.1 before upgrading Hydra to 1.1.
- It enables some configs to be compatible with both versions in some rare cases related to the change in the default composition order in Hydra 1.1.