envilder
Version:
A CLI and GitHub Action that securely centralizes your environment variables from AWS SSM or Azure Key Vault as a single source of truth
183 lines (117 loc) • 5.45 kB
Markdown
## [0.13.0] - 2026-06-26
### Added
* **Colorized `AWS identity` banner**: The
`☁ AWS identity · account=… · region=… · profile=…` line is now colorized.
`account` and `region` render in red when they resolve to `unknown`,
signalling that authentication failed
([#382](https://github.com/macalbert/envilder/issues/382))
### Changed
* **Print the `AWS identity` banner before resolving secrets**: The
banner is now printed before secrets are resolved, so it always
appears first. Previously it could surface mid-output because secrets
resolve in parallel
([#382](https://github.com/macalbert/envilder/issues/382))
### Fixed
* **Clear error for expired or invalid AWS credentials**: Expired or
invalid AWS credentials (e.g. an expired session token) now produce a
clear, actionable `ExpiredCredentialsError` during the pull, telling
you to refresh credentials (e.g. run `aws sso login`), instead of
being masked as a misleading `ParameterNotFound`
* **Expired SSO sessions surface as `SsoSessionExpiredError`**: When an
AWS SSO session can no longer be resolved, the action now fails with a
clear, actionable `SsoSessionExpiredError` that names the AWS profile
and the `aws sso login` command to run, instead of being lumped in
with a generic `ExpiredCredentialsError`. The action runs
non-interactively, so it presents the message only; it never prompts
or redirects
## [0.12.1] - 2026-06-26
### Fixed
* **Honor `$config.profile` for the AWS region, not just credentials**:
When a map file set an AWS profile via `$config.profile`, the action
applied it to credentials only; the AWS SDK fell back to the default
profile's region and silently read SSM parameters from the wrong
account-region. The action now sets `AWS_PROFILE` so the AWS SDK resolves
both the profile's region and its (SSO-capable) credentials natively.
Region resolution order is `AWS_REGION` > `AWS_DEFAULT_REGION` >
profile region > `us-east-1` fallback
([#382](https://github.com/macalbert/envilder/issues/382))
### Added
* **Log the effective AWS identity before resolving secrets**:
Before the first read, the action logs
`☁ AWS identity · account=… · region=… · profile=…` so a misrouted account
or region is immediately visible. The account is read from the active
credentials, falling back to an STS `GetCallerIdentity` call when not
present, then `unknown`
([#382](https://github.com/macalbert/envilder/issues/382))
## [0.12.0] - 2026-06-26
### Changed
* **Preserve existing `.env` formatting on pull**: When the target `.env`
file already exists, the action now updates values in place instead of
rewriting the file from scratch. Full-line comments, blank lines, key
ordering, `export` prefixes, and surrounding spacing are preserved; only
the values of mapped keys are replaced, and new keys are appended at the
end. (Inline comments after a value, e.g. `KEY=val # note`, are not
preserved.)
### Dependencies
* Bundle updated with latest CLI core
## [0.11.0] - 2026-05-31
### Changed
* **BREAKING: Require Node.js >= 22.12**: GitHub Actions workflows updated
to use `node-version: "22.x"`. The bundled CLI now requires Node.js 22.12+
([#291](https://github.com/macalbert/envilder/pull/291))
### Dependencies
* Bundle updated with latest CLI core (all dependencies at latest)
## [0.10.0] - 2026-05-03
### Fixed
* **Reserved key filtering**: `$schema` and other `$`-prefixed keys no longer
leak into environment variable mappings
([#218](https://github.com/macalbert/envilder/pull/218))
### Dependencies
* Bundle updated with latest CLI core (map-file schema support)
## [0.9.4] - 2026-05-03
### Fixed
* Rebuild stale dist and remove force-tracked build artifacts (#193)
### Dependencies
* Bundle updated with latest CLI core (dependency bumps)
## [0.9.3] - 2026-04-17
### Changed
* Bundle updated with latest CLI core (runtime SDKs announcement, dependency bumps)
### Fixed
* **ci(publish-npm):** Narrowed `paths` filter from `src/**` to
`src/envilder/**` so SDK/website/IaC changes no longer trigger the
npm publish workflow
## [0.9.2] - 2026-04-02
### Changed
* Bundle updated with latest CLI core (Azure Key Vault, `$config` map-file support)
## [0.8.0] - 2026-03-22
### Added
* **Azure Key Vault support**: Use `provider: azure` input to pull secrets from Azure Key Vault
* New input `vault-url`: Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
* New input `provider`: Select cloud provider (`aws` or `azure`, default: `aws`)
* `$config` section support in map files: declare provider and connection details inline
### Changed
* Updated `action.yml` description and inputs to reflect multi-provider support
* Both CLI and GHA now use shared `ContainerConfiguration` module for DI setup
## [0.7.1] - 2025-11-16
### Documentation
* Update GitHub Action version from v1 to v0.7.1 in documentation
* Fix example version references
## [0.7.0] - 2025-11-16
### Added
* **Initial GitHub Action release**: Use Envilder in CI/CD workflows natively
* Pull secrets from AWS SSM Parameter Store into `.env` files during workflow runs
* End-to-end tests for GitHub Actions simulation
### Changed
* Action moved to `github-action/` subfolder
### Breaking Changes
* Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`