Skip to content

Release Notes - v0.5.0

Release Date: 2026-05-23

Overview

OmniVault v0.5.0 is a major CLI enhancement release introducing powerful new commands and output options. This release adds password management, flexible output formats, search capabilities, and bulk import/export functionality.

Highlights

  • New passwd command to change the master password
  • Multiple output formats: text, JSON, YAML, shell-sourceable
  • Field extraction with --field flag for targeted secret retrieval
  • Search secrets by glob patterns or regex
  • Bulk import/export for backup and migration
  • Expiry warnings for secrets approaching expiration
  • User configuration file support

What's New

Added

  • Password Change (passwd): Change the vault master password with automatic re-encryption of all secrets
  • Output Formats (--format): Choose between text, json, yaml, or shell output formats
  • Field Extraction (--field): Extract specific fields from multi-field secrets
  • Search Command: Find secrets by glob pattern or regex with omnivault search
  • Batch Export: Export all secrets or a subset as JSON with omnivault export
  • Batch Import: Import secrets from JSON with omnivault import, with merge mode to skip existing
  • List Metadata (--metadata): Show timestamps and full tag details in list output
  • Expiry Warnings: Automatic warnings when retrieving expired or expiring secrets
  • Config File: User configuration at ~/.omnivault/config.json for default settings
  • Flag Parsing: Clean --flag=value and --flag value support across all commands

Changed

  • Add gopkg.in/yaml.v3 v3.0.1 for YAML output support

Usage Examples

Password Change

omnivault passwd
# Enter current password: ********
# Enter new password (min 8 chars): ********
# Confirm new password: ********
# Password changed successfully!

Output Formats

# JSON output
omnivault get database/password --format json

# YAML output
omnivault get api/credentials --format yaml

# Shell-sourceable output
omnivault get aws/keys --format shell
# export AWS_KEYS='...'
# export AWS_KEYS_ACCESS_KEY='AKIA...'
# export AWS_KEYS_SECRET_KEY='...'

# Source directly
eval $(omnivault get aws/keys --format shell)

Field Extraction

# Get only the password field
omnivault get database/creds --field password

# Get username for scripting
DB_USER=$(omnivault get database/creds --field username)
# Glob pattern search
omnivault search "database/*"
omnivault search "*prod*"

# Regex search
omnivault search ".*password.*" --regex
omnivault search "^api/v[0-9]+/" --regex

# JSON output for scripting
omnivault search "database/*" --format json

Import/Export

# Export all secrets
omnivault export > backup.json

# Export with prefix filter
omnivault export database/ > database-backup.json

# Export to specific file
omnivault export --output backup.json

# Import secrets (overwrites existing)
omnivault import backup.json

# Import with merge (skip existing)
omnivault import backup.json --merge

# Import from stdin
cat secrets.json | omnivault import

List with Metadata

# Show detailed metadata
omnivault list --metadata
# database/prod (value+fields) [env=production, service=api]
#   Created: 2026-05-01T10:30:00Z
#   Updated: 2026-05-20T15:45:00Z
#   Expires: 2026-06-01T00:00:00Z

Configuration File

Create ~/.omnivault/config.json:

{
  "auto_lock_timeout": "30m",
  "default_format": "json",
  "expiry_warning_days": 14,
  "default_tags": {
    "managed_by": "omnivault"
  }
}

Installation

go get github.com/plexusone/omnivault@v0.5.0

Or install the CLI:

go install github.com/plexusone/omnivault/cmd/omnivault@v0.5.0

Upgrading

No breaking changes. Update your go.mod:

require github.com/plexusone/omnivault v0.5.0

And run:

go mod tidy