Skip to content

Releases: mikeleppane/envx

Release v0.6.2

19 Sep 08:36
4c3fa83

Choose a tag to compare

🐛 Bug Fixes

Fixed PATH Command Panic (#12)

Resolved application panic when listing PATH variables in certain scenarios
Improved error handling in PATH command operations to prevent unexpected crashes
Enhanced stability when working with environment path variables

🔧 Improvements

Better error messages and graceful handling of edge cases in PATH operations
Improved application reliability when managing environment variables

Release v0.6.1

07 Sep 19:21
29079ee

Choose a tag to compare

🔧 Bug Fixes

Fixed CLI Argument Conflict

  • Resolved command-line argument conflict in envx project apply and envx project check commands
  • Changed --force flag to use -F short option to avoid collision with --file (-f)
  • Both flags now work correctly without conflicts

✨ Improvements

  • Enhanced Setup Wizard

  • Added Go Application support - The setup wizard now recognizes and provides tailored configuration for Go projects

  • Added Next.js support - Full-stack Next.js applications now have dedicated environment variable templates

  • Improved variable status reporting - The wizard now displays all configured environment variables (both required and optional) in the summary, not just required ones

New Project Type Configurations

Go Application includes:

  • GO_ENV, DATABASE_URL, REDIS_URL, JWT_SECRET, LOG_LEVEL
  • Profiles: development, testing, production

Next.js Application includes:

  • NEXT_PUBLIC_API_URL, DATABASE_URL, NEXTAUTH_SECRET, NEXTAUTH_URL
  • Profiles: development, preview, production

📝 Example Output

The improved wizard summary now shows:

✅ Successfully set in current session:
   ✓ DATABASE_URL (required)
   ✓ JWT_SECRET (required)
   ✓ DEBUG
   ✓ LOG_LEVEL

Release v0.6.0

06 Sep 15:28
e40984c

Choose a tag to compare

🎉 What's New

🧙 Interactive Setup Wizard

  • Introduced a comprehensive interactive setup wizard via the envx init command
  • Automatically detects project type (Web App, Python, Rust/Go, Docker, Microservices, or Custom)
  • Guides users through environment variable configuration with smart defaults
  • Creates environment profiles for different stages (development, testing, production)
  • Generates .env files with pre-configured values
  • Includes team collaboration setup and validation rules configuration
  • Supports ESC key for graceful exit at any point during the wizard

📁 Custom Configuration File Support

  • Added -f/--file flag to all project commands for specifying custom configuration files
  • Similar to Docker's -f flag, allowing flexible configuration management
  • Enables multiple configuration files per project
  • Supports organizing configurations in custom directories
  • Example: envx project apply -f configs/production.yaml

⚡ Performance Improvements

  • Optimized internal operations for faster environment variable access
  • Reduced memory footprint during variable processing
  • Improved startup time for CLI commands

📝 Example Usage

# Run the interactive setup wizard
envx init

# Use custom configuration file
envx project apply -f myproject.yaml

# Check validation with custom config
envx project check -f configs/staging.yaml

Release v0.5.0

01 Sep 19:47
6569b1e

Choose a tag to compare

Release Notes - envx v0.5.0

🎉 What's New

We're excited to announce envx v0.5.0, a major release that introduces powerful new features for environment variable management. This release focuses on helping developers understand and maintain their environment configurations with new dependency tracking and documentation generation capabilities.

✨ New Features

📊 Dependency Tracking

Introducing the new deps command - a comprehensive solution for understanding how environment variables are used across your codebase.

Find Variable Usage
Instantly see where any environment variable is used in your project, including file locations, line numbers, and code context.

envx deps show DATABASE_URL

**Identify Unused Variables
**
Discover environment variables that are defined but never used in your code, helping you maintain a clean configuration.

envx deps --unused

Usage Statistics
Get insights into which environment variables are used most frequently across your project.

envx deps stats

Supported Languages: JavaScript/TypeScript, Python, Rust, Go, Java, C#, C/C++, Ruby, PHP, Shell scripts, PowerShell, Batch files, and Makefiles.

🗑️ Safe Cleanup
The new cleanup command helps you safely remove unused environment variables:

# Preview what would be removed
envx cleanup --dry-run

# Remove with patterns to keep certain variables
envx cleanup --keep "DEBUG*" --keep "*_TEST"

⚠️ Important Notice: The dependency analysis uses pattern matching and heuristics to detect environment variable usage across different programming languages. While it covers many common patterns, it may not catch all edge cases such as:

  • Variables constructed dynamically at runtime
  • Variables accessed through reflection or metaprogramming
  • Custom environment variable wrappers or abstractions
  • Variables in minified or obfuscated code
  • Indirect usage through third-party libraries

Always review the results carefully before removing variables, especially in production environments.

📝 Documentation Generation

Automatically generate comprehensive documentation for your environment variables:

# Generate markdown docs to stdout
envx docs


# Generate markdown documentation
envx docs --output ENV_VARS.md

# Include only required variables
envx docs --required-only

Features:

  • Automatic discovery from project configuration
  • Security-conscious with automatic masking of sensitive values
  • Markdown-formatted output ready for your README
  • Integration with config.yaml project files

🔧 Improvements

Release v0.4.2

31 Aug 17:51
9851c41

Choose a tag to compare

Release Notes - v0.4.2

🐛 Bug Fixes

  • Fixed project apply persistence issue: Environment variables set by envx project apply are now properly stored permanently to the system. Previously, variables were only set in the current session and would be lost after restart.

Technical Details

The project apply command now correctly persists environment variables to the user's environment, ensuring they remain available across sessions and system restarts.

Upgrading

# Update to the latest version
cargo install envx --locked

Release v0.4.1

30 Aug 07:03
806a810

Choose a tag to compare

feat(cli): add project management commands for init, apply, check, ed…

Release v0.4.0

29 Aug 12:11
e65c909

Choose a tag to compare

Release Notes - v0.4.0
🎉 What's New
We're excited to announce envx v0.4.0, which introduces powerful real-time monitoring and synchronization capabilities for environment variable management.

🔄 Watch Command - Auto-sync Environment Variables
The new watch command enables automatic synchronization between configuration files and your system environment variables:

  • Real-time File Monitoring: Automatically detect changes to .env, .yaml, .json and other configuration files

  • Flexible Sync Directions:

  • File-to-system (default): Apply file changes to environment

  • System-to-file: Capture system changes to files

  • Bidirectional: Keep files and system in perfect sync

  • Smart Filtering: Watch specific variables or patterns

  • Configurable Debouncing: Prevent excessive updates with customizable delays

# Watch .env file and apply changes automatically
envx watch .env

# Backup system changes to a file
envx watch --direction system-to-file --output backup.env

# Bidirectional sync with filtering
envx watch --direction bidirectional .env --vars DATABASE_URL API_KEY

📊 Monitor Command - Track Environment Changes
The new monitor command provides read-only observation of environment variable changes:

  • Real-time Change Detection: See additions, modifications, and deletions as they happen
  • Advanced Filtering: Monitor specific variables, sources, or patterns
  • Multiple Output Formats: Live updates, compact view, or JSON lines for processing
  • Comprehensive Logging: Export detailed change logs and reports
  • Zero Side Effects: Pure observation without modifying your environment
# Monitor all environment variables
envx monitor

# Track specific variables with logging
envx monitor PATH JAVA_HOME --log changes.json

# Monitor system variables only
envx monitor --source system --changes-only

Release v0.3.0

28 Aug 10:08
3c2fbbc

Choose a tag to compare

Release Notes - envx v0.3.0
🚀 What's New
We're excited to announce envx v0.3.0, introducing powerful project management capabilities and enhanced variable manipulation features!

🎯 Project-Specific Configuration
Manage environment configurations on a per-project basis with the new project management system:

  • Project Initialization: Set up config.yaml in your project root with envx project init

  • Required Variables: Define and validate required environment variables with patterns and examples

  • Auto-loading: Automatically load .env files and apply configurations when entering project directories

  • Project Scripts: Define and run project-specific scripts with custom environment settings

Configuration Validation: Ensure all required variables are set before running your application

# Initialize a project
envx project init --name "my-app"

# Add required variables
envx project require DATABASE_URL --pattern "^postgresql://.*"

# Validate and apply configuration
envx project check
envx project apply

🔄 Enhanced Variable Manipulation
New commands for efficient environment variable management:

Rename Variables

  • Rename single variables or use wildcards for batch operations

  • envx rename OLD_VAR NEW_VAR

  • envx rename APP_* MY_APP_*

Replace Values

  • Set new values for variables matching patterns

  • envx replace DATABASE_URL "postgres://prod-server/db"

  • envx replace API_* "REDACTED"

Find & Replace

  • Search and replace text within variable values

  • envx find-replace localhost production.server.com

  • envx find-replace "old-path" "new-path" --pattern "*_PATH"

🛡️ Improved Error Handling

  • User-friendly error messages with contextual help

  • Clear guidance for permission issues, missing resources, and configuration errors

  • Debug mode support with RUST_BACKTRACE=1 for detailed diagnostics

Release v0.2.0

27 Aug 08:37

Choose a tag to compare

Release Notes - envx v0.2.0
🎉 What's New
We're excited to announce the release of envx v0.2.0, featuring powerful new capabilities for managing environment configurations through Profiles and Snapshots!

🔄 Environment Snapshots
Take control of your environment state with the new snapshot functionality:

Create Snapshots: Save your entire environment configuration at any point in time
Restore Points: Quickly rollback to previous configurations when needed
Snapshot Management: List, view, and delete snapshots with ease
Compare Changes: Diff between snapshots to see what changed

# Create a snapshot before deployment
envx snapshot create "pre-deployment-v1.2"

# Restore if something goes wrong
envx snapshot restore "pre-deployment-v1.2"

# Compare snapshots
envx snapshot diff "pre-deployment-v1.2" "current"

👥 Environment Profiles
Streamline your workflow with profile management:

Multiple Profiles: Create separate configurations for dev, staging, and production
Quick Switching: Change between profiles instantly
Variable Management: Add, remove, and modify variables within profiles
Profile Inheritance: Build on base profiles for consistency

# Create and switch profiles
envx profile create dev
envx profile add dev NODE_ENV=development DEBUG=true
envx profile switch dev --apply

# Export and share with your team
envx profile export dev > dev-profile.json

🚀 Getting Started
Update to the latest version:

cargo install envex --version 0.2.0

Release v0.1.0

26 Aug 20:04

Choose a tag to compare

fix: mark environment variable manipulation as unsafe in tests