Skip to content

v0.10.4

Choose a tag to compare

@github-actions github-actions released this 17 Oct 03:43
· 54 commits to main since this release
b4d3c3a

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.

⚠️ If you ran 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 custom no 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_PWD is
    now asked for hidden in the argument form too, and SENTRY_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.example while .env got the
    names too (I-247).
  • Stacks with PostgreSQL write PostgreSQL's DATABASE_URL. fastapi_ai,
    rust_high_perf and django_enterprise (in init --blueprint and
    add blueprint) wrote DATABASE_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_URL default is sqlite:///db.sqlite3, Django's own
    out-of-the-box database; it was https://example.com (N-21).
  • add custom writes .gitignore before the .env it creates. Since
    0.10.3 the values go to .env only, and in a folder with no .env that 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
    add flow and init do, 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: -q is not yet silent in the cloud commands (until CG-06), and
    --path records names in the nearest .evnx.toml at or above the folder.

Installation

Linux / macOS (shell script)

curl -sSL https://raw.githubusercontent.com/urwithajit9/evnx/main/scripts/install.sh | bash

Homebrew (macOS and Linux)

brew install urwithajit9/evnx/evnx

Scoop (Windows, user-local)

scoop bucket add evnx https://github.com/urwithajit9/scoop-evnx
scoop install evnx

Winget (Windows, system-wide)

winget install urwithajit9.evnx

npm / Node.js

npm install -g @evnx/cli

Python (pipx)

pipx install evnx

Cargo

cargo install evnx --all-features

cargo install compiles from source with default = [], so plain
cargo install evnx gives you a binary without the auth,
vault and cloud commands. 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.sha256

What'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