NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1005 most downloaded on PyPI
A framework for elegantly configuring complex applications
Last release 20 days ago
14 Sep 2026
Ships unpredictably
gaps range from 9 days to 1.9 years
Nearly every release is documented
notes for 27 of 28 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
60 releases · first in 2019
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Strengthen defense-in-depth checks for configured targets, Python runtime state, process-environment mutation, and logging formatters. These checks ar
Full Changelog: v1.3.6...v1.3.7
Harden instantiate authorization against unsafe aliases and callable results.
Full Changelog: v1.3.5...v1.3.6
Warn Hydra 1.3 users relying on Hydra 1.1 behavior
Full Changelog: v1.3.4...v1.3.5
Security patch release for the 1.3 line.
Security patch release for the 1.3 line.
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 fixes source builds with modern setuptools by removing the setup.py dependency on pkg_resources. Fixes #3207 .
Hydra 1.3.3 fixes source builds with modern setuptools by removing the setup.py dependency on pkg_resources. Fixes #3207.
Add a hydra.utils.get_object function that gives users access to Hydra's dotpath-lookup machinery.
This bugfix release updates a version pin on the OmegaConf library, allowing Hydra to be installed alongside the latest version of OmegaConf.
This bugfix release updates a version pin on the OmegaConf library, allowing Hydra to be installed alongside the latest version of OmegaConf.
Implement _convert_="object" option for instantiate , enabling conversion of non- _target_ structured configs to instances of the backing dataclass /
_convert_="object" option for instantiate, enabling conversion of non-_target_ structured configs to instances of the backing dataclass / attr class. (#1719)@hydra.main decorator on top of other decorators produced using functools.wraps. (#2303)--config-path (#2368)AssertionError (#2342)Nothing published for this version
Nothing published for this version
Remove support for deprecated arg config_loader to Plugin.setup, and update signature of run_job to require hydra_context .
hydra.runtime.choices is now updated correctly during multi-run (#1882)hydra.verbose=True now works with multirun. (#1897)_target_ keyword argument to instantiate (#1914)hydra.main. (#2042)functools.partial instances via a _partial_ keyword. (#1283)--experimental-rerun command-line option to reproduce pickled single runs (#1805)| in unquoted strings when parsing command-line overrides. (#1850)hydra.utils.instantiate encounters a _target_ that cannot be located (#1863)instantiate API now accepts ListConfig/list-type config as top-level input. (#1950)instantiate, raise an InstantiateError exception instead of an instance of the same exception class that was raised by the user code. (#1911)config_loader to Plugin.setup, and update signature of run_job to require hydra_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:
_name_ and _group_ from package header (see deprecation notice)hydra.job.chdir=True to reinstate old behavior.config_path options)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
API Change (Renames, deprecations and removals)
functools.partial instances via a _partial_ keyword. (#1283)instantiate API now accepts ListConfig/list-type config as top-level input. (#1950)- group@_global_: choice is used in the same defaults list as - group: choice. (#1784)Nothing published for this version
Add support for a HYDRA_DEPRECATION_WARNINGS_AS_ERRORS envorinment variable. When it is set, using deprecated features causes an exception instead of…
_self_ (#1755)target as a parameter name (#1669)--cfg=job --resolve and --help --resolve so that the ${hydra:...} resolver now prints properly (#1681)There have also been many bug fixes and performance improvements, as well of as some breaking changes - both in Hydra and in OmegaConf. Please check t…
This is the biggest Hydra release yet.
instantiate API, nested defined objects are instantiated automatically.There have also been many bug fixes and performance improvements, as well of as some breaking changes - both in Hydra and in OmegaConf. Please check the API changes and deprecation sections in these release notes and in the OmegaConf release notes.
@, $ and ? symbols in unquoted values in overrides (#1074, #1437, #1597)++key=value (force-add overrides if the value exists and adds it otherwise) (#1049)_self_ keyword. (#326)hydra.utils.instantiate() (#566)_target_ of instantiation with a Python type or a string (#1017)@hydra.main and the Compose API (#1010)@hydra.main is now an error (#1010)hydra.experimental.{compose,initialize,initialize_config_dir,initialize_config_module} out from the hydra.experimental module to the hydra module. (#1030)HydraContext to run_job and Launcher/Sweeper's setup (#1498)_recursive_=False to disable recursive instantiation. (#566)list : Optional[List[int]] = None (#1117)hydra.job.{id,num} are now properly passed to jobs in multirun (#1270)%f directive (microseconds) to the ${now:PATTERN} resolver (#1287)+ overrides to properly insert new values into Structured Configs. (#1515)--cfg=hydra now works for read-only config (#1461)hydra.callbacks (#1526)There have also been many bug fixes and performance improvements, as well of as some breaking changes - both in Hydra and in OmegaConf. Please check t…
This is the biggest Hydra release yet.
instantiate API, nested defined objects are instantiated automatically.There have also been many bug fixes and performance improvements, as well of as some breaking changes - both in Hydra and in OmegaConf. Please check the API changes and deprecation sections in these release notes and in the OmegaConf release notes.
@, $ and ? symbols in unquoted values in overrides (#1074, #1437, #1597)++key=value (force-add overrides if the value exists and adds it otherwise) (#1049)_self_ keyword. (#326)hydra.utils.instantiate() (#566)_target_ of instantiation with a Python type or a string (#1017)@hydra.main and the Compose API (#1010)@hydra.main is now an error (#1010)hydra.experimental.{compose,initialize,initialize_config_dir,initialize_config_module} out from the hydra.experimental module to the hydra module. (#1030)_recursive_=False to disable recursive instantiation. (#566)list : Optional[List[int]] = None (#1117)hydra.job.{id,num} are now properly passed to jobs in multirun (#1270)%f directive (microseconds) to the ${now:PATTERN} resolver (#1287)+ overrides to properly insert new values into Structured Configs. (#1515)Nothing published for this version
Deprecated TargetConf, you should no longer be extending or annotating with it
The following are informal release notes for Hydra 1.1 as of the publication of 1.1.0.dev6. Note that there are many changes in OmegaConf 2.1 that are not covered by these release notes. Once OmegaConf 2.1 is officially release it will have formal release notes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
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 i
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:
Fix interpolation in Hydra config node
Deprecate support for renaming packages via the command line.
additional_parameters as an optional param in the Submitit launcher plugin.Hydra no longer errorenously changes the USER environment variable in pytest unit tests once installed
Fixed interaction between interpolation and instantiate
This is a small update improving support for config dataclasses generated by configen.
Add ability to escape special characters in unquoted command line values
Hydra 1.0 is out! See blog post for high level details.
Hydra 1.0 is out! See blog post for high level details.
Major new features in Hydra 1.0
These release notes are covering the changes since 1.0.0rc4.
To see the complete release notes for 1.0 take a look at the release notes of:
Fix bug with bash autocompletion for the users who has . in their PATH environment variable
Be aware that cfg.pretty() is now deprecated and you should use OmegaConf.to_yaml(cfg) instead.
API Change (Renames, deprecations and removals)
defaults and hydra nodes in primary Structured Configs that does not mentioned defaults and hydra. (#877)API Change (Renames, deprecations and removals)
.hydra/*.yaml before task execution (#678)API Change (Renames, deprecations and removals)
Hydra 1.0 is a major release introducing many new features and breaking some compatibility.
@package header for config files (#586)config_path and config_name (--config-path and --config-name) (#386).hydra subdirectory by overriding "hydra.output_subdir" to "null" (#324)hydra.utils.call() to call methods and functions as well as instantiate objects. Search module paths more generically. (#498)__init__.py at their top level (#536)entry() function on the stack (#92)Pin Hydra 0.11 to OmegaConf 1.4 to avoid breaking compatibility when OmegaConf 2.0 is released
Change website from cli.dev to hydra.cc
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add hydra.experimental API for composing configuration on demand (hydra.experimental.compose)
Nothing published for this version
Change the default sweep subdir from ${hydra.job.num}_${hydra.job.id} to ${hydra.job.num}
Old demos directory was removed and a new tutorial directory as added
Move FAIRTask, Submititit and FAIR-cluster-defaults plugins to fairinternal/hydra-fair-plugins repository
Nothing published for this version
hydra.utils.instantiate() can now take an additional optional kwargs dictionary to pass to constructor of the instantiated object
Your coding agent can read these notes before it upgrades. Set up the MCP server →