Skip to content

v1.226.0-rc.6

Pre-release
Pre-release

Choose a tag to compare

@cloudposse-releaser cloudposse-releaser released this 13 Aug 00:49
· 1 commit to main since this release
a25bfb5
feat(config): auto type inference + provenance/merge bug fixes Erik Osterman (Cloud Posse) (@osterman) (#2897) ## what
  • atmos config set and atmos stack set now default --type to auto: infer from the Atmos config schema, then from the type of the value already at the path, falling back to a string (with a warning) only when neither source has an answer. atmos stack set previously never inferred at all — every value was stored as a string unless --type was passed explicitly.
  • Fixed PickProvenanceFile (shared by atmos stack set/get/delete/list and the AI/MCP tools layer) always picking the last provenance entry, which for any value defined only in an imported catalog file was a phantom Line:0 entry pointing at the wrong (importing) manifest instead of the file that actually defines the value.
  • Fixed MCPSettings.Enabled (a bool tagged omitempty) silently disappearing from the merged config when atmos.yaml and an atmos.d/ fragment both set it to different values, instead of the explicit value winning.
  • Fixed error hints containing a raw <placeholder> (e.g. pass --config <file>.) being silently stripped by the terminal markdown renderer, which parses unescaped angle brackets as inline HTML.
  • --config a.yaml,b.yaml on atmos config get/set/delete/format now warns that only the first file is targeted, instead of silently dropping the rest.
  • atmos config get on a key defined only in an atmos.d/ fragment now hints to check atmos describe config instead of just reporting "not found".
  • The unset alias (for config/stack delete) now shows up in --help output, alongside del.
  • Adds a blog post and roadmap entry for the type-inference change, and fixes a stale doc example that cited a non-existent config field.

why

  • A hands-on DX field-test pass of atmos config and atmos stack/atmos stack config surfaced these as real, reproducible bugs and gaps — silent type corruption, a provenance-resolution bug that broke edits for the standard catalog-import stack pattern, and a config value that could vanish entirely on merge.
  • These commands had effectively zero CLI-level test coverage before this PR; the fixes are backed by new regression tests reproducing each bug (including a second, independently-broken copy of the provenance bug found in the AI/MCP tools layer during the fix).

references

  • N/A

Summary by CodeRabbit

  • New Features
    • config set and stack set automatically infer value types, with warnings when falling back to strings.
    • Imported catalog and vendor values can be edited, deleted, and formatted in their source files.
    • Help output now displays all command aliases.
  • Bug Fixes
    • Improved guidance for missing files and imported values, shared-file warnings, and invalid-value errors.
    • Preserved error-hint placeholders such as <file> in formatted output.
    • MCP settings now default safely to disabled.
  • Documentation
    • Updated command references and examples for type inference and imported configuration values.