Changelog

View Source

v0.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_ENV did.

    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/2 to copy secrets to releases generated with mix release Can be used in mix.exs project's release config: steps: [:assemble, &SecretMana.copy_secrets_for_release(&1)] release config is now gone.
  • Added SecretMana.generate_private_key_file/1 This allows users to set the private key at runtime. Use this in combination with SecretMana.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_install is set to false and no bin_dir is set.
  • Automatic env discovery 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