Repository navigation
v0.10.4
evnx v0.10.4
The add patch: the review fixes left after 0.10.3 (package R-add), and one
0.10.3 regression. Only add changed, plus the DATABASE_URL that
init --blueprint writes for three blueprints.
evnx add custom NAME=value on 0.10.3 in a git repository that
had no .env yet, that .env was created without a .gitignore entry (I-251,
below). Run git status and git log --all -- .env; if a .env holding a real
value was committed, rotate that value. evnx doctor --fix adds the ignore rule.
add
Fixed
add customno longer shows a secret on screen. In the prompt loop, a
secret-looking name (STRIPE_SECRET_KEY,ADMIN_PWD, …) now has its value
read without echo, as the argument form already did; it was typed visibly.
Both forms use one rule, the shared secret-name rule at its strict level
(*_SECRET,*_KEY,*_TOKEN,*_PASSWORD,*_PWD, …):ADMIN_PWDis
now asked for hidden in the argument form too, andSENTRY_DSN, a public
value, no longer is (I-247).- The confirm question names every file the run writes: "Add these 5 variables
to .env.example and .env?" — it named only.env.examplewhile.envgot the
names too (I-247). - Stacks with PostgreSQL write PostgreSQL's
DATABASE_URL.fastapi_ai,
rust_high_perfanddjango_enterprise(ininit --blueprintand
add blueprint) wroteDATABASE_URL=https://example.com, the framework's
generic placeholder, because the first value seen won. A service's own
default now wins over a framework's, in either order (I-250). - Django's
DATABASE_URLdefault issqlite:///db.sqlite3, Django's own
out-of-the-box database; it washttps://example.com(N-21). add customwrites.gitignorebefore the.envit creates. Since
0.10.3 the values go to.envonly, and in a folder with no.envthat file
was created without.gitignore, so in a git repository the real values were
committable (a warning was printed). It is now ignored first, as every other
addflow andinitdo, and the dry run says what it will create (I-251).
Changed
- "No browser framework found in this project …" is printed only with
-v.
In a backend project it appeared on every add of a service with public
values (Stripe, Sentry, Auth0 …). When a framework is found, the line about
the copies is unchanged (N-22).
Documentation
- README:
-qis not yet silent in the cloud commands (until CG-06), and
--pathrecords names in the nearest.evnx.tomlat or above the folder.
Installation
Linux / macOS (shell script)
curl -sSL https://raw.githubusercontent.com/urwithajit9/evnx/main/scripts/install.sh | bashHomebrew (macOS and Linux)
brew install urwithajit9/evnx/evnxScoop (Windows, user-local)
scoop bucket add evnx https://github.com/urwithajit9/scoop-evnx
scoop install evnxWinget (Windows, system-wide)
winget install urwithajit9.evnxnpm / Node.js
npm install -g @evnx/cliPython (pipx)
pipx install evnxCargo
cargo install evnx --all-features
cargo installcompiles from source withdefault = [], so plain
cargo install evnxgives you a binary without theauth,
vaultandcloudcommands. Every other channel above ships them
already — the binaries are built with--all-features.
Checksums
SHA256 checksums are provided for each binary. Verify after download:
sha256sum -c evnx-*.tar.gz.sha256What's Changed
- add 0.10.4 (R-add): hidden secret values in add custom, PostgreSQL stacks' DATABASE_URL, quieter add service by @urwithajit9 in #187
- fix(add): write .gitignore before the .env that add custom creates (I-251) by @urwithajit9 in #188
- chore(release): 0.10.4 by @urwithajit9 in #189
Full Changelog: v0.10.3...v0.10.4
npm / Node.js
npm install -g @evnx/cli # global install
npx @evnx/cli --version # zero-install usage
npm install --save-dev @evnx/cli # project dev dependency