dotenv.set_key() rewrites every line that matches the key so self-referencing values (COMPOSE_FILE="$COMPOSE_FILE:compose.extra.yml) don't work correctly when used in an env: config.
substitute_jinja_variable() never recursed into lists, so list-valued fields like initial-hooks got stringified and overwritten with a single corrupted string if they contained a template.
Fix for two bugs:
1. `dotenv.set_key()` rewrites every line that matches the key so self-referencing values (`COMPOSE_FILE="$COMPOSE_FILE:compose.extra.yml`) don't work correctly when used in an `env:` config.
2. `substitute_jinja_variable()` never recursed into lists, so list-valued fields like initial-hooks got stringified and overwritten with a single corrupted string if they contained a template.
dotenv.set_key() rewrites every line sharing a key, breaking recipes
that legitimately repeat a key (e.g. COMPOSE_FILE) to accumulate a
value via bash expansion.
Values that reference their own key (e.g. "$COMPOSE_FILE:extra.yml") are
now routed to a new set_extending_key(), which only touches the one
matching line by uncommenting or appending it, leaving every other line
sharing that key untouched.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fix for two bugs:
dotenv.set_key()rewrites every line that matches the key so self-referencing values (COMPOSE_FILE="$COMPOSE_FILE:compose.extra.yml) don't work correctly when used in anenv:config.substitute_jinja_variable()never recursed into lists, so list-valued fields like initial-hooks got stringified and overwritten with a single corrupted string if they contained a template.