envilder 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +46 -13
  2. package/ROADMAP.md +3 -3
  3. package/docs/CHANGELOG.md +9 -609
  4. package/docs/changelogs/cli.md +519 -0
  5. package/docs/changelogs/gha.md +88 -0
  6. package/docs/changelogs/sdk-dotnet.md +96 -0
  7. package/docs/changelogs/sdk-nodejs.md +38 -0
  8. package/docs/changelogs/sdk-python.md +98 -0
  9. package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js +3 -3
  10. package/lib/envilder/core/application/pushEnvToSecrets/PushEnvToSecretsCommandHandler.js.map +1 -1
  11. package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.d.ts.map +1 -1
  12. package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.js +7 -1
  13. package/lib/envilder/core/infrastructure/variableStore/FileVariableStore.js.map +1 -1
  14. package/lib/sdks/nodejs/src/application/envilder-client.d.ts +29 -0
  15. package/lib/sdks/nodejs/src/application/envilder-client.d.ts.map +1 -0
  16. package/lib/sdks/nodejs/src/application/envilder-client.js +60 -0
  17. package/lib/sdks/nodejs/src/application/envilder-client.js.map +1 -0
  18. package/lib/sdks/nodejs/src/application/envilder.d.ts +64 -0
  19. package/lib/sdks/nodejs/src/application/envilder.d.ts.map +1 -0
  20. package/lib/sdks/nodejs/src/application/envilder.js +168 -0
  21. package/lib/sdks/nodejs/src/application/envilder.js.map +1 -0
  22. package/lib/sdks/nodejs/src/application/map-file-parser.d.ts +16 -0
  23. package/lib/sdks/nodejs/src/application/map-file-parser.d.ts.map +1 -0
  24. package/lib/sdks/nodejs/src/application/map-file-parser.js +64 -0
  25. package/lib/sdks/nodejs/src/application/map-file-parser.js.map +1 -0
  26. package/lib/sdks/nodejs/src/application/secret-validation.d.ts +18 -0
  27. package/lib/sdks/nodejs/src/application/secret-validation.d.ts.map +1 -0
  28. package/lib/sdks/nodejs/src/application/secret-validation.js +32 -0
  29. package/lib/sdks/nodejs/src/application/secret-validation.js.map +1 -0
  30. package/lib/sdks/nodejs/src/domain/envilder-options.d.ts +7 -0
  31. package/lib/sdks/nodejs/src/domain/envilder-options.d.ts.map +1 -0
  32. package/lib/sdks/nodejs/src/domain/envilder-options.js +2 -0
  33. package/lib/sdks/nodejs/src/domain/envilder-options.js.map +1 -0
  34. package/lib/sdks/nodejs/src/domain/map-file-config.d.ts +7 -0
  35. package/lib/sdks/nodejs/src/domain/map-file-config.d.ts.map +1 -0
  36. package/lib/sdks/nodejs/src/domain/map-file-config.js +2 -0
  37. package/lib/sdks/nodejs/src/domain/map-file-config.js.map +1 -0
  38. package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts +6 -0
  39. package/lib/sdks/nodejs/src/domain/parsed-map-file.d.ts.map +1 -0
  40. package/lib/sdks/nodejs/src/domain/parsed-map-file.js +2 -0
  41. package/lib/sdks/nodejs/src/domain/parsed-map-file.js.map +1 -0
  42. package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts +18 -0
  43. package/lib/sdks/nodejs/src/domain/ports/secret-provider.d.ts.map +1 -0
  44. package/lib/sdks/nodejs/src/domain/ports/secret-provider.js +2 -0
  45. package/lib/sdks/nodejs/src/domain/ports/secret-provider.js.map +1 -0
  46. package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts +5 -0
  47. package/lib/sdks/nodejs/src/domain/secret-provider-type.d.ts.map +1 -0
  48. package/lib/sdks/nodejs/src/domain/secret-provider-type.js +6 -0
  49. package/lib/sdks/nodejs/src/domain/secret-provider-type.js.map +1 -0
  50. package/lib/sdks/nodejs/src/index.d.ts +12 -0
  51. package/lib/sdks/nodejs/src/index.d.ts.map +1 -0
  52. package/lib/sdks/nodejs/src/index.js +11 -0
  53. package/lib/sdks/nodejs/src/index.js.map +1 -0
  54. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts +17 -0
  55. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.d.ts.map +1 -0
  56. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js +56 -0
  57. package/lib/sdks/nodejs/src/infrastructure/aws/aws-ssm-secret-provider.js.map +1 -0
  58. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts +15 -0
  59. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.d.ts.map +1 -0
  60. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js +68 -0
  61. package/lib/sdks/nodejs/src/infrastructure/azure/azure-key-vault-secret-provider.js.map +1 -0
  62. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts +5 -0
  63. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.d.ts.map +1 -0
  64. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js +42 -0
  65. package/lib/sdks/nodejs/src/infrastructure/secret-provider-factory.js.map +1 -0
  66. package/package.json +11 -7
