Releases: untitledpng/environment-switcher
v2.0.0
🚀 Complete Rewrite with Rollback and Save Commands
This release brings major improvements and new functionality:
-
♻️ Full Codebase Rewrite:
The entire codebase has been rewritten for improved performance, cleaner architecture, and easier maintainability. -
✨ Added Rollback Command:
Introduced arollbackcommand to restore environment file(s) from the.backupfile or from a specific environment file (e.g.,.env.local). -
✨ Added Save Command:
Added asavecommand that allows you to persist current environment changes back to the corresponding environment-specific files.
These enhancements significantly improve reliability, performance, and developer control over environment management.
Upgrading from v1.x
We have changed the JSON structure in both the global and project specific .switchrc files. We recommend to remove these old files and initialise your project again. You can remove your global config using the following command: rm ~/.config/switch/.switchrc
v1.5.0
✨ Extended Configuration and Environment Management
This release introduces major enhancements to configuration and environment handling:
-
✨ Save Current Environment in
.switchrc:
The current environment is now saved in the.switchrcfile.
Added afilesarray to the config which sets default files for all environments, while still allowing per-environment overrides. -
✨ Global Configuration Support:
Introduced global configuration where you can define default values for theinitcommand. -
✨ Add Command for Environments:
Added anaddcommand to easily add new environments to the config. -
✨ Remove Environments:
Implemented the ability to remove environments directly from the configuration.
These updates provide greater flexibility, customization, and ease of managing environments.
v1.4.0
💚 Build Switch Executable
This release introduces a build improvement:
- 💚 Switch Executable Build:
Added support for building theswitchexecutable, enabling easier distribution and usage of the tool.
This change improves portability and accessibility for end users.
v1.3.0
✨ Init Command Creates Environment Files
This release introduces a new enhancement:
- ✨ Automatic Environment File Creation:
Theinitcommand can now create all required environment files based on user input, streamlining the setup process.
This improvement simplifies initialization and reduces manual configuration effort.
v1.2.0
✨ Enhanced Environment Switching and Initialization Features
This release introduces multiple new features and improvements:
-
✨ View Current Selected Environment:
Running theswitchcommand now displays the currently selected environment along with modified files for better visibility. -
🎨 Improved Console Styling:
Refined the styling of console messages for a clearer and more user-friendly experience. -
✨ Added
CLAUDE.mdFile:
Introduced an auto-generatedCLAUDE.mdfile to support documentation and workflow consistency. -
✨ Interactive
switch initCommand:
Made theswitch initcommand interactive, allowing you to set environments (defaults:local,staging,production) and choose which files should be switched (default:.env). -
✨ .gitignore Support in Init Command:
Theswitch initcommand can now also create or update.gitignorefiles to ensure proper version control handling.
These updates improve usability, customization, and developer workflow when working with environment switching.
v1.1.1
🎨 Improved Spacing in switch Output
This release includes a user experience improvement:
- 🎨 Better Spaced Output:
Adjusted the formatting of theswitchcommand output to improve readability with clearer spacing.
This change enhances the overall user experience when using the tool.
v1.1.0
✨ New Init Command, Improved Docs, and UX Enhancements
This release introduces new features, improvements, and cleanups:
-
✨ Added
switch initCommand:
Introduced a new command to simplify the initial configuration setup. -
📝 Improved Documentation:
Enhanced thereadme.mdwith clearer instructions and updated usage examples. -
🔥 Removed Compiled Switch Executable:
Cleaned up the repository by removing the compiledswitchexecutable. -
🎨 Enhanced Messages with Colors and Emojis:
Improved the readability and user experience of printed messages by adding colors and emojis. -
✨ Failed Message on Skipped Files:
Now displaying a clear failed message when all files are skipped during environment switching.
These updates streamline setup, improve usability, and keep the project clean.
v1.0.1
🐛 Fixed Filename Case Issue for main.swift
This release includes a bug fix:
- 🐛 Corrected main.swift Case Sensitivity:
Fixed an issue wheremain.swiftwas pushed asMain.swift, causing brew to fail during compilation.
This fix ensures consistent file naming and prevents build errors.
v1.0.0
This is the initial release.