chore(deps): update dependency fnox to v1.28.0 #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/fnox-1.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.26.0→1.28.0v1.29.0Release Notes
jdx/fnox (fnox)
v1.28.0: : Non-interactive execCompare Source
A small feature release that adds a global
--non-interactivemode forfnox execand other resolve paths, so CI and scripted runs can rely on cached credentials and fail fast instead of hanging on auth prompts or device flows.Added
Global
--non-interactive/FNOX_NON_INTERACTIVE(#565) -- @jdxA new top-level flag (and matching env var) disables prompts and browser-based auth flows for the entire invocation. It is propagated through the daemon protocol, so daemon-backed resolution behaves the same way as direct resolution -- including when fnox auto-starts
daemon serveto handle the request.In non-interactive mode:
should_prompt_authno longer prompts, regardless of TTY orprompt_authconfig.github-oauthlease backend still happily reuses cached and refreshable tokens, but fails immediately with a clearinteractive auth required for GitHub OAuth device authorizationerror instead of printing a user code and polling. The error hint points you at runningfnox lease create <lease-name>from an interactive terminal first.This is intended for CI jobs, cron tasks, and other scripted runs where a hung prompt is worse than a fast failure.
Fixed
hashicorp/tap/vaultformula on macOS so Homebrew treats it as an explicitly chosen tap formula under current tap-trust rules (#567) -- @jdxFull Changelog: https://github.com/jdx/fnox/compare/v1.27.1...v1.28.0
💚 Sponsor fnox
fnox is maintained by @jdx under en.dev — a small independent studio building developer tooling like mise, aube, hk, and more. Keeping fnox secure, maintained, and free is funded by sponsors.
If fnox is handling secrets or config for you or your team, please consider sponsoring at en.dev. Sponsorships are what let fnox stay independent and the project keep moving.
v1.27.1: : dotenv exports and a Windows build fixCompare Source
A small patch release that makes
fnox exportactually produce dotenv files, adds a separateshellformat for sourceable output, and unbreaks the Windows build introduced by the v1.27.0 daemon.Fixed
fnox export --format envnow emits real dotenv (#554) -- @jdxThe
envformat was documented as.env/KEY=valuebut was actually emitting shellexport KEY='value'lines, which broke consumers that expect bare assignments. It now produces proper dotenv output:Simple values are left unquoted; values containing whitespace or special characters are double-quoted with
\n,\r,\t,", and\escaped.$and backticks are deliberately left literal so the file round-trips through dotenv parsers.fnox importwas updated to match: double-quoted.envvalues now have\n,\t,\", and\\unescaped on the way in, so an export/import round-trip preserves multi-line and quoted secrets.Windows builds fixed (#555) -- @jdx
The v1.27.0 daemon imported
std::os::fd::AsRawFdandtokio::net::Unix{Listener,Stream}at module scope, which brokecargo checkon Windows even though the daemon runtime is Unix-only. Those imports and the connection handler are now gated behind#[cfg(unix)], and acargo checkjob onwindows-latestwas added to CI so this can't regress silently.Added
fnox export --format shell(#554) -- @jdxA new
shellformat emits sourceable POSIXexport KEY=valuestatements with proper shell quoting -- this is the behavior the oldenvformat had, now under its correct name:Documentation
Breaking Changes
fnox export --format envoutput changed fromexport KEY='value'toKEY=value. If you were sourcing that output in a shell, switch tofnox export --format shellto get the old behavior.New Contributors
Full Changelog: https://github.com/jdx/fnox/compare/v1.27.0...v1.27.1
💚 Sponsor fnox
fnox is maintained by @jdx under en.dev — a small independent studio building developer tooling like mise, aube, hk, and more. Keeping fnox secure, maintained, and free is funded by sponsors.
If fnox is handling secrets or config for you or your team, please consider sponsoring at en.dev. Sponsorships are what let fnox stay independent and the project keep moving.
v1.27.0: : Daemon, Secret Scanning, and Config DefaultsCompare Source
This release adds three pieces aimed at making fnox faster, safer, and easier to compose: an opt-in per-user daemon for cached secret resolution, a new
fnox scancommand for finding plaintext secrets before they leak, and${VAR}interpolation for secret defaults. It also includes a small documentation pass and CI housekeeping.Added
Per-user secret resolver daemon (#550) -- @jdx
fnox now has an opt-in daemon that keeps resolved secrets in memory for your user session and serves repeated read-oriented resolutions over a same-user Unix socket. It is intended for configs backed by remote providers such as 1Password, Bitwarden, AWS Secrets Manager, or Vault where repeated
fnox get,fnox exec, shell hooks, TUI refreshes, or MCP calls can otherwise feel slow.Enable it with a top-level config block:
New lifecycle commands are available under
fnox daemon:Implementation details worth knowing:
get,exec,export,hook-env,list --values,check,tui,mcp, andci-redact.set,remove,sync,reencrypt,edit,provider, andlease create.fnox checkcan connect through the daemon, but still bypasses cached values so it validates current provider state.--no-daemon,FNOX_DAEMON=off, ordaemon_cache = falseon a provider or secret when you need direct resolution.fnox scansecret detection (#548) -- @jdxfnox scan [DIR]is now implemented as a read-only repository scanner for common plaintext secrets. It walks the target tree with gitignore-aware traversal, skips common VCS/build/vendor directories and large or binary files, and reports high-signal patterns with redacted evidence.Supported output modes include human-readable output, JSON, and quiet file-list output:
The scanner reports line and column, detector name, severity, and a redacted snippet. Findings return a scan-specific non-zero error so the command can be used in automation.
Secret default interpolation (#549) -- @jdx
Secret
defaultstrings can now reference other secrets with${SECRET_NAME}syntax. This makes fallback-only configs easier to compose without duplicating literals, for example when building a local connection URL from sibling defaults.Provider-backed values still win over defaults, and interpolation only runs when the default value is actually used. Batch resolution now includes default references in dependency ordering, so composed defaults are resolved order-independently. fnox also reports config errors for undefined references, empty
${}placeholders, and interpolation cycles.Documentation
Other Changes
Full Changelog: https://github.com/jdx/fnox/compare/v1.26.0...v1.27.0
💚 Sponsor fnox
fnox is maintained by @jdx under en.dev — a small independent studio building developer tooling like mise, aube, hk, and more. Keeping fnox secure, maintained, and free is funded by sponsors.
If fnox is handling secrets or config for you or your team, please consider sponsoring at en.dev. Sponsorships are what let fnox stay independent and the project keep moving.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate.
205a7da9e78140e82778chore(deps): update dependency fnox to v1.27.1to chore(deps): update dependency fnox to v1.28.0