Skip to content

Releases: facebookresearch/hydra

Hydra 1.0.6

01 Feb 21:57
Compare
Choose a tag to compare

1.0.6 (2021-01-29)

Bug Fixes

  • Fix interpolation in Hydra config node (#1335)

Maintenance Changes

  • Remove Plugins from Singleton.get_state() (#1330)

Hydra 1.0.5

07 Jan 23:55
Compare
Choose a tag to compare

1.0.5 (2021-01-07)

Features

  • Support Python 3.9 . (#1062)

API Change (Renames, deprecations and removals)

  • Deprecate support for renaming packages via the command line. (#1140)

Bug Fixes

  • Fixed hydra.job.id and hydra.job.num not getting passed to jobs in multirun (#1270)

Plugins

  • Support additional_parameters as an optional param in the Submitit launcher plugin.
  • Add Optuna Sweeper plugin

Maintenance Changes

  • Limit OmegaConf depedency to 2.0 versions (#1253)

Hydra 1.0.4

18 Nov 01:30
72867c7
Compare
Choose a tag to compare

1.0.4 (2020-11-17)

Bug Fixes

  • Hydra no longer errorenously changes the USER environment variable in pytest unit tests once installed (#1059)
  • Allow @ symbol in unquoted values in overrides (#1074)
  • Fix a bug where Structured Config has a field like 'list : Optional[List[int]] = None` (#1117)

Plugins

  • Switch Ax Sweeper plugin to use new Hydra command line syntax
  • Switch Nevergrad Sweeper plugin to use new Hydra command line syntax
  • Revert the use of "_" to separate the path element in keys for the Ax sweeper plugin.

Hydra 1.0.3

23 Sep 02:35
Compare
Choose a tag to compare

1.0.3 (2020-09-22)

Bug Fixes

  • Fixed interaction between interpolation and instantiate (#1001)
  • Fix float parsing for values where the exponent starts with 0 (e.g 1e-05) (#999)

Hydra 1.0.2

20 Sep 22:12
Compare
Choose a tag to compare

1.0.2 (2020-09-20)

This is a small update improving support for config dataclasses generated by configen.

Features

  • Overridden parameters annotated as Any in the config are not type checked by instantiate() (#982)

Hydra 1.0.1

15 Sep 16:58
99d75e2
Compare
Choose a tag to compare

1.0.1 (2020-09-15)

Features

  • Add ability to escape special characters in unquoted command line values (#954)

Bug Fixes

  • Add support for merging dicts and lists specified in the commend line (#939)
  • Fix appending dict values with new fields to config with + (#946)
  • Fix for Override Grammar integer parsing: Integers are now compatible with Python integers ('+' prefix, correct handling of '_') (#954)

Maintenance Changes

  • Upgrade to OmegaConf 2.0.2 (#755)

Hydra 1.0.0

03 Sep 16:05
Compare
Choose a tag to compare

1.0.0 (2020-09-03)

Hydra 1.0 is out!
See blog post for high level details.

Major new features in Hydra 1.0

  • Config type safety via Structured Configs
  • More powerful command line
  • New plugins enabling remote launching and hyper parameter optimization
  • Improved error reporting
  • Reduce nesting levels with config packages

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:

Features

  • Add support for casting interval to ints and floats (#915)

Bug Fixes

  • Fix to flush logging instead of shutting it down at job end (#833)
  • compose() no longer initialized logging subsystem (#833)
  • Fix overriding of hydra.job.env_set from the command line (#854)
  • Fix tab completion to not output errors in some cases when using --multirun (#856)
  • Fix OmegaConf custom resolvers not being propagated to Sweepers properly (#861)
  • Interpolation accepts any char between ${ and } (#891)
  • Update the signature of hydra.utils.instantiate() allow input configs of Any type (#896)
  • Fix instantiate to work correctly when parameters are interpolations into a parent node (#904)
  • Apps will now raise underlying exception if env HYDRA_FULL_ERROR=1 (#926)

Plugins

  • Fix integer/float choice from spec in the Nevergrad plugin

Improved Documentation

  • New page in Structured Configs tutorial: Static schema with many configs (#918)
  • New page in Structured Configs tutorial: Dynamic schema with many configs (#918)

Hydra 1.0.0rc4

18 Aug 16:34
Compare
Choose a tag to compare
Hydra 1.0.0rc4 Pre-release
Pre-release

1.0.0rc4 (2020-08-18)

Features

  • Upgrade to OmegaConf 2.0.1rc12 (#889)

Bug Fixes

  • Fix bug with bash autocompletion for the users who has . in their PATH environment variable (#868)
  • Fix instantiate to return None when None config is passed (#887)

Hydra 1.0.0rc3

17 Aug 16:33
9f91d27
Compare
Choose a tag to compare
Hydra 1.0.0rc3 Pre-release
Pre-release

1.0.0rc3 (2020-08-17)

Features

  • Extended Override grammar supports range(),glob(),type casts,shuffle, sort and more. (#752)
  • Add support for specifying an additional config dir in the command line (#874)
  • Allow overriding of the defaults and hydra nodes in primary Structured Configs that does not mentioned defaults and hydra. (#877)

API Change (Renames, deprecations and removals)

  • ObjectConf is deprecated for TargetConf. See upgrade page. (#882)
  • All plugins updated to use TargetConf. Be sure to update all your Hydra plugins (#882)
  • Instantiated objects no longer have a params node in the conf. keys like hydra.launcher.params.foo are changed to hydra.launcher.foo. Update your configs and overrides if you were overriding such parameters. (#882)

Bug Fixes

  • Fixed parsing of two nested lists with whitespace between them: [[a], [b]] (#836)

Improved Documentation

  • New Extended command line syntax page (#752)

Hydra 1.0.0rc1

18 Aug 16:37
8ac243c
Compare
Choose a tag to compare
Hydra 1.0.0rc1 Pre-release
Pre-release

1.0.0-rc1 (2020-05-31)

Hydra 1.0 is a major release introducing many new features and breaking some compatibility.

Features

  • Upgrade to OmegaConf 2.0 (Release notes) (#630)
  • Optional config type safety via Structured Configs (#629)
  • Improve command line and config composition error reporting (#349)
  • Hydra config can now be accessed through interpolation using ${hydra:key}, for example ${hydra:job.name} (#325)
  • Support for setting environment variable of running job (#7)
  • Changes command line processing (requiring + and ~ prefixes for appending and removing items) (#598)
  • Introducing @package header for config files (#586)
  • Add command line override flags for config_path and config_name (--config-path and --config-name) (#386)
  • hydra.main() now take an optional cfg object to passthrough to the function (#575)
  • Add hydra.experimental.{initialize_with_file, initialize_with_module} (#574)
  • Support for disabling the creation of the .hydra subdirectory by overriding "hydra.output_subdir" to "null" (#324)
  • Add hydra.utils.call() to call methods and functions as well as instantiate objects. Search module paths more generically. (#498)
  • Add support for overriding package from command line and defaults list (#235)
  • Config source is now abstracted, allowing additional config sources to be used (#257)
  • New ConfigSource plugin API allowing configs to be provided by external plugins (#367)
  • Add isort to ensure imports are always sorted (#340)
  • Codebase is now passing mypy --strict type checking (#342)
  • Improve performance of plugin discovery and instantiation (#489)
  • Modules whose name starts with "_" are skipped during plugin discovery (#494)

Plugins

API Change (Renames, deprecations and removals)

  • Drop support Python 2.7 and 3.5 (#313)
  • hydra.main() now takes an additional optional config_name and composite-style config_path is deprecated (#395)
  • Launcher API launch method now takes an additional initial_job_idx indicating the id of the first job in the batch (#284)
  • Singleton metaclass is now exposed at hydra.core.Singleton (#371)
  • Moved HydraConfig from hydra.plugins.common.utils to hydra.core (#371)
  • Move several formerly internal APIs to hydra/core to ensure plugins does not need to use internal APIs (#371)
  • Plugin import now requires explicit name (from hydra.plugins.launcher import Launcher) (#371)
  • Object Config "class" field is deprecated in favor of "cls" and will be removed in a future version. (#389)
  • Experimental compose API config_file changed to config_name (#395)
  • User plugins should be modified to not import twice during plugin discovery. see issue for details. (#482)
  • Change hydra.core.plugins.Plugins class to a Singleton. access should be changed to the pattern Plugins.instance().foo() (#489)
  • Plugins should now include test fixtures (sweep_runner, task_runner) via a standardized conftest.py (#521)
  • Switch Python 3 native namespace packages for plugins (See task for details) (#534)
  • Packaged configuration directories now requires an __init__.py at their top level (#536)
  • Appending config groups to the defaults list via the command line now requires a + prefix (#598)
  • Removing an item from the defaults list by assigning null (db=null) is deprecated, use ~db instead (#598)
  • Installed Hydra applications no longer need have an additional entry() function on the stack (#92)

Bug Fixes

  • Fix a bug causing sys.exit() error code to not be propagated (#351)
  • Shutdown logging subsystem aftter job finishes to ensure log files are flushed and closed (#378)
  • Fix a bug with utils.instantiate() failing if params contains interpolated values. (#388)
  • Allow hydra.utils.instantiate() to accept non primitive objects for passthrough by name (#400)
  • Fix to work when an Hydra app is executed in Jupyter notebook using the %run command (#481)
  • Plugins are no longer imported twice during plugin discovery (#482)
  • to_absolute_dir(path) now converts relative path to be relative to os.cwd() when used outside of Hydra (#496)

Improved Documentation

  • Working examples are provided for all Hydra plugins in plugins/examples (#253)
  • The basic tutorial was rewritten to reflect many changes (#602)
  • Add a new tutorial covering Structured Configs (#628)