This release focuses heavily on developer experience with significantly improved error messages throughout fnox. Errors now include documentation URLs, source code spans pointing to exact locations in your config files, "Did you mean?" suggestions for typos, and structured error chains that show the full context of what went wrong. These improvements make debugging configuration issues much faster and more intuitive.
Additionally, this release adds HashiCorp Vault namespace support for enterprise users, a JSON schema for editor autocompletion, a new --dry-run flag for safely previewing changes, and support for dotfile variants of fnox.toml.
Highlights
-
Dramatically improved error messages - Errors now show source code spans highlighting exactly where problems occur in your config files, include links to relevant documentation, and suggest corrections for typos like "Did you mean 'aws-sm'?" (#204, #205, #212, #216) by @jdx
-
HashiCorp Vault namespace support - Enterprise Vault users can now specify namespaces in their provider configuration (#220) by @pierrop
-
JSON schema for fnox.toml - Get autocompletion and validation in your editor when editing fnox configuration files (#196) by @jdx
-
--dry-runflag - Preview whatfnox set,fnox remove, and other data-modifying commands will do before making changes (#201) by @jdx -
--allflag for provider test - Test all configured providers at once withfnox provider test --all(#202) by @jdx -
Dotfile support - fnox now recognizes
.fnox.tomland other dotfile variants for projects that prefer hidden config files (#141) by @dharrigan -
1Password token field - The 1Password provider now supports a
tokenfield that can reference secrets from other providers, enabling more flexible authentication setups (#200) by @jdx
Bug Fixes
Documentation
- New TUI dashboard guide for the interactive terminal interface (#203)
- New mise integration guide for using fnox with mise task runner (#215)
New Contributors
Welcome to our new contributors!
- @pierrop made their first contribution in #220
- @dharrigan made their first contribution in #141
Full Changelog: v1.9.2...v1.10.0