Skip to content

Hydra 1.1.0 dev6

Pre-release
Pre-release
Compare
Choose a tag to compare
@omry omry released this 28 Apr 21:23
40efb3c

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.

Features

  • Support for converting parameters to primitive containers during instantiation (#1015)
  • It is now possible to override the target of instantiation with a type or a string (#1017)
  • Support for force-add of config values via ++key=value (force-add overrides if the value exists and adds it otherwise) (#1049)
  • Support Python 3.9. (#1062)
  • It is now possible to disable Hydra's logging configuration (#1130)
  • Support for Defaults List in any config (Recursive relative defaults) (#1170)
  • Improve performance of config composition in a benchmark by 64% (#1328)
  • Can now add keys to fields annotated as Dict[K,V] from the command line without + prefix (#1421)
  • Upgrade to OmegaConf 2.1 (#1426)
  • Instantiate now fully supports positional arguments (#1432)
  • Support for configuring the config search path from the primary config (#274)
  • Composition order of a config with a Defaults List can be specified with the self keyword. (#326)
  • Support for Zsh tab completion (#347)
  • Add support for selecting multiple configs from the same Config Group (#499)
  • Support for recursive instantiation with hydra.utils.instantiate() (#566)
  • Final choices of defaults list are retained in the dictionary hydra.runtime.choices (#956)

API Change (Renames, deprecations and removals)

  • Deprecated TargetConf, you should no longer be extending or annotating with it (#1010)
  • Remove ObjectConf and deprecated params support that was deprecated in Hydra 1.0 (#1010)
  • Remove deprecated strict flag from @hydra.main and the Compose API (#1010)
  • Passing a config name as config_path to @hydra.main is now an error (#1010)
  • Promote hydra.experimental.{compose,initialize,initialize_config_dir,initialize_config_module} out from the hydra.experimental module to the hydra module. (#1030)
  • ConfigSourcePlugins needs to be modified to support recursive defaults, see link for details (#1080)
  • Default composition order change, see this for details (#1217)
  • Instantiate is now recursive by default, use recursive=False to disable recursive instantiation. (#566)

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)
  • No longer modifies exception stack trace when running under a debugger (#1237)
  • Fixed hydra.job.id and hydra.job.num not getting passed to jobs in multirun (#1270)
  • Add support for %f directive (microseconds) to the ${now:} resolver (#1287)
  • Fix interpolation in Hydra config node (#1335)
  • Fixed a bug where tab completion did not work if the Defaults List had a missing (???) item. (#1381)
  • Fix add overrides to properly insert new values into Structured Configs. (#1515)

Plugins

  • Add Optuna Sweeper plugin
  • Add support for multi-objective optimization to Optuna sweeper

Improved Documentation