pypi / hydra-core
hydra-core
What changed in hydra-core 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-13.
2 breaking7 security1 deprecations4 new APIs and options4 behavior and defaults1 tooling6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inithydra-core 125 changes
Breaking changes 2
Adds a blocklist for security-sensitive _target_ callables.
compose() no longer initializes the logging subsystem.
Security 7
Hydra legacy target blacklist permits unsafe PyYAML loading
Prevents arbitrary code execution through unsafe PyYAML loaders; safe YAML loading and dumping remain supported.
Strengthens checks for configured targets, Python runtime state, process-environment mutation, and logging formatters; these checks are not a complete security boundary.
Hydra: Mutable instantiate policy sets allow target blocklist bypass
Hydra instantiate target blacklist bypasses permit code execution
Authorization for instantiate is hardened against unsafe aliases and callable results.
Hydra's target blacklist is now applied to Python logging configuration.
Deprecations 1
Hydra 1.3 users relying on Hydra 1.1 behavior now receive a warning.
New APIs and options 4
Config packages let developers reduce nesting levels.
Intervals can now be cast to ints and floats.
Hydra 1.0 adds plugins enabling remote launching and hyper parameter optimization.
Hydra 1.0 adds config type safety via Structured Configs.
Behavior and default changes 4
Hydra 1.0 improves error reporting.
When HYDRA_FULL_ERROR=1, apps raise the underlying exception.
The signature allows input configs of Any type.
Interpolation accepts any character between ${ and }.
Tooling 1
Hydra 1.0 provides a more powerful command line.
Fixes and other changes 6
Command-line overrides of hydra.job.env_set now work correctly.
instantiate now works correctly when parameters are interpolations into a parent node.
Logging is flushed instead of shut down at job end.
Tab completion no longer outputs errors in some cases when using --multirun.
The Nevergrad plugin now handles integer/float choice from spec correctly.
OmegaConf custom resolvers are now propagated to Sweepers properly.