@@ -0,0 +1,519 @@
1
+ # CLI Changelog
2
+
3
+ Changes specific to the CLI (`envilder` npm package).
4
+ For SDK-specific changes, see `sdk-dotnet.md`, `sdk-python.md`, or `sdk-nodejs.md`.
5
+
6
+ ---
7
+
8
+ ## [0.10.0] - 2026-05-03
9
+
10
+ ### Added
11
+
12
+ * **Map-file JSON Schema** — A formal JSON Schema specification for map files,
13
+ published at `https://envilder.com/schema/map-file.v1.json`. Add
14
+ `"$schema": "https://envilder.com/schema/map-file.v1.json"` to any map file
15
+ for IDE autocomplete, inline documentation, and validation
16
+ ([#218](https://github.com/macalbert/envilder/pull/218))
17
+ * **Schema contract tests** — 39 tests validating the JSON Schema across all
18
+ providers (AWS, Azure, GCP, HashiCorp Vault, file)
19
+
20
+ ### Fixed
21
+
22
+ * **Reserved key filtering** — All `$`-prefixed keys (e.g. `$schema`) are now
23
+ excluded from variable mappings. Previously only `$config` was filtered,
24
+ causing `$schema` to leak into environment variables
25
+ ([#218](https://github.com/macalbert/envilder/pull/218))
26
+
27
+ ---
28
+
29
+ ## [0.9.4] - 2026-05-03
30
+
31
+ ### Fixed
32
+
33
+ * Mask secret path in bulk push log output (#185)
34
+
35
+ ---
36
+
37
+ ## [0.9.3] - 2026-04-17
38
+
39
+ ### Added
40
+
41
+ * **Runtime SDKs now available** — Load secrets directly into your application
42
+ at startup, no `.env` file needed:
43
+
44
+ **.NET** ([NuGet](https://www.nuget.org/packages/Envilder)):
45
+
46
+ ```csharp
47
+ builder.Configuration.AddEnvilder("secrets-map.json");
48
+ ```
49
+
50
+ **Python** ([PyPI](https://pypi.org/project/envilder)):
51
+
52
+ ```python
53
+ from envilder import Envilder
54
+ Envilder.load('secrets-map.json')
55
+ ```
56
+
57
+ **CLI** (as always):
58
+
59
+ ```bash
60
+ npx envilder --map=secrets-map.json --envfile=.env
61
+ ```
62
+
63
+ **GitHub Action:**
64
+
65
+ ```yaml
66
+ - uses: macalbert/envilder/github-action@v0
67
+ with:
68
+ map-file: secrets-map.json
69
+ env-file: .env
70
+ ```
71
+
72
+ ### Changed
73
+
74
+ * **README rewritten** — Streamlined messaging, accurate comparison
75
+ tables, simplified quick start (2 steps), and reduced noise
76
+
77
+ ### Fixed
78
+
79
+ * **ci(publish-npm):** Narrowed `paths` filter from `src/**` to
80
+ `src/envilder/**` so SDK/website/IaC changes no longer trigger the
81
+ npm publish workflow
82
+ * **ci(publish-npm):** Replaced `npm view` with `curl` against the npm
83
+ registry API to avoid `.npmrc` auth failures during version detection
84
+ * **ci(publish-website):** Added `docs/CHANGELOG.md` and
85
+ `docs/changelogs/**` to path filters so changelog updates trigger
86
+ website deployment
87
+
88
+ ### Dependencies
89
+
90
+ * Bump `typescript` from 6.0.2 to 6.0.3
91
+
92
+ ---
93
+
94
+ ## [0.9.2] - 2026-04-02
95
+
96
+ ### Added
97
+
98
+ * **LocalStack sponsor section** — Added sponsor section to website homepage and README with LocalStack logos
99
+ (dark, light, color variants) and a new `Sponsors.astro` component
100
+ ([#136](https://github.com/macalbert/envilder/pull/136))
101
+ * **Website test suite** — Added `tests/website/` with Vitest coverage for i18n utilities and Markdown helpers
102
+ * **`BackToTop` component** — New scroll-to-top button component for the documentation website
103
+
104
+ ### Changed
105
+
106
+ * **Project layout restructured for SDK platform readiness** ([#134](https://github.com/macalbert/envilder/pull/134)):
107
+ * Core domain layer moved from `src/envilder/` to `src/envilder/core/`
108
+ * Website moved from `src/apps/website/` to `src/website/`
109
+ * All imports, `tsconfig.json`, `package.json`, and workspace config updated accordingly
110
+ * **Website UX improvements** — `DocsContent`, `HowItWorks`, `ThemeSwitcher`, `TerminalMockup`, and
111
+ `BaseLayout` components updated; global CSS expanded; i18n keys added for new content
112
+
113
+ ### Fixed
114
+
115
+ * **README:** Replace `#gh-light-mode-only` / `#gh-dark-mode-only` image fragments with a `<picture>`
116
+ element using `prefers-color-scheme` media queries
117
+ * **ci:** Update version check in publish workflow to use published version from npm
118
+
119
+ ### Dependencies
120
+
121
+ * Bump `@aws-sdk/client-ssm` from 3.1019.0 to 3.1021.0 ([#140](https://github.com/macalbert/envilder/pull/140))
122
+ * Bump `@aws-sdk/credential-providers` from 3.1019.0 to 3.1021.0 ([#142](https://github.com/macalbert/envilder/pull/142))
123
+ * Bump `secretlint` from 11.4.0 to 11.4.1 ([#141](https://github.com/macalbert/envilder/pull/141))
124
+ * Bump `@secretlint/secretlint-rule-preset-recommend` from 11.4.0 to 11.4.1 ([#144](https://github.com/macalbert/envilder/pull/144))
125
+ * Bump `astro` from 6.1.1 to 6.1.2 ([#143](https://github.com/macalbert/envilder/pull/143))
126
+ * Bump `actions/configure-pages` from 5 to 6 ([#139](https://github.com/macalbert/envilder/pull/139))
127
+ * Bump `actions/deploy-pages` from 4 to 5 ([#138](https://github.com/macalbert/envilder/pull/138))
128
+ * Bump `pnpm/action-setup` from 4 to 5 ([#137](https://github.com/macalbert/envilder/pull/137))
129
+
130
+ ---
131
+
132
+ ## [0.9.1] - 2026-03-30
133
+
134
+ ### Added
135
+
136
+ * **Documentation website** — Full Astro-based docs site deployed at [envilder.com](https://envilder.com),
137
+ with multi-language support (EN, ES, CA), dark/retro and light themes, and a dedicated changelog page
138
+
139
+ ### Changed
140
+
141
+ * Updated Envilder logo in README
142
+
143
+ ### Fixed
144
+
145
+ * **deps:** Move `@types/node` from `dependencies` to `devDependencies` to prevent it from being bundled as a runtime dependency
146
+ * **e2e:** Use unique SSM paths per CLI test run to prevent race conditions between parallel test executions
147
+
148
+ ### Dependencies
149
+
150
+ * Bump `brace-expansion` from 5.0.4 to 5.0.5 (security patch)
151
+ * Bump `@azure/core-rest-pipeline` and `@azure/identity` group updates
152
+
153
+ ---
154
+
155
+ ## [0.8.0] - 2026-03-22
156
+
157
+ ### Added
158
+
159
+ * **`$config` section in map files** — Map files now support an optional `$config` key to declare provider
160
+ and connection details inline (e.g., `"provider": "azure"`, `"vaultUrl": "https://..."`,
161
+ `"profile": "dev-account"`)
162
+ * New CLI flag `--vault-url <url>` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
163
+ * Precedence chain: CLI flags > `$config` in map file > defaults
164
+ * Backward compatible: existing map files without `$config` continue to work (defaults to AWS provider)
165
+ * **Azure Key Vault support** — Use `--provider=azure` to pull/push secrets from Azure Key Vault ([#90](https://github.com/macalbert/envilder/pull/90))
166
+ * New infrastructure adapter: `AzureKeyVaultSecretProvider` implementing `ISecretProvider`
167
+ * New CLI option `--provider <name>` to select cloud provider (`aws` or `azure`, default: `aws`)
168
+ * Azure authentication via `DefaultAzureCredential` (supports Azure CLI, managed identity, etc.)
169
+
170
+ ### Changed
171
+
172
+ * **CLI flag `--ssm-path` renamed to `--secret-path`** — The old flag is still accepted as a deprecated
173
+ alias and prints a warning. It will be removed in a future release.
174
+ * `configureInfrastructureServices()` now receives a single `MapFileConfig` object instead of separate parameters
175
+ * CLI reads `$config` from the map file and merges with CLI flags
176
+ * Extracted shared `ContainerConfiguration` module for DI setup reused by CLI and GitHub Action
177
+ * Updated CLI description to include Azure Key Vault examples
178
+
179
+ ### Dependencies
180
+
181
+ * Added `@azure/keyvault-secrets`
182
+ * Added `@azure/identity`
183
+ * Added `@azure/core-rest-pipeline`
184
+
185
+ ---
186
+
187
+ ## [0.7.12] - 2026-03-22
188
+
189
+ ### Fixed
190
+
191
+ * **ssm:** Upgrade AWS SDK to resolve fast-xml-parser CVEs ([#128](https://github.com/macalbert/envilder/pull/128))
192
+
193
+ ### Changed
194
+
195
+ * **ci:** Upgrade `dorny/test-reporter` to v3 for Node.js 24 support ([#127](https://github.com/macalbert/envilder/pull/127))
196
+ * **dx:** Add AI workflow agents, prompts, and lefthook pre-commit hook ([#125](https://github.com/macalbert/envilder/pull/125))
197
+
198
+ ### Dependencies
199
+
200
+ * Bump `undici` from 7.22.0 to 7.24.1 ([#126](https://github.com/macalbert/envilder/pull/126))
201
+
202
+ ---
203
+
204
+ ## [0.7.11] - 2026-03-08
205
+
206
+ ### Security
207
+
208
+ * Bump AWS SDK packages to resolve `fast-xml-parser` vulnerability ([#124](https://github.com/macalbert/envilder/pull/124))
209
+
210
+ ---
211
+
212
+ ## [0.7.10] - 2026-03-02
213
+
214
+ ### Changed
215
+
216
+ * **ci:** Update CI configuration for improved build reliability
217
+ * Bump AWS SDK SSM to 3.1000.0 and align CI/publish workflows ([#123](https://github.com/macalbert/envilder/pull/123))
218
+
219
+ ### Dependencies
220
+
221
+ * Bump `@aws-sdk/credential-providers` from 3.995.0 to 3.1000.0 ([#122](https://github.com/macalbert/envilder/pull/122))
222
+ * Bump `@types/node` from 25.3.0 to 25.3.3 ([#121](https://github.com/macalbert/envilder/pull/121))
223
+ * Bump `minimatch` ([#119](https://github.com/macalbert/envilder/pull/119))
224
+
225
+ ---
226
+
227
+ ## [0.7.9] - 2026-02-22
228
+
229
+ ### Fixed
230
+
231
+ * **security:** Patch transitive dependency vulnerabilities ([#118](https://github.com/macalbert/envilder/pull/118))
232
+ * **ci:** Simplify npm publish command in workflow
233
+
234
+ ---
235
+
236
+ ## [0.7.8] - 2026-02-05
237
+
238
+ ### Fixed
239
+
240
+ * **deps:** Upgrade AWS SDK to resolve `fast-xml-parser` DoS vulnerability ([#116](https://github.com/macalbert/envilder/pull/116))
241
+
242
+ ### Dependencies
243
+
244
+ * Bump `@isaacs/brace-expansion` ([#115](https://github.com/macalbert/envilder/pull/115))
245
+ * Bump `@secretlint/secretlint-rule-preset-recommend` ([#114](https://github.com/macalbert/envilder/pull/114))
246
+ * Bump `commander` from 14.0.2 to 14.0.3 ([#113](https://github.com/macalbert/envilder/pull/113))
247
+ * Bump `@aws-sdk/client-ssm` from 3.958.0 to 3.980.0 ([#112](https://github.com/macalbert/envilder/pull/112))
248
+ * Bump `secretlint` from 11.2.5 to 11.3.1 ([#110](https://github.com/macalbert/envilder/pull/110))
249
+ * Bump `@commitlint/cli` from 20.3.0 to 20.4.0 ([#111](https://github.com/macalbert/envilder/pull/111))
250
+
251
+ ---
252
+
253
+ ## [0.7.7] - 2026-01-27
254
+
255
+ ### Added
256
+
257
+ * **push:** AWS throttling retry logic and duplicate SSM path validation ([#109](https://github.com/macalbert/envilder/pull/109))
258
+
259
+ ### Fixed
260
+
261
+ * **ci:** Streamline `npm publish` workflow to prevent failures ([#106](https://github.com/macalbert/envilder/pull/106))
262
+
263
+ ### Dependencies
264
+
265
+ * Bump `lodash` ([#108](https://github.com/macalbert/envilder/pull/108))
266
+ * Bump `diff` ([#107](https://github.com/macalbert/envilder/pull/107))
267
+
268
+ ---
269
+
270
+ ## [0.7.6] - 2026-01-16
271
+
272
+ ### Fixed
273
+
274
+ * **ci:** Align npm publish script with CI workflow expectations to prevent failures
275
+ * Removed redundant validation steps (lint, build, test) from publish script
276
+
277
+ ### Changed
278
+
279
+ * Simplified npm publish script from full validation pipeline to `npm pack --dry-run && npm publish`
280
+ * Updated README badge links
281
+ * Converted README badges from HTML to standard Markdown format
282
+
283
+ ### Removed
284
+
285
+ * **ci:** Deleted deprecated `publish-action.yml` workflow
286
+
287
+ ---
288
+
289
+ ## [0.7.5] - 2026-01-15
290
+
291
+ ### Documentation
292
+
293
+ * Remove changelog generation instructions from documentation ([#104](https://github.com/macalbert/envilder/pull/104))
294
+
295
+ ### Dependencies
296
+
297
+ * Bump undici to address security vulnerability ([#105](https://github.com/macalbert/envilder/pull/105))
298
+
299
+ ---
300
+
301
+ ## [0.7.4] - 2026-01-02
302
+
303
+ ### Dependencies
304
+
305
+ * Bump @commitlint/cli from 20.1.0 to 20.2.0 ([#103](https://github.com/macalbert/envilder/pull/103))
306
+ * Bump testcontainers from 11.9.0 to 11.11.0 ([#102](https://github.com/macalbert/envilder/pull/102))
307
+ * Bump @types/node from 24.10.1 to 25.0.3 ([#101](https://github.com/macalbert/envilder/pull/101))
308
+ * Bump @testcontainers/localstack from 11.9.0 to 11.11.0 ([#100](https://github.com/macalbert/envilder/pull/100))
309
+ * Bump @commitlint/config-conventional ([#99](https://github.com/macalbert/envilder/pull/99))
310
+
311
+ ---
312
+
313
+ ## [0.7.3] - 2025-11-29
314
+
315
+ ### Changed
316
+
317
+ * **ci:** Update Node.js version to 24 in workflow
318
+ * Update publish command to use pnpm
319
+ * Add repository field to package.json
320
+ * Standardize quotes in publish-npm.yml
321
+
322
+ ### Dependencies
323
+
324
+ * Bump actions/checkout from 5 to 6 ([#98](https://github.com/macalbert/envilder/pull/98))
325
+ * Bump glob from 11.1.0 to 13.0.0 ([#97](https://github.com/macalbert/envilder/pull/97))
326
+ * Bump pnpm/action-setup from 2 to 4 ([#92](https://github.com/macalbert/envilder/pull/92))
327
+ * Bump @commitlint/cli from 19.8.1 to 20.1.0 ([#94](https://github.com/macalbert/envilder/pull/94))
328
+ * Bump glob in the npm_and_yarn group ([#96](https://github.com/macalbert/envilder/pull/96))
329
+
330
+ ---
331
+
332
+ ## [0.7.1] - 2025-11-16
333
+
334
+ ### Documentation
335
+
336
+ * Update README and ROADMAP for GitHub Action integration ([#95](https://github.com/macalbert/envilder/pull/95))
337
+
338
+ ### Changed
339
+
340
+ * **ci:** Update workflow to use pnpm for dependency management
341
+
342
+ ### Tests
343
+
344
+ * Increase timeout for E2E tests to 60 seconds
345
+
346
+ ---
347
+
348
+ ## [0.7.0] - 2025-11-16
349
+
350
+ ### Added
351
+
352
+ * **packaging:** Add project build and uninstall functionality
353
+
354
+ ### Fixed
355
+
356
+ * **cli:** Correct build command from `ppnpm` to `pnpm`
357
+
358
+ ### Changed
359
+
360
+ * Move GitHub Action to `github-action/` subfolder
361
+
362
+ ### Breaking Changes
363
+
364
+ * Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`
365
+
366
+ ---
367
+
368
+ ## [0.6.6] - 2025-11-02
369
+
370
+ ### Changed
371
+
372
+ * Updated AWS credentials configuration in workflows
373
+ * Bumped vite, @types/node, @biomejs/biome, GitHub/codeql-action, actions/setup-node, vitest
374
+
375
+ ---
376
+
377
+ ## [0.6.5] - 2025-10-15
378
+
379
+ ### Added
380
+
381
+ * Enabled npm trusted publishing with OIDC authentication
382
+
383
+ ### Dependencies
384
+
385
+ * Bumped tmp, @types/node, @testcontainers/localstack, testcontainers, @aws-sdk/credential-providers
386
+ * Bumped secretlint, @biomejs/biome, @secretlint/secretlint-rule-preset-recommend
387
+ * Bumped vite, commander, inversify
388
+ * Updated actions/checkout, actions/setup-node, actions/upload-pages-artifact, aws-actions/configure-aws-credentials
389
+
390
+ ---
391
+
392
+ ## [0.6.4] - 2025-08-02
393
+
394
+ ### Dependencies
395
+
396
+ * Bumped typescript from 5.8.3 to 5.9.2
397
+ * Bumped secretlint, @types/glob, @secretlint/secretlint-rule-preset-recommend, @biomejs/biome
398
+
399
+ ---
400
+
401
+ ## [0.6.3] - 2025-07-20
402
+
403
+ ### Changed
404
+
405
+ * Bump version to 0.6.3 in package.json
406
+
407
+ ---
408
+
409
+ ## [0.6.2] - 2025-07-20
410
+
411
+ ### Changed
412
+
413
+ * **di:** Implement .NET-Style DIP Startup Pattern for dependency injection ([#59](https://github.com/macalbert/envilder/pull/59))
414
+
415
+ ---
416
+
417
+ ## [0.6.1] - 2025-07-13
418
+
419
+ ### Added
420
+
421
+ * **Push Mode** functionality to upload environment variables to AWS SSM Parameter Store
422
+ * File-based approach for pushing multiple variables from `.env` files
423
+ * Single-variable approach for direct command line uploads
424
+ * Support for working with different AWS profiles when pushing secrets
425
+
426
+ ### Security
427
+
428
+ * Implemented secure parameter handling to protect sensitive values
429
+
430
+ ### Changed
431
+
432
+ * Designed clean, modular command structure for Push Mode operations
433
+ * Added new domain models and handlers to support Push feature
434
+ * Maintained separation of concerns between infrastructure and application layers
435
+
436
+ ---
437
+
438
+ ## [0.6.0] - 2025-07-13
439
+
440
+ ### Added
441
+
442
+ * **push:** Introduced Push Mode — sync local `.env` variables to AWS SSM Parameter Store ([#57](https://github.com/macalbert/envilder/pull/57))
443
+
444
+ ---
445
+
446
+ ## [0.5.6] - 2025-07-06
447
+
448
+ ### Added
449
+
450
+ * Introduced new logger interface for seamless integration of custom logging implementations
451
+
452
+ ### Changed
453
+
454
+ * Updated several packages for improved security and performance
455
+
456
+ ---
457
+
458
+ ## [0.5.5] - 2025-06-29
459
+
460
+ ### Changed
461
+
462
+ * Moved `EnvilderBuilder` from `domain` to `application/builders` directory
463
+ * Updated import paths across codebase for better organization
464
+
465
+ ### Fixed
466
+
467
+ * Fixed glob pattern and path handling in test cleanup functions
468
+ * Corrected file path resolution in end-to-end tests
469
+
470
+ ---
471
+
472
+ ## [0.5.4] - 2025-06-10
473
+
474
+ ### Added
475
+
476
+ * Added unit tests for error handling with missing CLI arguments
477
+ * Enhanced unit test reporting with JUnit format for better CI integration
478
+
479
+ ### Changed
480
+
481
+ * Refactored `EnvFileManager` and related interfaces to use async/await
482
+ * Improved error handling and modularized secret processing
483
+ * Extracted `PackageJsonFinder` class
484
+ * Updated dependencies for better reliability
485
+
486
+ ---
487
+
488
+ ## [0.5.3] - 2025-06-07
489
+
490
+ ### Added
491
+
492
+ * Modular CLI for environment variable synchronization with pluggable secret providers
493
+ * Builder pattern for flexible CLI configuration and usage
494
+ * Extensive unit, integration, and end-to-end tests
495
+ * AWS integration testing using LocalStack with TestContainers
496
+
497
+ ### Changed
498
+
499
+ * **BREAKING**: Full TypeScript migration from JavaScript
500
+ * Introduced modular, layered architecture with clear separation
501
+ * Migrated CI/CD workflows from Yarn to npm
502
+
503
+ ---
504
+
505
+ ## [0.5.2] - 2025-05-18
506
+
507
+ ### Added
508
+
509
+ * Comprehensive E2E validation test in CI/CD pipeline
510
+ * Ensures package integrity and command-line operability before release
511
+
512
+ ---
513
+
514
+ ## [0.5.1] - 2025-05-16
515
+
516
+ ### Fixed
517
+
518
+ * CLI command not recognized after global install (`npm install -g envilder`)
519
+ * Fixed missing compiled `lib/` files in published package
@@ -0,0 +1,88 @@
1
+ ## [0.10.0] - 2026-05-03
2
+
3
+ ### Fixed
4
+
5
+ * **Reserved key filtering** — `$schema` and other `$`-prefixed keys no longer
6
+ leak into environment variable mappings
7
+ ([#218](https://github.com/macalbert/envilder/pull/218))
8
+
9
+ ### Dependencies
10
+
11
+ * Bundle updated with latest CLI core (map-file schema support)
12
+
13
+ ---
14
+
15
+ ## [0.9.4] - 2026-05-03
16
+
17
+ ### Fixed
18
+
19
+ * Rebuild stale dist and remove force-tracked build artifacts (#193)
20
+
21
+ ### Dependencies
22
+
23
+ * Bundle updated with latest CLI core (dependency bumps)
24
+
25
+ ---
26
+
27
+ ## [0.9.3] - 2026-04-17
28
+
29
+ ### Changed
30
+
31
+ * Bundle updated with latest CLI core (runtime SDKs announcement, dependency bumps)
32
+
33
+ ### Fixed
34
+
35
+ * **ci(publish-npm):** Narrowed `paths` filter from `src/**` to
36
+ `src/envilder/**` so SDK/website/IaC changes no longer trigger the
37
+ npm publish workflow
38
+
39
+ ---
40
+
41
+ ## [0.9.2] - 2026-04-02
42
+
43
+ ### Changed
44
+
45
+ * Bundle updated with latest CLI core (Azure Key Vault, `$config` map-file support)
46
+
47
+ ---
48
+
49
+ ## [0.8.0] - 2026-03-22
50
+
51
+ ### Added
52
+
53
+ * **Azure Key Vault support** — Use `provider: azure` input to pull secrets from Azure Key Vault
54
+ * New input `vault-url` — Azure Key Vault URL, overrides `$config.vaultUrl` in the map file
55
+ * New input `provider` — Select cloud provider (`aws` or `azure`, default: `aws`)
56
+ * `$config` section support in map files — declare provider and connection details inline
57
+
58
+ ### Changed
59
+
60
+ * Updated `action.yml` description and inputs to reflect multi-provider support
61
+ * Both CLI and GHA now use shared `ContainerConfiguration` module for DI setup
62
+
63
+ ---
64
+
65
+ ## [0.7.1] - 2025-11-16
66
+
67
+ ### Documentation
68
+
69
+ * Update GitHub Action version from v1 to v0.7.1 in documentation
70
+ * Fix example version references
71
+
72
+ ---
73
+
74
+ ## [0.7.0] - 2025-11-16
75
+
76
+ ### Added
77
+
78
+ * **Initial GitHub Action release** — Use Envilder in CI/CD workflows natively
79
+ * Pull secrets from AWS SSM Parameter Store into `.env` files during workflow runs
80
+ * End-to-end tests for GitHub Actions simulation
81
+
82
+ ### Changed
83
+
84
+ * Action moved to `github-action/` subfolder
85
+
86
+ ### Breaking Changes
87
+
88
+ * Action path changed from `macalbert/envilder@v1` to `macalbert/envilder/github-action@v1`
@@ -0,0 +1,96 @@
1
+ ## [0.3.0] - 2026-05-03
2
+
3
+ ### Added
4
+
5
+ * **Map-file JSON Schema support** — Map files can now include
6
+ `"$schema": "https://envilder.com/schema/map-file.v1.json"` for IDE
7
+ autocomplete and validation without affecting secret resolution
8
+
9
+ ### Fixed
10
+
11
+ * **Reserved key filtering** — All `$`-prefixed keys are now excluded from
12
+ variable mappings. Previously only `$config` was filtered
13
+ ([#218](https://github.com/macalbert/envilder/pull/218))
14
+
15
+ ---
16
+
17
+ ## [0.2.0] - 2026-04-18
18
+
19
+ ### Added
20
+
21
+ * **Static facade** — `Envilder` class with one-liner API for resolving and injecting secrets
22
+ * `ResolveFile(path)` / `ResolveFileAsync(path)` — Resolve secrets from a map file
23
+ * `Load(path)` / `LoadAsync(path)` — Resolve and inject secrets into `Environment`
24
+ * `ResolveFile(env, mapping)` / `Load(env, mapping)` — Environment-routed overloads
25
+ * `FromMapFile(path)` — Fluent builder with `.WithProvider()`, `.WithProfile()`, `.WithVaultUrl()`
26
+ * `EnvilderBuilder.Resolve()` / `ResolveAsync()` / `Inject()` / `InjectAsync()` — Fluent terminal methods
27
+ * `ISecretProvider.GetSecret(name)` — Synchronous secret retrieval (new interface method)
28
+ * `AwsSsmSecretProvider.GetSecret(name)` — Sync AWS SSM implementation
29
+ * `AzureKeyVaultSecretProvider.GetSecret(name)` — Sync Azure Key Vault implementation
30
+ * `EnvilderClient.ResolveSecrets(mapFile)` — Sync secret resolution
31
+
32
+ ### Changed
33
+
34
+ * **Simplify `AddEnvilder` extensions** — `IConfigurationBuilder.AddEnvilder()` and
35
+ `IServiceCollection.AddEnvilder()` now accept `(string mapFilePath, EnvilderOptions? options)`
36
+ instead of requiring a manually-created `ISecretProvider`
37
+ ([#167](https://github.com/macalbert/envilder/pull/167))
38
+ * **Cross-provider validation** — `SecretProviderFactory` now rejects invalid combinations:
39
+ AWS profile with Azure provider, or Vault URL with AWS provider
40
+ ([#167](https://github.com/macalbert/envilder/pull/167))
41
+
42
+ ### Breaking
43
+
44
+ * `SecretProviderFactory` is now `internal` — External code that referenced this type
45
+ directly will no longer compile. Use the `Envilder` facade, `EnvilderBuilder`
46
+ (`Envilder.FromMapFile(...)`), or the `AddEnvilder(string, EnvilderOptions?)` extensions instead
47
+ ([#167](https://github.com/macalbert/envilder/pull/167))
48
+ * `ISecretProvider.GetSecret(string name)` — New required interface method. External
49
+ implementations of `ISecretProvider` must add a synchronous `GetSecret` method
50
+ (return `null` for missing secrets, matching the `GetSecretAsync` contract)
51
+ * `ServiceCollectionExtensions.AddEnvilder(string, ISecretProvider)` signature removed — Use
52
+ `AddEnvilder(string, EnvilderOptions?)` instead
53
+ * `ConfigurationBuilderExtensions.AddEnvilder(string, ISecretProvider)` signature removed — Use
54
+ `AddEnvilder(string, EnvilderOptions?)` instead
55
+
56
+ ### Fixed
57
+
58
+ * **Delegate default AWS region resolution to the AWS SDK** — When no profile is set, the
59
+ factory no longer manually resolves the region via `ResolveRegion()`. Instead it creates a
60
+ plain `AmazonSimpleSystemsManagementClient()` which uses the full AWS SDK resolution chain
61
+ (env vars → `~/.aws/config` → instance metadata), correctly picking up the default config
62
+ file settings
63
+ ([#166](https://github.com/macalbert/envilder/pull/166))
64
+ * **Respect `AWS_SHARED_CREDENTIALS_FILE` for profile resolution** — `CredentialProfileStoreChain`
65
+ now receives the credentials file path from the `AWS_SHARED_CREDENTIALS_FILE` environment
66
+ variable, fixing profile discovery when credentials are stored at non-default locations
67
+ ([#166](https://github.com/macalbert/envilder/pull/166))
68
+
69
+ ### Testing
70
+
71
+ * Unit tests for facade validation, env routing, and fluent builder chaining
72
+ * Acceptance tests for `ResolveFile` and `Load` against LocalStack
73
+ * Sync `GetSecret` tests for AWS SSM and Azure Key Vault providers
74
+ * Sync `ResolveSecrets` test for `EnvilderClient`
75
+
76
+ ## [0.1.0] - 2026-04-09
77
+
78
+ ### Added
79
+
80
+ * **Initial release** — Runtime library for loading secrets from AWS SSM Parameter Store or Azure Key Vault
81
+ directly into .NET applications ([#147](https://github.com/macalbert/envilder/pull/147))
82
+ * `EnvilderClient` — Resolves secrets from a map-file and returns them as a dictionary
83
+ * `MapFileParser` — Parses `param-map.json` files with `$config` section and variable mappings
84
+ * `SecretProviderFactory` — Creates the appropriate secret provider based on configuration
85
+ * `AwsSsmSecretProvider` — Fetches secrets from AWS SSM Parameter Store
86
+ * `AzureKeyVaultSecretProvider` — Fetches secrets from Azure Key Vault
87
+ * `IConfiguration` extensions — Load secrets directly into .NET configuration
88
+ * `IServiceCollection` extensions — Register Envilder in the DI container
89
+ * `EnvilderOptions` — Runtime overrides for provider, vault URL, and AWS profile
90
+ * Targets .NET Standard 2.0 (compatible with .NET 6+, .NET Framework 4.6.1+)
91
+ * Published to NuGet as `Envilder`
92
+
93
+ ### Testing
94
+
95
+ * Unit tests with xUnit, NSubstitute, AwesomeAssertions, and AutoFixture
96
+ * Acceptance tests with TestContainers (LocalStack for AWS, Lowkey Vault for Azure)