Repository navigation
refactor(deps): update dependency omegaconf to v2.4.0 - #68
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/omegaconf-2.x-lockfile
branch
from
October 15, 2026 12:59
49aa4a3 to
b8d414c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.3.0→2.4.0Release Notes
hydra-ecosystem/omegaconf (omegaconf)
v2.4.0: OmegaConf 2.4.0Compare Source
Introduction
OmegaConf 2.4.0 is the first feature release since 2.3.0 in 2022. Highlights include richer structured config typing with
Literal, container unions, and experimental tuples, alongside improvements to interpolation, resolvers, merging, and validation.Python 3.10 or newer is required. Native tuples now become immutable
TupleConfigvalues, and some implicit conversions during assignment now warn. Review the 2.4 upgrade guide before upgrading. The current documentation is at omegaconf.cli.dev.Features
|and|=operators onDictConfig.cfg1 | cfg2returns a new merged config (equivalent toOmegaConf.merge(cfg1, cfg2)), andcfg1 |= cfg2merges in place (equivalent tocfg1.merge_with(cfg2)). These operators are not supported onListConfigand will raise aTypeError. (#1006)OmegaConf.can_select()for checking if a select-style key path can produce a value without returning a default or raising. (#1129)yaml.CSafeLoaderinstead ofyaml.SafeLoaderwhenever possible to speed up parsing (#1150)yaml.CDumperinstead ofyaml.Dumperwhenever possible to speed up dumping (#1152)typing.Literalannotations in structured configs. (#1228)OmegaConf.update(),OmegaConf.select(),OmegaConf.from_dotlist(), andOmegaConf.from_cli()now support backslash escaping so that keys whose names contain literal dots, brackets, or equals signs can be addressed (e.g.r"a\.b"selects the key"a.b"). (#1230)Union[List[int], Dict[str, int]]) in structured configs. IntroduceOmegaConf.typed_list()andOmegaConf.typed_dict()for explicit container typing when disambiguating an otherwise ambiguous union assignment. (#1261)Literal[...]annotations as members of unions in structured configs. (#1271)oc.coerceresolver to explicitly convert values using OmegaConf primitive node types before destination validation. (#1332)Anyin Union annotations and transparent PEP 695 type aliases. (#144)"off","warn", and"error"policies. OmegaConf 2.4 defaults to advisory warnings. (#612)Bug Fixes
OmegaConf.unsafe_mergewhen merging structured configs containing union types. (#1087)OmegaConf.merge()andOmegaConf.unsafe_merge()with nested readonly structured configs. (#1102)OmegaConf.missing_keys()raising when an interpolation dereferences a missing value, and add aresolve_custom_resolversflag to opt into custom resolver evaluation. (#1118)OmegaConf.selectandoc.selectto return the provided default when a relative key climbs above the config root. (#1127)OmegaConf.create()now supportscollections.OrderedDictas both a top-level input and a nested value. (#1156)OmegaConf.resolve()raisingUnsupportedValueTypewhen a custom resolver returns adictorlist. (#1165)OmegaConf.create(None)to return literalNoneinstead of aDictConfig(None)wrapper. This is a breaking change for code that relied on getting a config object back fromcreate(None). (#1196)OmegaConf.resolve()raisingRuntimeErroron Python 3.12+ when a custom resolver returns aDictConfig. (#1239)OmegaConf.update()now raises aConfigTypeErrorwith a clear message when navigating through a structuredOptionalnode that isNone, instead of anAssertionError. (#1280)ListConfigiteration leakingUnionNodewrappers forList[Union[...]]; iteration now yields the selected concrete values, matching indexing. (#1310)OmegaConf.update()now follows intermediate node interpolations whose reference chains end at existing config containers, applying nested updates to the referenced container while preserving the interpolation. (#1329)OmegaConf.resolve(), so they match the errors raised by direct node access. (#1330)OmegaConf.resolve()now resolves nested interpolations in resolver-returned containers in one call, including when another field refers to the container before its field is visited. (#1334)OmegaConf.merge()andOmegaConf.unsafe_merge()no longer fail with anAttributeErrorwhen merging into a null dictionary root, including optional Structured Config fields. (#1360)flagsargument from_ensure_containerand made merge conversion preserveallow_objectsexplicitly. (#580)OmegaConf.select()andOmegaConf.update()can now resolve integer dictionary keys. Configurations reject ambiguous pairs such as1and"1". (#651)typing.Generic. (#731)ListConfig.insert()now follows Python list semantics for negative and out-of-range indices and leaves the list unchanged when validation fails. (#750)ListConfignegative index behavior more closely with Python lists by supporting negative list-index interpolations and by fixing negative slicing edge cases such ascfg.xs[:-1]on empty lists. (#755)OmegaConf.masked_copylosing typed leaf node classes at the top level of the copy. (#813)attrsclasses that use a default factory (attrs.Factory). (#945)API changes and deprecations
OmegaConf.resolve()now raisesInterpolationToMissingValueErrorwhen an interpolation dereferences to a missing (???) value, instead of silently overwriting the node with???. This restores the invariant that working with a resolved config gives the same results as working with the unresolved config. (#1131)\.\[\]\=) now escapes that character rather than being treated as a literal backslash followed by an active delimiter. This affects only the rare case of keys whose names end with a backslash:OmegaConf.select(cfg, r"a\.b")previously navigated to key"a\"then"b"; it now resolves to the single key"a.b". Keys ending in a backslash are not idiomatic in YAML and this change is unlikely to be encountered in practice. (#1230)OmegaConf.to_container(..., resolve=True)now resolves each custom resolver at most once within a single conversion pass, even when multiple interpolations reference the same resolved node. This brings its behavior in line withOmegaConf.resolve()for such cases. (#1243)???values with\???across interpolation, resolvers, and YAML. Plain???returned by a resolver is now missing on access. (#1302)DictConfigandListConfigunhashable, preventing their use as dictionary keys or set elements. (#1333)TupleConfiginstead of being converted to a mutableListConfig. Code that expects tuple input to support list mutation, checks onlyOmegaConf.is_list(), or expectsOmegaConf.to_container()to return a list for tuple input must be updated. UseOmegaConf.is_tuple()for tuple-specific behavior,OmegaConf.is_sequence()when either sequence type is accepted, or pass a list explicitly when mutation is required. Tuple annotations support fixed positional and homogeneous variadic types, complete replacement merges, typed container unions, native tuple conversion, and tuple-style sequence operations. Tuple semantics are experimental in OmegaConf 2.4 and feedback is welcome. (#392)OmegaConf.update()for explicit conversion. Assigning structured-config objects or classes to structured-config fields retains its existing behavior. (#459)OmegaConf.get_type()to returnNoneTypefor OmegaConf nodes containingNone, and validateNone/NoneTypeannotations. (#928)OmegaConf.register_resolver()as the canonical custom resolver API, and deprecatedOmegaConf.register_new_resolver()andOmegaConf.legacy_register_resolver(). (#969)Improved Documentation
create,structured,load,from_cli,has_resolver,get_cache,set_cache,clear_cache,copy_cache,set_readonly,is_readonly,set_struct,is_struct,is_missing,is_interpolation,is_list,is_dict,is_config,get_type,flag_override,read_write, andopen_dict. (#1222)OmegaConf.mergebehavior withMISSINGvalues: a missing value on the source side does not overwrite a non-missing value on the target. (#771)Miscellaneous changes
antlr4runtime is now vendored to prevent conflicts with other dependencies. (#1091)v2.3.1: OmegaConf 2.3.1Compare Source
2.3.1 (2026-06-11)
Bug Fixes
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.