github cloudposse/atmos v1.233.0

4 hours ago

📦 Other Changes

fix(ci): stop quality gate flipping to not-ready in merge queue @osterman (#3439)
  • Bug Fixes
    • Improved pull request quality-check accuracy by including merge results only when the merge commit contains the pull request’s head commit. Temporary merge-queue results no longer incorrectly affect the pull request’s CI status.
    • Merge-commit lookup failures are now surfaced instead of silently changing the reported check state.
fix(website): support deep links to example chapters @osterman (#3435)
  • New Features
    • Catalog category selections are reflected in the URL, so filtered views can be revisited through browser history or shared as links. Selecting “All” clears the category fragment.
  • Bug Fixes
    • Catalog navigation restores the scroll position associated with each history entry, including when clearing a category filter. Restoration also handles pages where the saved position exceeds the current viewport.
docs(skills): document native PR stack repair and review @osterman (#3399)
  • Documentation
    • Added guidance for discovering, repairing, publishing, reviewing, and merging pull request stacks and dependent chains.
    • Clarified when to use stack-aware maintenance, how to verify stack membership and order, and when conversion to a native stack requires authorization.
    • Documented validation of live branches, approvals, CI, review coordination, publication safeguards, and recovery from partial updates.
    • Clarified review-size limits, authorization requirements for history rewrites, and the prohibition on force-pushing during maintenance, including stack push and sync operations.
docs: propose explicit teardown for deleted components @osterman (#3415)
  • Documentation
    • Added a proposal outlining a future workflow for explicitly tearing down deleted components, including preparation, review, execution, and failure recovery.
    • The proposal does not change existing command behavior.
docs: simplify CloudFormation YAML examples @osterman (#3411)
  • Documentation
    • Updated CloudFormation examples across guides, reference pages, and blog posts to show the aws/cloudformation YAML key without quotes. Both quoted and unquoted forms remain valid, with the unquoted form preferred.
    • Revised blog titles and descriptions to better reflect their topics, including automation steps, reliable command inputs, monorepo change detection, and CI reporting.
  • Bug Fixes
    • Improved DNS setup and diagnostics for macOS-based container test runs, including checks that DNS is ready before image pulls and clearer failure details.
    • Pull-request benchmarks now use the merge commit’s first parent as their comparison baseline.
docs: clarify toolchain locks and secrets demo masking @osterman (#3428)
  • Documentation
    • Clarified the difference between toolchain artifact lockfiles and locks used for concurrent access to .tool-versions.
    • Added guidance on committing artifact lockfiles for reproducible installations and ignoring sidecar lockfiles created by older releases.
  • Demo Updates
    • Updated the secrets demo to show secret initialization, setting, and retrieval, including masked output and confirmation that declared secrets are received.
    • Added pauses and typing delays to make the secret-entry steps and command confirmations easier to follow.
docs: clarify component data sharing and lifecycle workflows @osterman (#3414)
  • Documentation
    • Clarified how to identify deleted Terraform components and handle teardown, including comparison commits, dependency order, and reviewing plans. Added guidance for terraform destroy --affected and filtering with --query.
    • Updated CI examples with native base detection and documented limitations of matrix output.
    • Added guidance on backend and workspace changes, preserving state identity when renaming a stack, and troubleshooting configuration, templates, stacks, and errors.
    • Expanded state-sharing recommendations for outputs, configuration, stores, and workflows, including when component output lookups can trigger Terraform/OpenTofu operations.
    • Clarified safe handling of passwords and API keys with encrypted stores and !secret.
docs: refresh homepage casts and Atmos adoption guidance @osterman (#3409)
  • New Features
    • Landing-page demos now use interactive terminal recordings, with examples covering infrastructure planning and deployment, native Kubernetes workflows, emulators, secrets, and more.
    • Added a searchable FAQ with expandable answers, result counts, and direct links to questions.
    • Added a CloudFormation link to the landing page’s supported-tools list.
  • Documentation
    • Expanded guidance for adopting Atmos with existing Terraform projects, managing component sources, and using remote execution.
    • Clarified when saved plans are supported and when planfiles can be skipped.
docs: clarify custom components and Starlark implementations @osterman (#3419)
  • Documentation
    • Updated custom component examples and guidance to use the example component type.
    • Clarified when to use Go templates versus Starlark scripting, with examples of validation and reusable logic.
  • Examples
    • Updated demo and configuration examples to inspect and deploy the example component.
    • Changed the documented deployment command to atmos example deploy-app --stack dev.
fix: report quality gates for stacked pull requests @osterman (#3421)
  • Quality Reports
    • Reports cover eligible open pull requests targeting any branch, including stacked and fork pull requests.
    • Scheduled and manual checks consider open pull requests across target branches and identify reports needing refresh after base-branch changes, missing revision details, or unavailable evidence.
    • Reports record the evaluated target branch and revision. When evidence is unavailable, an existing report and its labels are retained only if they match the current pull request head and base.
    • Results are not published if the pull request revision changes during evaluation.
    • Merge-conflict checks evaluate conflicts against the pull request’s target branch.
fix(ci): quality gate for fork PRs; add draft and conflict gates @osterman (#3398)
  • what

  • Fork PRs now get the Quality Gate: benchmark report recovery resolves a fork PR through its head owner:branch when commits/{sha}/pulls returns nothing (shared githubapi.OpenPRsForHead helper, reused by the existing event selector).
  • Recovery can no longer finish silently without publishing: if it succeeds but publishes nothing for the PR, it emits a workflow warning and publishes the gate with performance pending.
  • Two new blocking gates, first in the registry: Ready for review (replaces the hidden !pr.Draft override and draft footer/guidance) and No merge conflicts (mergeable=false or dirty; an uncomputed mergeable is treated as unavailable evidence so the published report is kept and retried).
  • Presentation: gates that have not passed show ⚠️ instead of ⏳, and "Benchmark report integrity" is renamed "Benchmark results" (it only fails when report processing fails; slowdowns stay advisory).
  • Tests for the fork-only commit case (with negative paths), the recovery fallback, and both gates; magefiles/README.md gate list and a docs/fixes record.
  • why

  • #3397 (a draft fork PR) never received a Quality Gate. GitHub returns no PR for fork-only…
Refresh generated CLI recordings after feature graduation @osterman (#3393)
  • Documentation
    • Refreshed CLI help recordings with updated command listings and guidance, including gcp, sbom, and store.
    • Clarified emulator listing options and toolchain update behavior.
    • Documented cache values written to GitHub Actions environment files and the auth login --webflow option.
    • Updated upgrade guidance for features moving to stable status: upgrade Atmos without configuration changes, and expect no experimental warnings for graduated features. Updated the optional configuration example to silence warnings for features that remain experimental.
fix(ci): stop auto-updating Dependabot/Renovate PRs behind main @austenstone (#3366)
  • Chores
    • Automated merge rules no longer update eligible dependency-update pull requests targeting the primary branches.
    • Renovate no longer rebases pull requests solely because they are behind the base branch.
feat(cloudformation): generation workdirs, sources, and downloader (split from #3251) @osterman (#3324)
  • New Features
    • Added support for downloading files and directories from S3, including versioned objects and scoped AWS credentials.
    • Backend listings now show errors for individual targets while still displaying healthy targets.
    • Source provisioning tracks managed directories and applies configured refresh intervals; dry-run pull and delete commands report their targets without performing those actions.
    • CloudFormation operation commands now accept an identity option.
    • CloudFormation template outputs use the identity configured for their producer when available.
  • Bug Fixes
    • CloudFormation operations and output lookups now use the appropriate target identity.
    • Invalid CloudFormation configuration receives clearer validation guidance.
    • Source deletion protects directories without provisioning records or owned by components without a source.
    • Archive downloads warn when links are present.
    • CloudFormation apply summaries retain change-set details when an operation fails.
    • Secret selectors and component detection handle additional configuration cases.
docs(cloudformation): add native aws/cloudformation component PRD @osterman (#2997)
  • Documentation
    • Added guidance for managing dependent pull request stacks and a product specification for an AWS CloudFormation component.
    • Clarified stack freshness, preview cleanup, and AWS sign-in reference information.
  • CI Improvements
    • Improved recovery and readiness checks for services used in automated builds, and strengthened handling of GitHub API rate limits and access restrictions.
    • Updated Windows build and acceptance checks to improve reliability.
  • Tests
    • Improved isolation and reliability across CLI, scheduler, authentication, process, and toolchain tests.
docs(cloudformation): phase 1 docs, examples, and fix-log (split from #2999) @osterman (#3156)
  • Documentation
    • Added draft guidance for native AWS CloudFormation components and CLI workflows, including rendering, previewing, deploying, validating, viewing outputs, and deleting stacks. These CLI commands are not available in this release.
    • Clarified delivery-target behavior, stack policy paths, and CloudFormation example setup.
  • Examples
    • Added a local-emulator CloudFormation example and command help recordings, with expanded validation coverage.
  • Website
    • Draft documentation is excluded from release and unreleased-document listings.
feat(cloudformation): core lifecycle verbs (split from #2999) @osterman (#3157)
  • New Features
    • Added native AWS CloudFormation components with commands to render, plan, diff, apply, deploy, delete, validate templates, and view stack outputs.
    • Configure templates, stack settings, authentication, and provisioning targets; deploy directly or package templates for delivery.
    • Export stack outputs as JSON, YAML, environment variables, CSV, and other supported formats, with options to flatten nested values or uppercase keys.
  • Improvements
    • CloudFormation components support affected-component detection, configuration inheritance, and component selection.
    • Single-file sources can be vendored directly into component directories.
docs(cloudformation): phase 1 docs and examples (split from #3157) @osterman (#3322)
  • Documentation
    • Published documentation for experimental native AWS CloudFormation stack deployment through the CLI and as a component type, including configuration options and examples.
    • Added CloudFormation to the supported component types and component navigation.
    • Clarified that AWS changeset APIs don’t support stack timeouts: Atmos stops watching after 60 minutes but does not cancel the AWS operation.
    • Updated AWS command and component guidance to link to the CloudFormation documentation and command reference.
  • Bug Fixes
    • Improved cleanup retries when deleting a CloudFormation change set is temporarily rejected.
feat(cloudformation): add changesets, drift detection, fmt/list/source verbs [EXPERIMENTAL] @osterman (#3000)
  • New Features
    • Added CloudFormation commands for creating, executing, listing, and deleting change sets; detecting and reporting drift; listing deployed stacks; retrieving templates and policies; and formatting templates.
    • Added !aws.cloudformation.output to reference deployed stack outputs in configuration.
    • Added CloudFormation source management commands and dry-run support for source pulls and deletions.
  • Improvements
    • Stack listings identify configured stacks, and template formatting preserves comments and CloudFormation tags.
    • Retrieved templates are rendered as readable YAML; output lookups respect authentication context and keep cached results separate across credentials.
feat(cloudformation): add stack sets, tree/logs/watch, and backend management [EXPERIMENTAL] @osterman (#3001)
  • New Features
    • Added CloudFormation StackSet commands to create, update, delete, and list instances across accounts and regions, with configurable targets and permissions.
    • Added nested-stack tree views, combined event logs with resource timelines, and live operation monitoring.
  • Documentation
    • Expanded CloudFormation command references with usage examples, configuration guidance, and CLI help recordings, including changeset, drift, source, formatting, and template and policy commands.
    • Documented retrieving deployed CloudFormation Outputs in templates and component functions.
docs(cloudformation): phase 4 docs, screengrabs, examples, and fix-log @osterman (#3136)
  • Documentation
    • Added CloudFormation backend command references and a Rain-to-Atmos migration guide, with notes on feature availability.
    • Clarified comma-separated label-filter syntax and when Kubernetes commands require --stack.
    • Updated CloudFormation guidance on lifecycle hooks, termination protection, templates, provisioning, and example prerequisites; added reports on related fixes and their status.
  • Examples
    • Added a recorded CloudFormation lifecycle walkthrough, example configuration, lifecycle hooks, and validation.
  • Command Help
    • Added recordings of CloudFormation backend command help.
feat(cloudformation): migration guide, inline templates, and field-test fixes [EXPERIMENTAL] @osterman (#3137)
  • New Features
    • Added CloudFormation backend commands to create, update, delete, describe, and list S3 artifact buckets.
    • CloudFormation templates can now be provided inline or by file path. Packaging can automatically provision an enabled backend bucket.
    • Added live CloudFormation log following and repeatable --labels filters across commands.
    • Added stack selection prompts when applicable.
  • Bug Fixes
    • Re-applying CloudFormation components no longer disables termination protection; deletion remains explicitly controllable.
    • Improved stack deletion handling and backend bucket cleanup warnings.
docs(cloudformation): phase 4 docs, examples, and skills (split from #3137) @osterman (#3323)
  • New Features
    • Added an experimental CloudFormation component supporting inline and file-based templates, stack operations, changesets, drift detection, StackSets, and backend management.
    • Added migration guidance for Rain-managed and raw CloudFormation projects, along with an inline-template example.
  • Bug Fixes
    • Applying a stack no longer changes termination protection when the setting is omitted or false. Deleting a protected stack requires explicitly disabling protection.
    • Improved example browsing so secondary-tag examples appear in relevant sections when needed; search results remain grouped by their primary tag.
  • Documentation
    • Published CloudFormation command and component documentation, a launch announcement, and updated migration resources and examples.
feat(cloudformation): stack_policy.body and account-safe outputs @osterman (#3251)
  • New Features
    • Provision targets can define scoped authentication, and CloudFormation stack policies can be supplied inline.
    • CloudFormation components support inline templates and locals.
    • Secret declarations support deferred backend selectors. Secret listings can show successfully evaluated entries alongside failures, with reasons for unresolved or errored entries.
    • Secret file-dependency information accounts for unresolved selectors.
  • Bug Fixes
    • Secret enumeration retains healthy entries when other declarations fail, while still reporting failures that affect SOPS safety.
    • Secret commands provide clearer errors when interactive confirmation is unavailable and indicate when --force is needed.
    • YAML handling better preserves digit-like strings and top-level string values.
    • Authentication selection reports conflicting defaults and clearer guidance when interactive selection is unavailable.
    • Store authentication respects explicit identity choices and warns when a pinned identity cannot be used.
Add branded per-page social cards to the website @osterman (#3388)
  • New Features
    • Website pages now display branded, page-specific preview images when shared on social platforms, with titles and descriptions reflected in the card where available.
    • A branded default preview image is available for pages without a page-specific card.
Add reusable edition behavior gates @osterman (#3377)
  • New Features
    • Edition pins can select older or newer behavior based on the pin date; unpinned projects use the newer path.
    • Edition comparisons, pin descriptions, and date-range results include behavior transitions alongside configuration changes.
    • Terraform plan diffs and deployment verification support exact resource-type and top-level attribute exclusions, configurable across editions.
    • Current editions display computed-attribute changes that older editions hid; unknown values are rendered as “known after apply.”
  • Bug Fixes
    • Invalid edition pins, malformed exclusion entries, and unrecognized behavior keys return errors. Unmatched exclusions generate warnings.
  • Documentation
    • Updated edition and plan-diff guidance, including transition dates and exclusion behavior.
fix(ci): publish quality gate for fork PRs; fix self-feeding reconciler @osterman (#3383)
  • Bug Fixes
    • Quality reports now correctly associate fork-based pull requests with their head commits, including when standard commit lookup does not find them.
    • Scheduled reporting prioritizes open pull requests without a report for their current commit, as well as those with recent commits.
    • A failure to inspect one pull request no longer prevents others from being processed. Existing reports, comments, and labels are preserved when review evidence is unavailable.
    • Reports now identify unavailable review evidence, and partial processing failures no longer fail the entire run.
  • Documentation
    • Clarified scheduled report selection and recovery behavior.
fix(ci): tap homebrew/core with --force in release bump @aknysh (#3370)
  • Bug Fixes
    • Updated the Homebrew release workflow to handle tapping homebrew/core with Homebrew 7.x, preventing the release step from failing.
  • Documentation
    • Added a note describing the release-workflow issue and a possible alternative if similar failures recur.
docs: align CI and automation guides with field-test fixes @osterman (#3337)
  • Documentation
    • Added guidance for script-based CI summaries, comments, statuses, environment exports, and fork pull request safeguards, including when reporting is held and how the safety gate can be bypassed.
    • Expanded automation references for script inputs, flags, output modes, templates, retries, timeouts, cancellation, Git hooks, and computed YAML values.
    • Clarified CI permissions and comment targets, as well as command-specific configuration and behavior.
docs: clarify Scripting guides and migrate URLs @osterman (#3321)
  • Documentation
    • Reorganized the scripting guides around Starlark, with expanded guidance for workflows, custom commands, lifecycle hooks, testing, and standalone CLI apps.
    • Clarified custom-command argument behavior, including required and optional arguments, default values, and handling of commas, empty strings, and non-ASCII text.
    • Updated scripting documentation links and navigation throughout the site, including related guides and blog posts.
Add the embedded Starlark runtime and command APIs @osterman (#3264)
  • New Features
    • Added a Starlark scripting engine with standalone script detection, parallel tasks, retries, and dry-run support.
    • Scripts can run Atmos commands, execute processes, read files, resolve components, install tools, and use logging and regex utilities.
    • Added command and flag discovery for scripts, plus structured task output and cancellation support.
  • Documentation
    • Added Starlark runtime guidance and notes on component resolution and runtime behavior.
docs: add Automation Functions and language references @osterman (#3274)
  • New Features
    • Standalone scripts can now read source from stdin, with support for script arguments and interpreter selection.
    • Added the errors.build helper for reporting script failures with structured details.
    • Added extensive reference documentation for the Automation Language, its built-ins, data types, execution, and available functions.
  • Documentation
    • Expanded guides and examples for workflows, custom commands, lifecycle hooks, testing, and standalone scripts, including passing values between workflow steps.
docs: align automation guides and add CLI acceptance cases @osterman (#3296)
  • Documentation
    • Clarified Git hook arguments, step execution, environment sharing, installation validation, and uninstall behavior.
    • Expanded Starlark guidance for available APIs, process results, retries, tool installation, standalone CLI flags, and command output.
    • Documented file-based configuration reads and clarified stack identity, script context, validation errors, and command usage.
    • Updated examples for component settings and Starlark values.
  • Tests
    • Added coverage for Git hooks, Starlark scripts and steps, standalone CLI behavior, stack identity, and configuration edge cases.
fix(ci): share CI reporting workflow and limit recovery scans @osterman (#3376)
  • Automation
    • Quality reports are published after all workflows for a pull request have finished, including failed or canceled runs.
    • Scheduled checks reconcile open pull requests to main updated within the past 24 hours; manual checks cover all open pull requests to main.
    • Periodic reconciliation helps recover missed events and late results.
    • Benchmark reports now run manually using a completed benchmark run ID.
  • Quality Reports
    • Existing labels and comments are left unchanged when they already match the report.
chore: bump Claude Code plugin version to v1.232.0 @cloudposse-releaser[bot] (#3369)
fix(ci): quiet Quality Gate comment; skip CodeRabbit gate for bot PRs @osterman (#3375)
  • what

  • Wrap the "Describe affected" benchmark table in the Quality Gate comment in a collapsed <details> block, like "All other benchmarks". The headline and per-snapshot warning lines stay visible above it.
  • Remove the redundant github.com/cloudposse/atmos/ module prefix from benchmark metric names. Rows now read tests/benchmarks/CLI/DescribeAffected/... (sec/op).
  • Pass the "CodeRabbit approval (current head)" gate when a bot account opens the PR (user.type == "Bot"): Renovate, Dependabot, the github-actions token, cloudposse-releaser[bot]. Evidence reads "Not required: PR opened by automation ()".
  • why

  • The Describe affected table was the only uncollapsed section in the sticky comment. It showed 48 rows of runner noise even on markdown-only PRs such as #3369.
  • Every metric name repeated the module path, which wrapped every row in the table.
  • We don't require CodeRabbit approval on automated PRs, but the gate marked them "Not ready" (e.g. #3369 from cloudposse-releaser[bot]).
  • references

  • Example comment: #3369 (comment)
  • 🤖 Generated with Claude Code

✨ Features

fix(templates): honor configured delimiters in step templates @osterman (#3436)
  • New Features
    • Workflow, custom-command, and lifecycle-hook step templates now support delimiters configured in template settings, including nested and multi-pass templates.
    • Projects pinned to editions before 2026-10-19 continue using {{ }} for step templates.
    • Template-based output modes now work with configured delimiters.
  • Bug Fixes
    • Invalid output modes are reported after template rendering, including when custom delimiters are used.
  • Documentation
    • Updated template and edition guides with delimiter behavior and edition compatibility details.
feat(templates): add gomplate experimental mode option @hashfunc (#3412)
  • New Features
    • Added an experimental Gomplate setting for enabling experimental template functions, such as net.CIDRHost. It defaults to off and can be configured globally or overridden per stack. Stacks inherit the global value when no override is set.
    • Import templates use the global setting; it does not apply to document generation or scaffold templates.
  • Documentation
    • Updated template configuration examples and references with the setting’s default, inheritance, and scope, with examples of experimental functions and per-stack overrides.
feat(config): CLI-config import DX — optional/required, conditional loading, optional MCP servers @aknysh (#3433)
  • New Features
    • CLI configuration imports can be required or optional. Object-form imports are required by default; skip_if_missing: true warns and skips failures, while legacy string imports remain optional.
    • Imports support conditional loading for local, CI, or CEL-defined environments, including nested imports.
    • Optional MCP servers are skipped with a warning when their identity is unavailable; other startup failures remain errors.
    • Git-backed imports with missing or mutable references generate advisory warnings and continue resolving.
  • Documentation
    • Added configuration guidance, examples, and a blog post covering imports and optional MCP servers.
feat: add CEL policy engine, plan gates, and native CI hooks @osterman (#3371)
  • New Features
    • Added experimental CEL policies to evaluate saved Terraform plans before publication or application.
    • Added policy-selected lifecycle hooks for supported Terraform, Helmfile, Helm, and Kubernetes operations.
    • Added --from-plan support for applying saved Terraform plans.
    • With plan policies enabled, apply requires an explicit saved plan, and direct destroy is blocked.
    • Added GitHub Actions context for policy checks.
  • Bug Fixes
    • Improved error messages by quoting component, stack, and other identifiers consistently, including identifiers with special characters.
  • Documentation
    • Added policy setup, configuration, examples, CI context, lifecycle hook guidance, and details about experimental capabilities and limitations.
feat: add policy selectors, affected gates, Starlark, and library @osterman (#3384)
  • New Features
    • Added a searchable, tag-filtered Policy Library with reusable examples for Terraform plans, lifecycle events, GitHub Actions, and affected changes.
    • Expanded policy support with restricted Starlark rules, instance selectors, and affected-change checks. During affected analysis, policies can block commands when changes are denied or comparison data is unavailable.
    • Policies load from policy.d/ by default, with ATMOS_POLICY_DIR available to override the location.
  • Documentation
    • Updated policy guides with configuration, inputs, execution limits, enforcement boundaries, affected-change behavior, and library contribution guidance.
feat: enforce policy admission, source security, and GitHub approvals @osterman (#3365)
  • New Features
    • Added offline commands to validate, inspect, and test policy bundles, plus ci context to view CI data or field paths without exposing values.
    • Policies can govern CLI and component commands, YAML and template functions, and local or remote sources, with optional path restrictions and approval requirements.
    • Added --explain to show policy decisions and evaluation details on stderr.
    • GitHub pull request approvals are checked against current review evidence before approval-gated actions proceed.
  • Security
    • Policy checks can block disallowed commands, function calls, file access, imports, and downloads before execution or access.
  • Bug Fixes
    • Terraform dry runs now report when policy evaluation is unavailable because no saved plan was evaluated.
feat: add policy library explorer and usage guides @osterman (#3387)
  • New Features
    • Added policy controls for command and component execution, YAML functions, Go templates, and source access, including destroy detection and approval requirements.
    • Added CI context inspection with query filtering and offline policy commands for checking, listing, validating, and testing policies.
    • Redesigned the Policy Library with search, category filters, CEL and Starlark variants, examples, and references.
    • Policy denials now show configured explanations and use a distinct exit code. Nested Atmos commands identify denials and inherit explanation settings.
  • Bug Fixes
    • Improved plain-text rendering of Markdown explanations and hints, and corrected policy enforcement and policy discovery.
  • Documentation
    • Added guidance on policy admission, approvals, source restrictions, CI context, and Policy Library usage.
feat(ci): annotate failed commands and policy denials @osterman (#3403)
  • New Features
    • CI systems now receive annotations for command failures. Policy denials produce one annotation per denied rule, with its reason or a fallback message; other failures include the error’s title, message, and details, plus a file location when available.
    • Nested command failures are reported once. Policy denials detected before configuration loads are annotated when a CI provider is detected.
  • Documentation
    • Added guidance on CI failure annotations, including how CI detection and configuration affect reporting and what annotations contain.
    • Updated the website’s extensibility overview to cover policies and validation together.
feat: control cast playback duration and preserve Unicode @osterman (#3418)
  • New Features
    • Cast recordings can group steps into playback segments with a specified positive duration. Captured events fit the segment, while step execution, live output, and wait timeouts remain in real time.
    • Playback segments work in session and steps modes and cannot be nested.
  • Bug Fixes
    • Improved recording of text when UTF-8 characters arrive across multiple reads.
  • Documentation
    • Added guidance and examples for configuring playback segments.
feat(auth): AWS credential_process support (atmos as helper + helper identity) @osterman (#3249)
  • New Features
    • Added support for using external AWS credential helpers as Atmos identities and exporting Atmos credentials in AWS credential_process format for CLI profiles and SDK-based tools.
    • Added minimum-validity controls, credential caching, role chaining, AWS ambient credentials, and non-interactive identity selection.
    • AWS credential-process identities can open the web console when helpers return temporary credentials with a session token.
    • atmos auth user configure now supports selecting an AWS user identity directly and uses the configured credential store.
  • Bug Fixes
    • Improved authentication error reporting and guidance, and made interactive authentication fail promptly when a terminal is unavailable.
Add declarative skills and unified AI tool approvals @osterman (#3352)
  • New Features
    • Added declarative AI skill sources with commands to manage declarations and synchronize installations from local or Git repositories.
    • Added project and user scopes, version tracks, installation status, and synchronization modes for previews, validation, and recovery.
    • Added saved-session support to ai ask.
    • Added Claude Code approval handling across chat, ask, and exec, with clearer approval choices and unattended-run policies.
  • Bug Fixes
    • AI questions now include stack context in prompts without changing the recorded question or conversation history.
    • Improved cleanup of provider processes when requests are cancelled or time out.
Add cached CI review labels and boolean label selectors @osterman (#3395)
  • New Features
    • Added the !ci.labels YAML function to return sorted review labels or check whether all specified labels match exactly and case-sensitively. Supports GitHub Actions and GitHub Enterprise, including merge-queue pull requests.
    • CI labels can be used in stack configuration and component selectors. Results are shared for each CLI invocation and refreshed on the next.
    • Metadata labels now accept boolean values, such as preview: true, for filtering components and stacks.
    • Outside a review context, label lists return empty and checks return false; lookup failures during a review are reported as errors.
  • Documentation
    • Added guidance and examples for CI label functions, review contexts, merge queues, and boolean metadata labels.
feat(git): publish GitOps target deliveries through pull requests @bonddim (#3355)
  • New Features
    • Git provision targets can publish rendered manifests through pull requests on GitHub and Azure DevOps.
    • Configure the head branch, title, body, labels, draft status, reviewers, and assignees. Deliveries open or update pull requests against the configured or default branch without force-pushing.
  • Documentation
    • Added setup guidance and examples covering supported repository URLs, authentication, and pull-request delivery.
feat(ai): interactive atmos ai ask with approvals, choices, follow-ups @osterman (#3350)
  • New Features
    • atmos ai ask supports interactive tool approvals, AI-directed questions, progress updates, and terminal follow-up prompts.
    • Configure tool permissions with ai.tools.mode: require_confirmation prompts for approval, allow skips prompts while honoring blocked tools, and yolo bypasses permission checks.
    • Claude Code approval wait time does not count toward the request timeout.
  • Bug Fixes
    • Empty answers, provider failures, and invalid permission modes return clear errors.
    • Requests requiring approval fail clearly when no terminal is available.
  • Documentation
    • Updated AI configuration, usage, and troubleshooting guidance. Legacy permission booleans remain supported as deprecated aliases.
feat(docs): support native Terraform objects in README templates @osterman (#3404)
  • New Features
    • Documentation templates can access parsed Terraform module data—including inputs, outputs, resources, providers, and module calls—to create custom README layouts.
    • Existing Terraform documentation output remains available. Templates can still render when Terraform documentation is disabled or its source directory is unavailable.
    • Added an example Terraform README format with module details, categorized variables, and obsolete-item labels.
    • Terraform documentation formatting honors section visibility, empty-section hiding, and heading-level settings for unpinned projects and editions dated 2026-10-17 or later. Earlier edition pins retain legacy formatting behavior.
  • Documentation
    • Added guidance and examples for using Terraform data and formatting settings in documentation templates.
Graduate mature Atmos features with evidence and documentation @osterman (#3390)
  • Features
    • Atmos CI, Auth, Toolchain, Emulator, source vendoring, and Terraform workdir management are now stable and no longer require experimental opt-in. Their CLI help and documentation no longer show experimental labels.
    • CI commands still require ci.enabled. Newer Auth providers and integrations may have less production history.
  • Documentation
    • Updated feature-status guidance and the roadmap to distinguish stable capabilities from those that remain experimental, including workdir provisioning for local-only components.
docs(cloudformation): generation workdirs docs, casts, and skills (split from #3251) @osterman (#3325)
  • New Features
    • Added support for YAML-function-based secret backend selectors, with clearer reporting when selectors cannot be resolved.
    • Added documentation for inline CloudFormation stack policies and identity-aware cross-account output lookups.
  • Documentation
    • Expanded guidance for the experimental CloudFormation component, including templates, delivery targets, StackSets, authentication, and template packaging.
    • Clarified CloudFormation rendering, source downloads, output masking, and deployment behavior.
    • Added Helm and Kubernetes component guides, plus workflow naming guidance.
    • Clarified secret management and interactive confirmation requirements.
feat(steps): publish artifacts to S3 and Git targets @osterman (#3290)
  • New Features
    • Added a workflow publish step for sending local files and directories to S3 or Git, using named or inline targets. Results report changed and unchanged files, and dry runs validate configuration without publishing.
    • Added an advanced CloudFormation example demonstrating build, publish, deploy, and HTTP validation.
    • Added browsable example catalogs with search, filters, source-file views, and recorded demos.
  • Improvements
    • S3 publishing skips unchanged files; Git publishing commits and pushes changes while retaining destination-only files.
    • HTTP steps retry expectation mismatches for safe methods and report attempt details on failure. Write methods retry those mismatches only when explicitly configured.
    • CloudFormation previews and stack-event output are clearer, and structured outputs are easier to read.
  • Documentation
    • Added publish-step guidance and updated CloudFormation asset-packaging examples.
feat(cloudformation): Rain migration parity, include eval, short-form intrinsics @osterman (#3317)
  • New Features
    • CloudFormation changeset creation and execution have dedicated lifecycle hooks and support --skip-hooks.
    • YAML !include supports opt-in function evaluation with | eval, while preserving CloudFormation intrinsic tags; short-form intrinsics are supported in inline templates.
    • Eligible apply and deploy operations can create missing packaging buckets when provisioning is enabled.
    • Unset !env variables without defaults resolve to an empty string and log a warning.
  • Bug Fixes
    • Rain directives in CloudFormation templates fail locally with migration guidance.
    • Invalid stack tag formats and first-deployment CREATE changesets using previous parameter values are rejected with guidance.
    • Stack deletion checks live termination protection and handles missing stacks; tree shows deployed nested-stack hierarchies.
    • Missing packaging buckets produce guidance before template upload.
  • Documentation
    • Added and updated Rain migration guidance, including replacement patterns and command mappings.
feat(cloudformation): native CI and field-tested lifecycle hardening @osterman (#3100)
  • New Features
    • CloudFormation commands can publish CI job summaries for changes, stack operations, and drift results, with reproduction commands and drift counts.
    • Drift detection and description now trigger lifecycle hooks.
    • CloudFormation output and apply summaries mask values linked to sensitive parameters when masking is enabled.
  • Bug Fixes
    • Dry runs validate static configuration without evaluating dynamic expressions or contacting AWS.
    • Bulk deletions now process dependents before their dependencies.
    • StackSet targets reject malformed account and region values before changes are made.
    • Successful named changeset deployments apply configured termination protection.
feat(ci): per-store identity for planfile storage @aknysh (#3401)
  • New Features
    • Planfile storage can use a dedicated authentication identity per store, independent of the Terraform component’s identity. If none is configured, the store inherits the component identity.
  • Documentation
    • Added configuration guidance and a working example for using separate identities with planfile storage.
feat(ci): fork-aware gate, report templates, container image comments @osterman (#3308)
  • New Features
    • Added customizable templates for CI summaries and comments, including container image reports. Container builds and pushes can publish per-image summaries and, when enabled, pull request comments.
    • CI scripts can render summaries and comments from templates and supplied data.
    • Pull request context now identifies fork-origin requests. On elevated events, comments and checks are held for fork pull requests unless unsafe fork execution is enabled; same-repository pull requests can post normally.
  • Bug Fixes
    • Generic CI output and summary writers now use the current environment settings when called, so changes made after initialization take effect.
fix(ci): fork gate from the event payload, commit comments, container comment hygiene @osterman (#3318)
  • New Features
    • Added CI support for pull request and commit comments, including automatic comment targeting and keyed updates.
    • Container builds and pushes can publish image summaries to CI job summaries and, when enabled, post grouped comments by image repository.
    • Added controls for fork-related CI writes and clearer warnings when unsafe fork checkout is allowed.
  • Bug Fixes
    • Invalid CI provider URLs now fail the command instead of being treated as warnings.
    • Improved CI output formatting, check-run details, and reporting of skipped uploads.
fix(automation): wire the ci module into every host and harden script inputs @osterman (#3319)
  • New Features
    • Added live viewport output for supported scripts and process commands, with standard streaming as a fallback.
    • Expanded CI scripting with templated summaries and comments, pull-request or commit comment targets, and reporter support in nested steps.
    • Added the atmos.tf alias and improved standalone script discovery, including case-insensitive extensions and more flexible shebangs.
  • Bug Fixes
    • Integer flags now parse base-10 values; invalid defaults, out-of-choice values, and explicitly empty constrained choices are rejected.
    • Standalone scripts retain their original path when --chdir is used. Ctrl-C runs deferred cleanup, and help exits before later script actions.
    • Literal YAML values are preserved, and retry conditions can match error messages or captured process output.
    • Command arguments without a default or explicit optional setting are now required.
  • Documentation
    • Updated CI function guidance and examples for comment targets, templates, and annotation validation.
Introduce Atmos Automation Language across commands and hooks @osterman (#3266)
  • New Features
    • Added Atmos Automation (Starlark) support for standalone scripts, custom commands, workflows, lifecycle hooks, and test steps, with parallel tasks, retries, and structured results.
    • Added examples and terminal recordings for scripts, custom commands, ownership checks, and release planning.
    • Moved tool-version lock files outside project directories.
  • Bug Fixes
    • Improved secret masking across streamed output and applied configured masking to command output.
    • Embedded scripts are validated before execution, and dry runs parse scripts without running them.
    • Improved workflow include path resolution and test-failure summaries.
  • Documentation
    • Expanded guidance for Starlark, script paths, terminal settings, and cast validation.
Add declarative script interfaces and automation documentation @osterman (#3261)
  • New Features
    • Run standalone Starlark scripts as CLI apps with declared positional arguments and typed flags, generated help, and input validation.
    • Access parsed arguments and flags in scripts, custom commands, and workflow steps, including parallel and matrix tasks.
  • Improvements
    • Starlark limits excessive recursion and presents clearer, more concise traceback details.
    • Standalone scripts show the local metrics summary only when explicitly enabled.
    • Starlark step output defaults to raw output without labels; labels can be enabled in configuration.
  • Documentation
    • Added guides and examples for Starlark apps, custom commands, workflows, hooks, and testing.
feat(steps): !literal step fields and reliable custom-command inputs @osterman (#3275)
  • New Features
    • Added integer flags for custom commands, with whole-number defaults and integer values in templates and scripts.
    • Optional command arguments can be omitted and resolve to empty strings; argument values preserve commas, empty strings, and non-ASCII text.
    • Added !literal support for step fields and declared environment values, allowing template-like text to pass through unchanged.
    • Added enforced step timeouts for supported step types, including across retries and backoff.
    • Added validation for supported step output modes and JSON-formatted structured script outputs.
  • Bug Fixes
    • Improved template rendering for parallel and matrix child steps, and clarified handling of inherited environment values.
Expose automation steps, decoded query results, and execution controls @osterman (#3278)
  • New Features
    • Automation scripts can call registered workflow steps and use their returned values, metadata, and outputs in later operations.
    • Process calls support configurable timeouts and retries for eligible failures; captured output reflects the final attempt.
    • Automation query commands capture JSON by default and expose decoded results through data.
    • config get, stack config get, and stack get support --format/-f with raw and json output.
  • Documentation
    • Added guidance and examples for step-library calls, structured query results, and process controls.
Run embedded Starlark steps in Git hooks @osterman (#3283)
  • New Features
    • Git hooks can now run ordered Atmos steps, including inline Starlark scripts; existing command-based hooks remain supported.
    • Automation scripts can inspect local files with functions for matching paths, checking metadata and existence, and reading symlink targets.
    • Pre-commit checks flag broken tracked symlinks and instruction files exceeding their configured size limits.
  • Documentation
    • Updated guides cover Git hook steps and filesystem functions, with examples and usage details.
feat: compute stack values with !starlark @osterman (#3286)
  • New Features
    • Added !starlark expressions in stack manifests to compute typed configuration from merged component context. Expressions can reference other computed values, with dependency cycles reported as errors.
    • Terraform generators now use resolved component values when determining stack names, workspaces, and output paths.
  • Documentation
    • Added guidance and examples for computed YAML values, including supported locations, evaluation behavior, and limitations.
  • Bug Fixes
    • Preserved Starlark expressions through YAML and template processing so they evaluate against the final merged configuration.
fix: harden automation inputs, steps, hooks, and stack values @osterman (#3295)
  • New Features
    • Custom-command and standalone-script help now describes positional arguments, required values, defaults, and allowed options.
    • Git hooks support configured steps, run from the repository root, and pass configured environment values through to steps. Uninstalling without hook names removes Atmos-managed shims, including orphaned ones.
    • Step and stack templates provide clearer validation and error reporting, including rendered output modes and retry settings.
  • Bug Fixes
    • Invalid custom commands no longer prevent other commands from registering; warnings explain the issue, and invoking the affected command reports its error.
    • Explicit stack-file reads now report errors when files cannot be read. Starlark context values and stack locals are more consistent, and computed stack identities are rejected with a clear error.
    • Git hook resource-usage summaries are off by default unless explicitly enabled. Standalone scripts provide clearer flag and validation errors and pass active profile and identity selections to nested commands.
    • Git hook installation validates selected hooks before writing shims, repairs permissions on unchanged shims, and r…
feat(automation): ci module for reporting from scripts @osterman (#3307)
  • New Features
    • Added CI reporting for automation scripts, including summaries, outputs, annotations, comments, checks, and SARIF reports. Reports also render locally when no CI provider is available.
    • Added deferred cleanup, digest functions, executable lookup, and filesystem path resolution with home-directory expansion.
  • Documentation
    • Expanded automation and CI references with usage guidance, examples, configuration behavior, and safety details.
  • Bug Fixes
    • Improved local SARIF messages to identify the report file when its path is available.
  • Workflow Guidance
    • Clarified how to track follow-up work before and after changes merge, and how to work with stacked pull requests.

🐛 Bug Fixes

fix: support oci:// in !include via a shared OCI getter; fix git:: token injection @jorrite (#3381)
  • New Features
    • Added OCI artifact support for YAML !include and !include.raw, allowing files to be selected from within an artifact.
    • OCI sources can now be fetched through the shared downloader for vendoring and generation workflows.
  • Bug Fixes
    • Improved handling of explicitly forced Git sources, including credential injection for supported hosts.
    • Invalid OCI references, missing include paths, and unsupported single-file requests now return clear errors.
  • Documentation
    • Updated OCI include syntax and added guidance on artifact paths and fetching behavior.
Fix prompt masking, script output, and component lookup errors @osterman (#3434)
  • New Features
    • Duration settings now support a consistent range of formats, including Go-style durations, bare numbers in seconds, day units, named intervals, and ISO-8601 values where supported. Numeric seconds are also supported in retry configuration.
  • Bug Fixes
    • Component lookup reports processing errors from the requested stack rather than misidentifying components as missing.
    • Interactive prompts appear before input is entered while secret masking remains active.
    • External script output continues draining after the interpreter exits, with cancellation and output errors handled during draining.
  • Documentation
    • Updated duration guidance and examples to explain supported formats and numeric seconds.
feat(auth): cap Azure PIM activation duration at role policy maximum @AdamMagued (#3253)
  • New Features
    • Azure PIM activation requests now cap durations that exceed the role’s policy maximum, while leaving durations within the limit unchanged. If the maximum cannot be retrieved, the configured duration is used. Unset or nonpositive durations are sent without a duration value.
  • Documentation
    • Updated Azure PIM guidance to reflect the activation-duration cap and its implementation.
fix(archive): resolve linked git worktrees for mtime git/epoch @arcaven (#2824)
  • Bug Fixes
    • Fixed archive timestamp handling for Git linked worktrees by resolving shared Git metadata instead of incorrectly falling back to the Unix epoch.
    • Preserved per-file commit timestamps and the latest commit timestamp for the archived source subtree.
  • Tests
    • Added coverage for timestamp behavior in linked worktrees using Git and epoch modes.
fix(doctor): field-test fixes for dispatch, dependency repairs, and checks @osterman (#3392)
  • New Features
    • atmos doctor now reports dependency issues with clearer locations and verifies that dependency repairs preserve effective dependencies, including inherited ones.
    • Supports legacy list-form depends_on declarations and can migrate them when effective dependencies remain unchanged.
    • Improves monorepo source guidance for mixed-case URLs, nested module paths, and subdirectories placed in query strings.
    • Suggested repair commands preserve relevant scoping options; unmatched exclude patterns are reported.
  • Bug Fixes
    • JSON and SARIF reports now include invocation errors, --affected guidance is clearer, and interrupted runs provide a summary.
    • Read-only files are identified for manual review without blocking repairs to writable files. EditorConfig checks honor Git-aware file selection and exclusions.
  • Documentation
    • Expanded guidance for doctor checks, repair behavior, and dependency declarations.
fix: add regression testing and restore upgrade compatibility @osterman (#3405)
  • Bug Fixes
    • Repeated --labels values now preserve literal quotes and are parsed consistently across commands and configuration sources.
    • Workflow retry conditions can match output from failed attempts.
    • Shell commands support executable scripts without shebangs and commands found through shell-local PATH settings.
    • Stack-name templates correctly handle integer-valued decimal and exponent arguments.
    • YAML include queries preserve multiple results and handle empty values consistently; quoted eval text no longer triggers command execution.
  • Documentation
    • Added guidance for regression investigations and records describing recent fixes.
Shared foundations for atmos doctor: resolvers, precedence, affected @osterman (#3373)
  • New Features
    • Added a dry-run YAML editing option that returns edited content without changing the source file.
    • Configuration paths can now be resolved relative to a specified working directory, with expanded discovery for configuration files, directories, and active profiles.
    • Local stack imports now support additional path and template patterns.
    • Repository change detection now includes staged files and finds untracked files from nested directories.
    • Added GitHub repository health checks and directory tree lookups.
    • Diagnostic progress displays clearer status, timing, and failure information.
  • Bug Fixes
    • Legacy Terraform reconfiguration flags and environment variables now follow documented precedence and map to the corresponding reconfiguration policy.
  • Documentation
    • Clarified legacy Terraform reconfiguration behavior and migration guidance.
fix(stacks): let !unset remove a whole component section @theluckystrike (#3289)
  • New Features
    • Set an entire component section to !unset to remove values from applicable lower-priority configuration layers. This works with base components and overrides, while higher-priority values remain in effect.
  • Bug Fixes
    • Manifest validation now provides clearer guidance when section references use an unsupported YAML tag.
fix(auth): honor --kubeconfig/--alias and expand ~/env in update-kubeconfig --integration @aknysh (#3394)
  • New Features
    • AWS EKS and Azure AKS update-kubeconfig commands now apply --kubeconfig and --alias overrides with --integration; empty overrides preserve the integration’s configured values.
    • Custom kubeconfig paths used by AWS, Azure, and GCP integrations now expand ~ and environment variables. Paths containing an unset environment variable return an error.
  • Documentation
    • Updated EKS and AKS command documentation to describe integration overrides, environment-variable bindings, and path expansion.
Fix delivery workflow regressions before feature graduation @osterman (#3389)
  • New Features
    • Added dry-run support when cleaning a specific Terraform component, showing which component and stack would be cleaned without removing files.
    • Planfile storage supports configured defaults and priority ordering, selecting an available store or reporting an error when selection fails.
  • Bug Fixes
    • GitHub comments over the platform limit are safely truncated while preserving valid text and handling markers and masked content.
    • Changes to pinned source versions are detected, and source values are redacted in change messages.
    • Aqua release tags are preserved when package metadata is unavailable.
    • Tool checksum verification uses the resolved version being installed or locked.
  • Documentation
    • Clarified planfile store selection, availability requirements, and error behavior.
fix: surface helm/kubernetes components in describe/list/dependents wiring @osterman (#2998)
  • New Features
    • Helm and Kubernetes components are included in component listings and unique component results.
    • Change detection recognizes updated files in Helm component folders.
    • Component descriptions retain Helm- and Kubernetes-specific configuration, along with shared generation, source, and provisioning details.
    • Dependency lookups support registered component types.
  • Bug Fixes
    • Deletion detection reports Helm and Kubernetes components when components or entire stacks are deleted, while excluding registered custom providers.
fix(cloudformation): harden lifecycle, outputs, and delivery @osterman (#3250)
  • New Features
    • CloudFormation outputs can be selected by key and rendered in supported formats; bulk output is grouped by stack and component.
    • Added stack listing with managed-stack annotations, bulk formatting checks, lifecycle-hook skip options, and CI output variables.
    • Backend dry runs describe planned actions without AWS calls.
  • Improvements
    • Apply previews changes before confirmation; no-op and declined changes are handled with clearer feedback and cleanup.
    • Parameter configuration accepts maps or AWS CLI/Rain-style lists. Invalid parameters and capabilities are reported before AWS calls.
    • Drift details include property-level differences, and dry runs validate more static configuration.
    • Template retrieval can preserve the original response; packaging can reuse matching uploaded templates.
  • Documentation
    • Expanded CloudFormation command, configuration, migration, and CI guidance.
fix: enforce planfile verification in multi-component deploy @tokanize (#3397)
  • Bug Fixes
    • Bulk Terraform deploys now verify each component’s stored plan using that component’s authentication context and manager.
    • Deploys use the plan selected by verification, helping prevent execution with a missing or drifted stored plan.
    • Deploy workdir operations are serialized when they share a source directory and plan verification is enabled.
  • Documentation
    • Updated Terraform deploy guidance to describe plan verification for both single-component and bulk deploys.
fix: restore describe lookup caches and reduce resolution overhead @osterman (#3380)
  • Bug Fixes
    • Improved reuse of Terraform outputs, state, component references, and deferred lookups while keeping results separate across credentials, configuration, and inspection modes.
    • Inspection lookups continue to mask secrets, and incomplete or failed results are retried rather than retained as completed results.
    • Fixed cache invalidation and handling of empty component authentication settings.
  • Tests
    • Added regression coverage and benchmarks for lookup reuse, credential isolation, retries, and cross-stack store reads.
fix(steps): validate step fields, honor retry conditions, end whole process trees @osterman (#3320)
  • New Features
    • config get, stack get, and stack config get support command-specific format environment variables; an explicit --format flag takes precedence.
    • Git hooks can pass their arguments and supported stdin to hook steps. Installed hooks can use the installing Atmos binary, falling back to the system PATH if unavailable.
    • Starlark references can evaluate only the configuration values they read; unsupported !starlark tags in atmos.yaml now produce an error.
  • Improvements
    • Workflow retries can use configured conditions, and step timeouts now report the affected step type.
    • Hook execution stops with an error when nesting reaches the recursion limit.
fix(starlark): standalone scripts behave like real CLIs @osterman (#3276)
  • New Features
    • Standalone scripts now handle leading Atmos flags, --chdir, and version-pinned reruns while forwarding script arguments correctly.
    • Standalone CLI inputs support CSV-formatted string lists, base-10 integers, and environment values parsed like command-line values. Help output includes required fields, valid choices, and environment bindings.
    • Assigning None to top-level output produces no standalone output; None inside lists or dictionaries remains JSON null.
  • Bug Fixes
    • Invalid standalone CLI input now produces clearer usage errors, without a Starlark traceback.
    • Script selection distinguishes missing .star paths from other paths and directories.
  • Documentation
    • Expanded guidance for standalone CLI inputs, flags, help, errors, and output.
fix: clean up child processes when automation is canceled @osterman (#3294)
  • Bug Fixes
    • Canceling a command or exiting Atmos now also terminates its descendant processes on supported Unix systems, reducing the chance of leftover processes.
    • Commands with terminal input and Windows commands continue to use direct-child termination.
    • Background processes holding command output open no longer cause successful commands to hang or fail.
feat(ci): Reporter seam, local-parity generic provider, GitHub fake API @osterman (#3298)
  • New Features
    • Added unified CI reporting for scripts and workflows, with local output when no CI provider is detected. Supported reports include summaries, outputs, environment and PATH updates, annotations, comments, checks, log groups, secret masking, and SARIF.
    • Added controls for enabling reporting features and restricting reporting in elevated pull-request events.
    • Added GitHub API URL configuration and CI run links for check results.
  • Documentation
    • Updated CI configuration and environment-variable guidance, including comment opt-in behavior.
  • Chores
    • Updated workflow security actions to version 2.22.0.
Prepare shared execution services for Starlark @osterman (#3263)
  • New Features
    • Added streaming secret masking across command output, terminal sessions, pagers, and captured errors—even when secrets are split across writes.
    • Improved YAML include resolution across working directories and configuration layouts, with local script-source tracking and support for clearing inherited commands using commands: !unset.
    • Added terminal query emulation when interactive input is unavailable.
    • Added checksum-verified Atmos bootstrap installation and public attestation verification fallback for GitHub quota limits.
  • Bug Fixes
    • Improved command lookup using each invocation’s environment and working directory.
    • Corrected GitHub rate-limit handling for raw-content downloads and improved logger color behavior and Markdown rendering.
    • Retry operations now respond promptly when their context is already canceled.
  • Documentation
    • Clarified requirements for custom multiline masking patterns.

🤖 Automatic Updates

chore(deps): update cloudposse/github-action-docker-build-push action to v3.2.2 @renovate[bot] (#3417)
  • chore: upgrade actions to Node 24 runtime (SHA-pinned) @​johncbla…
    chore(deps): update anchore/sbom-action action to v0.24.3 @renovate[bot] (#3416)
    • This PR contains the following updates:
    • | Package | Type | Update | Change | |---|---|---|---| | anchore/sbom-action | action | patch | v0.24.2 → v0.24.3 |

    chore(deps): update terraform http to v3.6.2 @renovate[bot] (#3128)
    • This PR contains the following updates:
    • | Package | Type | Update | Change | |---|---|---|---| | http (source) | required_provider | patch | 3.6.1 → 3.6.2 |

    • Release Notes

    • hashicorp/terraform-provider-http (http)
    • v3.6.2

    • Compare Source
    • NOTES:
    • Upgrade the Go toolchain to 1.26.8. (#​647)
    • Update golang.org/x/crypto to v0.56.0, golang.org/x/mod to v0.40.0, and google.golang.org/protobuf to v1.36.12. (#​648)

    • Configuration

    • 📅 Schedule: (UTC)
    • Branch creation
      • At any time (no schedule defined)
    • Automerge
      • At any time (no schedule defined)
    • 🚦 Automerge: Disabled by config. Please merge this manually once you are satisf…
    build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.45.1 to 1.47.1 @dependabot[bot] (#3358)
    • Bumps github.com/aws/aws-sdk-go-v2 from 1.45.1 to 1.47.1.
      Commits
      chore(deps): update dependency @types/node to v22.20.4 @renovate[bot] (#3340)
      • Configuration

      • 📅 Schedule: (UTC)
      • Branch creation
        • At any time (no schedule defined)
      • Automerge
        • At any time (no schedule defined)
      • 🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
      • ♻ 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.

      • If you want to rebase/retry this PR, check this box

      • This PR was generated by [Me…
      build(deps): bump golang.org/x/tools from 0.50.0 to 0.51.0 in /tools/lintroller @dependabot[bot] (#3406)
      • Bumps golang.org/x/tools from 0.50.0 to 0.51.0.
        Commits
        • ea2f152 go.mod: update golang.org/x dependencies
        • 00443da go/analysis/passes/printf: pin testdata Go versions
        • 9ba0a15 internal/refactor/inline: check import accessibility before Go version
        • 25196fc cmd/toolstash: check -linkobj files to support early export
        • ead0503 gopls/internal/golang: unexport dragon*Question variables
        • 5693030 gopls/internal/golang: call arguments mistreated in in…
        build(deps): bump the website group in /website with 3 updates @dependabot[bot] (#3407)
        • Bumps the website group in /website with 3 updates: docusaurus-plugin-llms, posthog-js and prettier.
        • Updates docusaurus-plugin-llms from 0.5.1 to 0.6.1
          Release notes

          Sourced from docusaurus-plugin-llms's releases.

          v0.6.1

          This release fixes how links, Markdown file paths, and content are generated for versioned, translated, and multi-section sites, and adds lint and format checks to the repo. Docs are at https://rachfop.github.io/docusaurus-plugin-llms.

          Added

          • versions[].routePrefix, for explicit versions served inside the route base path (/docs/<version>/) (#88).

          Changed

          • versions: 'auto' follows Docusaurus versioning: the last version writes the root files, the current d…
  • Don't miss a new atmos release

    NewReleases is sending notifications on new releases.