Changelog

View Source

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