All notable changes to BuildAppolis Env-Manager will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.5.0 - 2025-08-20
-
Smart Task Management System (tm)
- Complete task workflow automation with TODO → IN-PROGRESS → COMPLETED → RELEASED stages
- Pre-completion validation system with automatic code quality checks
- Git-aware undo with file reversion capabilities
- Advanced task search with relevance ranking
- Complete task movement history and audit trail
- Automatic file tracking for modified files during tasks
- AI-assisted documentation generation with Claude integration
-
Pre-Completion Validation System
- Automatic code quality checks before task completion
- Auto-detects typecheck, lint, test commands across project types
- Supports Node.js, Python, Rust, Go projects
- Configurable blocking with --force override option
- Smart 5-minute cache for fast re-validation
- Auto-fix support for linting issues
-
Git Snapshot System
- Automatic git state capture on task movements
- Smart undo that can revert file changes
- Conflict detection and backup branches
- Interactive mode for selective file reversion
- Preview changes before applying
-
Type-Safe Environment Variable Export
- Separate client/server TypeScript interfaces
- Runtime validation with proper type definitions
- Export button with preview and save functionality
- Support for multiple TypeScript export formats
-
Enhanced Variable Management
- Advanced sorting and filtering with category grouping
- Inline variable editing capabilities
- Visual distinction between client (<) and server (=) variables
- Smart clipboard import with env.config.ts matching
- Automatic secret generation (UUID, JWT, API keys, passwords)
- Variable cards now show type indicators and category grouping
- Import dialog enhanced with config matching and required variable detection
- Generate button (✨) added to UI for context-aware secret creation
- TypeScript errors with Lucide icon title props
- Missing hasPassword method in database API
- HotReloadManager method calls and event types
- ReloadEvent type correction from 'update' to 'variables_changed'
1.4.12 - 2025-08-19
- Dynamic Port Configuration: Fixed hardcoded port issue in astro.config.mjs
- Now reads port from ~/.env-manager/config.json dynamically
- Supports ENV_MANAGER_PORT environment variable override
- Falls back to default port 3001 only if config cannot be read
- Ensures the server uses the port configured via
env-manager port setcommand
1.4.11 - 2025-08-19
-
Complete Import/Export System
- New ImportExportDialog component with full UI for import/export operations
- Support for multiple export formats (.env, .env.local, .env.development, .env.production, .env.staging, custom)
- Download as file or copy to clipboard functionality
- Intelligent .env file parsing with variable extraction, comment processing, and category detection
- Auto-detection of sensitive variables (SECRET, KEY, PASSWORD, TOKEN patterns)
- Visual preview before import with color-coded indicators
- Batch import with real-time success/error tracking
-
Global Port Management System
- New CLI commands:
env-manager port status,env-manager port set <port>,env-manager port restart - Global port configuration stored in ~/.env-manager/config.json
- Automatic project configuration updates across all env.config.ts files
- Smart process management with existing instance detection and termination
- Port conflict detection with --force override option
- WebSocket port management (separate HTTP + WS ports)
- New CLI commands:
-
Development Package Swapper Tools
- swap-env-manager.sh script for easy switching between npm and local versions
- env-swap-aliases.sh with quick command aliases (env-local, env-prod, env-status, env-test)
- Automatic package.json updates and clean package removal/installation
- Support for multiple projects with path configuration
- Color-coded status output and comprehensive documentation
- Enhanced variables API with PUT method supporting projectPath parameter
- Improved branch detection when projectPath is provided
- Added Import/Export button integration to EnvManager8Bit UI
- PUT method authentication handling in variables API
- Process detection to avoid self-termination in port management
- Proper error handling for import failures
- Branch detection with projectPath parameter
- Critical: Fixed required variables validation for multi-project support
- Fixed branch detection in variables API when projectPath is provided
- Fixed ProjectValidator to accept branch parameter for correct validation
- Fixed validation error when validation object is not a RegExp
- Required variables list now correctly updates when adding/deleting variables
- PROJECT_STATUS API now properly validates against project-specific variables
- Enhanced multi-project environment variable management
- Variables API now correctly uses projectPath for branch detection
- Project status endpoint properly validates project-specific configurations
- Required variables section only shows truly missing variables
- Real-time updates when variables are added or removed
- Fixed TypeScript type errors in draft system ('none' type added to VariableChange)
- Fixed database getAllMetadata expression always truthy warning
- Added proper type guards for validation functions
- Improved error handling in project status validation
- Fixed login endpoint URL
- Changed from
/api/auth/loginto/api/auth(correct endpoint) - Added proper form wrapper for password field
- Added autocomplete attribute for better browser support
- Fixed "Password field is not contained in a form" warning
- Changed from
- CRITICAL: Fixed password authentication mismatch
- CLI was using 100,000 PBKDF2 iterations but server was using 10,000
- This caused all password verifications to fail
- Passwords now correctly authenticate in the UI
- Standardized to 100,000 iterations for proper security
- Added complete uninstall/factory reset instructions
- Documented how to completely remove env-manager and all data
- Added factory reset procedure to reset to defaults
- Listed all data storage locations for manual cleanup
- Added troubleshooting section for common issues
- Included project-specific cleanup instructions
- CRITICAL: Fixed broken password input masking
- Password prompt was showing alternating characters (hello12*3)
- Completely rewrote password input handling using proper raw mode
- Now correctly shows asterisks (*) for all typed characters
- Fixed password not being saved/validated correctly
- Properly handles backspace and special characters
- Added TypeScript config file support
- Added jiti dependency for loading
.tsconfig files - Fixed "Unknown file extension" error when using env.config.ts
- Config files now work with both TypeScript and JavaScript
- Added jiti dependency for loading
- Resolved config validation issues in projects using TypeScript
- Critical fix for startup crashes when used as npm dependency
- Skip unnecessary rebuilds when dist folder exists
- Use pre-built distribution files from npm package
- Add
--rebuildflag for forced rebuilds when needed
- Resolved EISDIR error when trying to read API directories as files
- Fixed build process when running from node_modules
- Complete fix for all import path issues
- Fixed all
@/lib/utilsimports to use relative paths - Fixed all
@/components/uiimports in 8bit components - Corrected relative path depths for nested components
- Thoroughly tested build process with global installation
- Fixed all
- Resolved all Vite/Rollup module resolution errors
- Ensured compatibility with global npm/pnpm installations
- Critical: Fixed remaining @/lib/utils imports in UI components
- Resolved all path alias issues for global npm installations
- Complete fix for Vite/Rollup build failures
- Critical: Fixed import paths in UI components to use relative paths instead of aliases
- Critical: Resolved build failures when running from globally installed package
- Fixed Vite/Rollup import resolution issues for global npm installations
- Password masking clarification - asterisks display correctly in TTY mode
- Project tooltip now shows full path on hover
- Improved error messages for password setup
- Minor UI improvements in ProjectSelector component
- 🎯 Project Selector UI - Visual project management interface
- Live status indicators showing running/stopped projects
- Git branch display for each project
- Start/stop/remove project controls
- Project metadata display (version, description)
- 🔐 Web-Based Password Management - Complete password UI
- First-time setup wizard via web interface
- Password recovery with recovery phrases
- Change password functionality
- Project-specific password support
- 📡 Project Management API - RESTful endpoints for project control
/api/projects- List and manage projects/api/password- Password operations (setup, verify, change, recover)- Project status checking and control
- 🎨 Enhanced UI/UX
- Page title shows project name and git branch:
projectName[branch] | Env Manager | BuildAppolis - Project info display in CLI (name, version, path)
- Better env.config.ts/js detection
- TTY detection for password prompts
- Page title shows project name and git branch:
- 🔧 Improved CLI Experience
- Global password required once per machine
- Optional project-specific passwords
- Current project display in help menu
- Fixed password setup flow
- Password prompt handling in non-TTY environments
- env.config.ts detection in project directories
- Project registration and port assignment
1.3.0 - 2025-08-19
- 🔥 Hot-Reload System - Real-time environment variable updates without server restart
- WebSocket server for instant notifications
- Client library with framework integrations (Next.js, Astro, Vue, SvelteKit)
- Beautiful loading overlay and toast notifications
- Configurable auto-reload with delay settings
- 🌿 Branch-Specific Variables - Different configs for different git branches
- Auto-detection of current git branch
- Branch inheritance strategies (inherit, isolate, merge)
- Environment mapping (dev, staging, prod)
- CLI commands for branch management
- 📊 Git Integration - Complete git information in project status
- Shows branch, commit, author, dirty status
- Ahead/behind tracking for remote branches
- Tag detection at current commit
- 🔄 Config Migration System - Automatic config file upgrades
- Version tracking and migration
- Backup creation before migration
- Branch-aware config loading
- 🔑 Secure Password Storage - Master password in home directory
- Credentials stored in
~/.env-manager/credentials.json - Recovery phrase system for forgotten passwords
- Backward compatibility with project .env files
- Credentials stored in
- 🏢 Multi-Project Support - Manage multiple projects simultaneously
- Project registry with unique ports
- Custom port configuration per project
- Project switching and listing
- 📚 Comprehensive Documentation
- Framework Integration Guide
- Branch Configuration Guide
- Hot-reload setup instructions
- Password storage moved from project
.envto secure home directory location - Variables API now supports branch-specific storage
- Project status endpoint includes git information
- Database structure enhanced for hot-reload settings
- CLI enhanced with new commands:
branch,branch-list,branch-copy,configure,recover-password,projects
- Build errors with missing imports and CSS dependencies
- Config loading now uses PROJECT_ROOT environment variable
- Password prompt hanging issue in CLI
- Vite alias configuration for proper path resolution
- Project-specific env.config.ts loading
1.2.0 - 2025-08-19
1.1.0 - 2025-08-19
- 🎮 Complete 8-bit retro gaming UI theme using 8bitcn-ui components
- 🎨 React-based interactive components with shadcn/ui integration
- 🔒 Custom lock-themed favicon with gradient design
- 📱 Responsive 8-bit styled interface with CRT monitor effects
- ⚡ Tailwind CSS v4 with Vite plugin for improved performance
- 🎵 Sound effect placeholders for user interactions
- 🏷️ Dynamic page titles with project name support
- 🖼️ Animated retro grid background with scanline effects
- 🎯 Press Start 2P font for authentic pixel-art typography
- Migrated from Astro components to React components for better interactivity
- Updated to Tailwind CSS v4 with modern CSS-based configuration
- Redesigned entire UI with 8-bit gaming aesthetic
- Improved CLI commands for simpler usage (env-manager instead of npx)
- Enhanced page title structure: [Project] | Env Manager | BuildAppolis
- Astro build configuration for Tailwind v4 compatibility
- TypeScript configuration for React JSX support
- Path aliases for proper module resolution
1.0.5 - 2025-08-18
1.0.4 - 2025-08-18
DevServerConfiginterface for development server configurationprojectVersionproperty to ProjectConfig for project versioningenvManagerVersionproperty to ProjectConfig for version compatibilitydevServerproperty to ProjectConfig for dev server settings- Export DevServerConfig and CustomValidation types in index.ts
- Missing properties from original env-manager implementation
- Full compatibility with env.config.ts structure
1.0.3 - 2025-08-18
exampleproperty to ProjectVariableConfig for showing example valuesCustomValidationinterface for custom validation functionscustomValidationproperty to ProjectValidation interface
- Missing type exports for CustomValidation interface
1.0.2 - 2025-08-18
typeproperty to ProjectVariableConfig for variable type hints ('url', 'email', 'json', etc.)generateproperty for automatic value generation strategies ('uuid', 'crypto', 'password')defaultas an alias fordefaultValuefor better compatibility
- TypeScript interface compatibility with env.config.ts usage
1.0.1 - 2024-08-18
- Proper TypeScript type exports in package.json
- Main index.ts file for centralized exports
- Export mappings for better module resolution
- Files field in package.json to control published content
- TypeScript types not being accessible when importing the package
- Module resolution issues with TypeScript projects
- Main entry point changed from dist/server/entry.mjs to index.ts
- Added explicit exports field for better ESM support
1.0.0 - 2024-08-18
- Initial release of BuildAppolis Env-Manager
- Web-based UI for managing environment variables
- Encrypted storage using SQLite database
- Snapshot functionality for versioning configurations
- Project validation against env.config.ts requirements
- Docker support with Dockerfile and docker-compose.yml
- Astro-based frontend with TypeScript
- API endpoints for programmatic access
- BuildAppolis custom license for commercial protection
- Export functionality for .env and .env.example files
- Categories and filtering for variable organization
- Password protection for sensitive operations
- Modular component architecture
- Optimized bundle size (14KB JS, 3.6KB gzipped)
- Sensitive variables are automatically encrypted at rest
- Password-based authentication for access control
- Secure export with password confirmation