envilder 0.9.3 → 0.9.4

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