@@ -23,7 +23,7 @@ permalink: /changelog/
2323
2424 [data-changelog-entry ]:hover ,
2525 [data-changelog-entry ]:focus-within {
26- background-color : rgba ( 24 , 24 , 27 , 0.38 ) ;
26+ background-color : transparent ;
2727 border-color : transparent ;
2828 box-shadow : none ;
2929 }
@@ -52,7 +52,7 @@ permalink: /changelog/
5252 position : absolute ;
5353 }
5454
55- .changelog-card span {
55+ .changelog-card > span {
5656 color : #f4f4f5 ;
5757 font-size : clamp (1.45rem , 5vw , 2.35rem );
5858 line-height : 1.05 ;
@@ -61,6 +61,42 @@ permalink: /changelog/
6161 text-align : center ;
6262 }
6363
64+ .changelog-card-terminal {
65+ align-items : flex-start ;
66+ background : #0a0a0a ;
67+ border-color : rgba (113 , 113 , 122 , 0.28 );
68+ box-shadow : 0 0 46px rgba (236 , 213 , 63 , 0.08 );
69+ color : #d4d4d4 ;
70+ font-family : ui-monospace , SFMono-Regular, Menlo, Monaco, Consolas, " Liberation Mono" , monospace ;
71+ justify-content : flex-start ;
72+ padding : 2rem ;
73+ }
74+
75+ .changelog-card-terminal ::before {
76+ background : radial-gradient (70% 90% at 12% 80% , rgba (236 , 213 , 63 , 0.12 ) 0% , rgba (236 , 213 , 63 , 0.06 ) 34% , rgba (236 , 213 , 63 , 0 ) 74% );
77+ display : block ;
78+ }
79+
80+ .changelog-card-terminal pre {
81+ color : #ededed ;
82+ font-size : clamp (0.72rem , 2vw , 0.98rem );
83+ font-weight : 400 ;
84+ line-height : 1.45 ;
85+ margin : 0 ;
86+ max-width : 100% ;
87+ overflow : hidden ;
88+ position : relative ;
89+ white-space : pre ;
90+ }
91+
92+ .terminal-yellow {
93+ color : #ecd53f ;
94+ }
95+
96+ .terminal-muted {
97+ color : #ededed ;
98+ }
99+
64100 [data-changelog-entry ]:hover > div :first-child ,
65101 [data-changelog-entry ]:focus-within > div :first-child {
66102 color : #ecd53f ;
@@ -106,7 +142,7 @@ permalink: /changelog/
106142 <div class="changelog-card" aria-hidden="true"><span>KEYSEE⎔ Whitepaper</span></div>
107143 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">KEYSEE⎔ Whitepaper</h3>
108144 <p class="mt-2 text-zinc-400 text-sm md:text-base">Published the KEYSEE whitepaper for deterministic visual identity from compressed public keys.</p>
109- <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://keysee.io/whitepaper.pdf" target="_blank" rel="noopener noreferrer">Read more </a>
145+ <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://keysee.io/whitepaper.pdf" target="_blank" rel="noopener noreferrer">Read Whitepaper </a>
110146 </div>
111147 </div>
112148 </article>
@@ -119,7 +155,11 @@ permalink: /changelog/
119155 </div>
120156 <div>
121157 <div class="max-w-2xl">
122- <div class="changelog-card" aria-hidden="true"><span>Armor Commands</span></div>
158+ <div class="changelog-card changelog-card-terminal" aria-hidden="true"><pre><span class="terminal-muted">$ dotenvx armor up</span>
159+ <span class =" terminal-yellow " >⟐ select team</span >
160+ <span class =" terminal-yellow " >› acme-team</span >
161+ orbit-labs
162+ northstar</pre ></div >
123163 <h3 class =" m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1] " >Armor Commands</h3 >
124164 <p class =" mt-2 text-zinc-400 text-sm md:text-base " ><code class =" text-zinc-300 " >armor up</code >, <code class =" text-zinc-300 " >armor down</code >, <code class =" text-zinc-300 " >armor push</code >, <code class =" text-zinc-300 " >armor pull</code >, and <code class =" text-zinc-300 " >armor move</code > shipped for moving private keys under Ops control.</p >
125165 </div >
@@ -137,7 +177,7 @@ permalink: /changelog/
137177 <div class="changelog-card" aria-hidden="true"><span>KEYSEE⎔</span></div>
138178 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">KEYSEE⎔</h3>
139179 <p class="mt-2 text-zinc-400 text-sm md:text-base">KEYSEE released as a deterministic visual identity system for public keys.</p>
140- <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://keysee.io/" target="_blank" rel="noopener noreferrer">Read more </a>
180+ <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://keysee.io/" target="_blank" rel="noopener noreferrer">Visit Website </a>
141181 </div>
142182 </div>
143183 </article>
@@ -188,7 +228,7 @@ permalink: /changelog/
188228 </article>
189229
190230 <article class="grid gap-4 md:grid-cols-[6.5rem_1.5rem_minmax(0,1fr)]" data-changelog-entry data-search-text="npm installs monthly 15000000 dotenvx march 2026">
191- <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Mar 2026</div>
231+ <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Mar 1, 2026</div>
192232 <div class="relative hidden md:block" aria-hidden="true">
193233 <div class="absolute left-1/2 top-2 h-[calc(100%+4rem)] w-px -translate-x-1/2 bg-zinc-800"></div>
194234 <div class="absolute left-1/2 top-2 h-2 w-2 -translate-x-1/2 rounded-full bg-zinc-400 shadow-[0_0_16px_rgba(228,228,231,0.35)]"></div>
@@ -203,7 +243,7 @@ permalink: /changelog/
203243 </article>
204244
205245 <article class="grid gap-4 md:grid-cols-[6.5rem_1.5rem_minmax(0,1fr)]" data-changelog-entry data-search-text="npm installs monthly 6000000 dotenvx january 2026">
206- <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jan 2026</div>
246+ <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jan 1, 2026</div>
207247 <div class="relative hidden md:block" aria-hidden="true">
208248 <div class="absolute left-1/2 top-2 h-[calc(100%+4rem)] w-px -translate-x-1/2 bg-zinc-800"></div>
209249 <div class="absolute left-1/2 top-2 h-2 w-2 -translate-x-1/2 rounded-full bg-zinc-400 shadow-[0_0_16px_rgba(228,228,231,0.35)]"></div>
@@ -269,15 +309,15 @@ permalink: /changelog/
269309 </div>
270310 <div>
271311 <div class="max-w-2xl">
272- <div class="changelog-card" aria-hidden="true"><span>Ops Command </span></div>
312+ <div class="changelog-card" aria-hidden="true"><span>$ dotenvx ops </span></div>
273313 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Ops Command</h3>
274314 <p class="mt-2 text-zinc-400 text-sm md:text-base">The first Ops command landed in dotenvx, introducing operational primitives for teams, infrastructure, agents, and more.</p>
275315 </div>
276316 </div>
277317 </article>
278318
279319 <article class="grid gap-4 md:grid-cols-[6.5rem_1.5rem_minmax(0,1fr)]" data-changelog-entry data-search-text="npm installs monthly 2000000 dotenvx june 2025">
280- <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jun 2025</div>
320+ <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jun 1, 2025</div>
281321 <div class="relative hidden md:block" aria-hidden="true">
282322 <div class="absolute left-1/2 top-2 h-[calc(100%+4rem)] w-px -translate-x-1/2 bg-zinc-800"></div>
283323 <div class="absolute left-1/2 top-2 h-2 w-2 -translate-x-1/2 rounded-full bg-zinc-400 shadow-[0_0_16px_rgba(228,228,231,0.35)]"></div>
@@ -317,7 +357,7 @@ permalink: /changelog/
317357 <div class="changelog-card" aria-hidden="true"><span>Whitepaper</span></div>
318358 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Whitepaper</h3>
319359 <p class="mt-2 text-zinc-400 text-sm md:text-base">Published the dotenvx whitepaper draft.</p>
320- <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://dotenvx.com/dotenvx.pdf" target="_blank" rel="noopener noreferrer">Read more </a>
360+ <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="https://dotenvx.com/dotenvx.pdf" target="_blank" rel="noopener noreferrer">Read Whitepaper </a>
321361 </div>
322362 </div>
323363 </article>
@@ -338,7 +378,7 @@ permalink: /changelog/
338378 </article>
339379
340380 <article class="grid gap-4 md:grid-cols-[6.5rem_1.5rem_minmax(0,1fr)]" data-changelog-entry data-search-text="npm installs monthly 1000000 dotenvx january 2025">
341- <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jan 2025</div>
381+ <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Jan 1, 2025</div>
342382 <div class="relative hidden md:block" aria-hidden="true">
343383 <div class="absolute left-1/2 top-2 h-[calc(100%+4rem)] w-px -translate-x-1/2 bg-zinc-800"></div>
344384 <div class="absolute left-1/2 top-2 h-2 w-2 -translate-x-1/2 rounded-full bg-zinc-400 shadow-[0_0_16px_rgba(228,228,231,0.35)]"></div>
@@ -375,15 +415,15 @@ permalink: /changelog/
375415 </div>
376416 <div>
377417 <div class="max-w-2xl">
378- <div class="changelog-card" aria-hidden="true"><span>Strict Mode </span></div>
418+ <div class="changelog-card" aria-hidden="true"><span>--strict </span></div>
379419 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Strict Mode</h3>
380420 <p class="mt-2 text-zinc-400 text-sm md:text-base">Added strict failure behavior and ignore controls for CI-safe missing-file and decryption-error handling.</p>
381421 </div>
382422 </div>
383423 </article>
384424
385425 <article class="grid gap-4 md:grid-cols-[6.5rem_1.5rem_minmax(0,1fr)]" data-changelog-entry data-search-text="npm installs monthly 500000 dotenvx september 2024">
386- <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Sep 2024</div>
426+ <div class="pt-1 text-left md:text-right text-sm font-semibold text-zinc-500">Sep 1, 2024</div>
387427 <div class="relative hidden md:block" aria-hidden="true">
388428 <div class="absolute left-1/2 top-2 h-[calc(100%+4rem)] w-px -translate-x-1/2 bg-zinc-800"></div>
389429 <div class="absolute left-1/2 top-2 h-2 w-2 -translate-x-1/2 rounded-full bg-zinc-400 shadow-[0_0_16px_rgba(228,228,231,0.35)]"></div>
@@ -407,8 +447,9 @@ permalink: /changelog/
407447 <div class="max-w-2xl">
408448 <div class="changelog-card" aria-hidden="true"><span>Dotenvx 1.0</span></div>
409449 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Dotenvx 1.0</h3>
410- <p class="mt-2 text-zinc-400 text-sm md:text-base">A leap forward in configuration management for dotenv, with a breaking shift from the old <code class="text-zinc-300">.env.vault</code> workflow to encrypted <code class="text-zinc-300">.env</code> files.</p>
411- <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="/blog/2024/06/24/dotenvx-next-generation-config-management.html" target="_blank" rel="noopener noreferrer">Read more</a>
450+ <p class="mt-2 text-zinc-400 text-sm md:text-base">Dotenvx 1.0 shipped as the next generation of configuration management for dotenv, built around three problems developers kept running into: inconsistent env behavior across platforms, juggling multiple environments, and the risk of leaking <code class="text-zinc-300">.env</code> files.</p>
451+ <p class="mt-3 text-zinc-400 text-sm md:text-base">It introduced a cross-platform <code class="text-zinc-300">dotenvx run -- your-cmd</code> workflow, first-class multiple environment files, and public-key encryption for <code class="text-zinc-300">.env</code> values, replacing the older <code class="text-zinc-300">.env.vault</code> path with a simpler encrypted <code class="text-zinc-300">.env</code> format.</p>
452+ <a class="mt-2 inline-block font-normal text-[#ecd53f] no-underline hover:underline" href="/blog/2024/06/24/dotenvx-next-generation-config-management.html" target="_blank" rel="noopener noreferrer">Read Blogpost</a>
412453 </div>
413454 </div>
414455 </article>
@@ -423,7 +464,8 @@ permalink: /changelog/
423464 <div class="max-w-2xl">
424465 <div class="changelog-card" aria-hidden="true"><span>Encrypted .env</span></div>
425466 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Encrypted .env</h3>
426- <p class="mt-2 text-zinc-400 text-sm md:text-base">Dotenvx moved from <code class="text-zinc-300">.env.vault</code> toward encrypted <code class="text-zinc-300">.env</code> files with public-key encryption, safe-to-commit secrets, and <code class="text-zinc-300">.env.keys</code>.</p>
467+ <p class="mt-2 text-zinc-400 text-sm md:text-base"><code class="text-zinc-300">.env.vault</code> helped prove that encrypted environment files could work in real teams. It got dotenv users much farther than plaintext secrets alone.</p>
468+ <p class="mt-3 text-zinc-400 text-sm md:text-base">With dotenvx, that mechanism became deprecated in favor of the new encrypted <code class="text-zinc-300">.env</code> format: public-key encryption, safe-to-commit secret values, and local <code class="text-zinc-300">.env.keys</code> for decryption.</p>
427469 </div>
428470 </div>
429471 </article>
@@ -438,7 +480,8 @@ permalink: /changelog/
438480 <div class="max-w-2xl">
439481 <div class="changelog-card" aria-hidden="true"><span>Dotenvx Begins</span></div>
440482 <h3 class="m-0 text-zinc-100 text-xl md:text-[1.55rem] leading-[1.1]">Dotenvx Begins</h3>
441- <p class="mt-2 text-zinc-400 text-sm md:text-base">The first dotenvx work began, laying the foundation for encrypted environment files and a cross-platform secrets CLI.</p>
483+ <p class="mt-2 text-zinc-400 text-sm md:text-base">From the creator of dotenv, the first dotenvx work began as a next-generation approach to configuration. The goal was to keep the simplicity developers loved about <code class="text-zinc-300">.env</code> files while solving the problems that show up as teams and systems grow.</p>
484+ <p class="mt-3 text-zinc-400 text-sm md:text-base">That early work laid the foundation for cross-platform env loading, multiple environment files, encrypted environment values, and safer secrets workflows built for modern teams.</p>
442485 </div>
443486 </div>
444487 </article>
0 commit comments