chore(deps): update dependency fnox to v1.35.0 #10
Loading…
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.34.0→1.35.0v1.35.1Release Notes
jdx/fnox (fnox)
v1.35.0: : Selective Profile InheritanceCompare Source
This release introduces selective profile inheritance, letting profiles compose their secrets, providers, and lease backends from other named profiles, alongside a batch of correctness fixes to secret resolution, sync caching, and the background daemon.
Added
Selective profile inheritance (#770) -- @jdx. Named profiles can now declare an ordered
inheritslist so their configuration is layered from ancestor profiles before the profile itself, with later entries winning on conflicts. Inheritance applies to secrets, providers, lease backends, anddefault_provider, and supports nested inheritance. Unknown inherited profiles and inheritance cycles are reported as actionable configuration errors, and inheritedfnox.<profile>.tomlfiles are discovered automatically.Fixed
Sync refreshes from current sources, not stale caches (#774) -- @davdroman.
fnox sync --local-filecould resolve secrets from its previously generated local cache instead of the current source configuration, so changes to a tracked provider or value were ignored on refresh. Cached sync entries are now excluded when resolving refresh sources, stale entries (including inherited profiles and both local override filenames) are removed during full refreshes, and ordinary local overrides, providers, profile inheritance, and--no-defaultsbehavior are preserved.fnox checkbatches Age secret resolution (#779) -- @davdroman.checkpreviously resolved each secret separately, repeatedly unwrapping the same shared key for batch-encrypted Age values backed by a hardware or plugin identity, which could require one authorization per secret. Eligible Age-backed secrets are now resolved in batches per provider, unwrapping each shared batch key once, while preserving per-secret errors for invalid ciphertexts.Background daemon detaches from the client working directory (#795) -- @jdx. Background daemons now start from
/instead of inheriting the client's working directory, so the daemon keeps serving requests even after the directory that auto-started it is deleted. Per-request resolution is unchanged, since clients still send theircwdon each request.Intentional default fallbacks stay quiet (#771) -- @jdx. When a secret uses
if_missing: ignoreand falls back from a failed provider to a default (including interpolated defaults), the fallback message is now logged at debug instead of warn. Interpolated default resolution also no longer re-runs the already-failed root provider, while still surfacing genuine interpolation cycle errors.Performance
cd(#766) -- @jdx.fnox hook-envno longer forces a full secret reload on every working-directory change. Sessions now refresh only when the effective config hierarchy or relevantFNOX_*environment variables change, so navigating between directories within the samefnox.tomltree preserves the loaded environment.Documentation
FNOX_BW_SESSION, notFNOX_BW_SESSION_TOKEN), FIDO2/YubiKey setup using a positional type instead of a nonexistent--typeflag,http_timeoutdocumented as a duration string, import examples that require--providerand--force, corrected keychain/Linux Secret Service requirements, and README additions for the fido2, yubikey, foks, and keeper-sm providers.Full Changelog: https://github.com/jdx/fnox/compare/v1.34.1...v1.35.0
💚 Sponsor fnox
fnox is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work.
If fnox handles secrets or config for you or your team, please consider becoming an individual or company sponsor. Your support funds ongoing development and helps keep fnox secure, free, and independent.
v1.34.1: : Safer profiles, exports, and macOS binariesCompare Source
A patch release focused on safety and correctness: unknown profiles now fail loudly instead of silently falling back to defaults, dotenv exports survive Docker Compose interpolation, interactive daemon cache misses regain access to your terminal, and macOS release binaries are now notarized.
Fixed
Unknown profiles are rejected (#741) -- @jdx. An active profile that has neither a
[profiles.<name>]table nor a matchingfnox.<name>.tomloverlay now errors (listing the available profiles) instead of silently falling back to top-level secrets, which could leak defaults on a typo. Shell integration (hook-env) also refuses unknown profiles. Creating new profiles viaset,import, andprovider addstill works.Dotenv export preserves dollar signs (#746) -- @jdx. Secrets containing
$are now emitted in single quotes so Docker Compose no longer interpolates them, falling back to double quotes with\$escaping when needed. Dotenv import was aligned to match: it reassembles multiline single-quoted values, unescapes\', and treats\$in double quotes as a literal dollar sign.Interactive daemon cache misses resolve in the foreground (#743) -- @jdx. When the daemon misses its cache for an interactive client, the missing keys are now resolved in the foreground so PIN, touch, browser, and auth-command prompts reach the invoking terminal; resolved values are then sent back to the daemon for reuse. Non-interactive callers continue to resolve daemon-side and never prompt.
age batch decryption prompts once (#755) -- @jdx.
fnox syncnow wraps a single random key with age per batch and encrypts each secret under it, so age (and hardware-backed plugins) only prompt once per sync instead of once per secret. Existing sync caches remain readable, and re-runningfnox syncmigrates them to the batched format.Security
^[A-Za-z_][A-Za-z0-9_]*$), enforced when loading, validating, runningset, andimport, with shell emitters quoting names defensively across Bash, Zsh, Fish, and PowerShell.execand MCPexecnow strip ambientFNOX_AGE_KEYandFNOX_AGE_KEY_FILEbefore spawning child processes while still injecting explicitly configured secrets.Changed
Documentation
<path>render correctly instead of being parsed as Vue elements (#739) -- @jdx.Full Changelog: https://github.com/jdx/fnox/compare/v1.34.0...v1.34.1
💚 Sponsor fnox
fnox is maintained by @jdx, an open source developer for entire.io, the title sponsor of the jdx.dev open source tools including 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 jdx.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.
chore(deps): update dependency fnox to v1.34.1to chore(deps): update dependency fnox to v1.35.06b736e2aa93d7e2afa71