Ruby

Ruby runtime changelog

Version history for envless-env, the Envless runtime for Ruby.

Version history for envless-env, published on RubyGems. When a newer version is out, the gem prints a one-line notice the first time it loads in a terminal. Set ENVLESS_DISABLE_UPDATE_NOTICE to silence it.

The TypeScript runtime, @goenvless/env, has its own changelog, and so does the Python runtime. They load the same way, and a change to one lands in the others.

0.0.1

The first release of the Ruby runtime, matching @goenvless/env as it stands in the Envless repository. A parity check runs both packages through the same scenarios against one fake API, from pagination and the cache to the injected manifest, overrides and the explicit loader, and fails on any difference in the requests, the values, the types, the errors, the process environment, the warnings or the cache files.

  • Envless.env reads every variable coerced to its type, optional reads nil for a missing name, and client sees only the client variables, with snapshot for templates.
  • Envless::Env.load fetches with an ev_sk_ machine key, decrypts with ENVLESS_KEY or ENVLESS_PASSPHRASE, caches the ciphertext for 15 minutes in the same files @goenvless/env uses, and fills ENV without overwriting anything already set or writing a name that changes how a process executes code, RUBYOPT and RUBYLIB included.
  • require "envless/env/load" loads at require. Inside envless run, everything is read from the environment the CLI injected, with no credentials and no request.
  • A Railtie loads before a Rails app is configured and gives views an envless helper with the client variables.
  • Envless::Env.override layers values for tests, and the views refuse to be dumped, marshalled or printed with their values.
  • Envless::Env.fetch_environment loads with explicit keywords for serverless functions, and the crypto helpers carry the encryption recipe.
  • RBS signatures for every method, checked by Steep in strict mode, and bundle exec envless-env types writes sig/envless-env.rbs so every variable is typed by name.