Repository navigation
Conversation
Imkkey
marked this pull request as ready for review
October 14, 2026 06:22
This branch has not been deployed
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.
Fixes #215.
EnvSource(parse_yaml_docs=True)crashes when a nested environment variable overrides a leaf already present in a parent YAML mapping. The same collision affects nested dictionaries combined with dottedset_argskeys.For example,
APP_DATABASE='{host: localhost, port: 5432}'andAPP_DATABASE__PORT='5433'currently call5432.update(5433).Only merge when both leaf values are dictionaries; otherwise retain the more-specific value. This follows the existing parent-before-child ordering. Existing shallow mapping merges, key order, and
set_argshandling of omitted/None arguments remain unchanged.Tests cover scalar, list, null and mapping collisions, both insertion orders, dictionary and Namespace arguments, preserved source inputs, and shallow mapping merge/order. Add an Unreleased changelog entry.
Validation on Python 3.12.14:
test_bump_version_applies_sequential_changelog_updates. Clean baseline: 300 passed with the same failure, caused by the fixed September-length underline for an October date.git diff --checkpass.No other Python runtime or remote CI has been tested for this patch. Prepared and checked with OpenAI Codex assistance; draft for maintainer review.