Changelog
View Sourcev0.2.1 (2026-04-26)
Fixes
Always use use_stdio: false for running editors. It does not seem to effect editors like vscode, but fixes the use of vim/vi.
Improvements
Fixed logic errors in documentation.
v0.2.0 (2025-12-16)
Breaking changes
All mix tasks (except install) now require the use of the <env> argument. This allows us to manage secrets without compiling all env's like setting
MIX_ENVdid.Everything else still relies on
Mix.env()while in a mix environment.
Improvements
- Editing and saving secrets without any changes now does not re-encrypt the secret anymore. So no diff in your secrets file if you did not change anything.
v0.1.1 (2025-06-16)
Fixes
- Updated docs
v0.1.0 (2025-06-16)
Features
- Added
copy_secrets_for_release/2to copy secrets to releases generated withmix releaseCan be used in mix.exsproject'sreleaseconfig:steps: [:assemble, &SecretMana.copy_secrets_for_release(&1)]releaseconfig is now gone. - Added
SecretMana.generate_private_key_file/1This allows users to set the private key at runtime. Use this in combination withSecretMana.copy_secrets_for_release(release, false). This way secret key files are not copied to your release which would risk exposing your secrets. - Automatic binary discovery if
local_installis set to false and nobin_diris set. - Automatic
envdiscovery for secret paths. Before you had to configure seperate dirs per config.
Fixes
- Better editing with vim
Misc
- Removed unused setting
v0.0.5 (2025-03-25)
- Reworked the whole thing to a backend pattern. This allows other users to develop their own backends if needed
v0.0.4 (2025-03-22)
- Fix pathes by using otp app path.
v0.0.3 (2025-03-21)
- Allow enabling/disabling local_install (helpful for deployments and CIs)
v0.0.2 (2025-03-21)
Fixes
- Fix file type checking by skipping after editing.
v0.0.1 (2025-03-21)
Features
- Initial release of SecretMana
- Automatic installation of age binaries for different operating systems
- Support for managing encrypted secrets in JSON and YAML formats
- Read encrypted secrets with support for nested keys
- Edit secrets with your preferred editor (uses $EDITOR or falls back to vim)
- Encrypt files using age with public key encryption
- Generate new age key pairs
- Configuration system with sensible defaults and customization options
Implementation Details
- Automatic detection of system architecture for binary downloads
- Support for Darwin (macOS), Linux, and Windows platforms
- Secure SSL connections for downloading binaries
- Fallback mechanisms for different network configurations