We're excited to announce the release of BVM (BoxLang Version Manager) v1.14, bringing significant enhancements that make BoxLang development even more seamless and productive. What's crazy is that we have already released 14 minor versions of this amazing little version manager. This release introduces project-specific version management, improved snapshot handling, and powerful self-maintenance features that developers have been requesting.
🎯 Project-Specific Version Management with .bvmrc
The headline feature of v1.14 is project-specific version management through .bvmrc files. This brings BVM in line with popular version managers like NVM and rbenv, allowing different projects to automatically use different BoxLang versions.
How It Works
Simply create a .bvmrc file in your project root:
# Set your project to use a specific BoxLang version
bvm local 1.2.0
# Or use the latest stable version
bvm local latest
This creates a .bvmrc file containing your chosen version. When you or your teammates work on the project, they can simply run:
# Automatically switch to the project's BoxLang version
bvm use
BVM will search for .bvmrc files starting from the current directory and walking up the directory tree, making it work seamlessly in subdirectories too.
Real-World Example
# Working on an older project
cd older-app
bvm local 1.1.0 # Creates .bvmrc with "1.1.0"
bvm use # Switches to 1.1.0
# Switching to a new project
cd ../next-gen-app
bvm local latest # Creates .bvmrc with "latest"
bvm use # Switches to latest version
# Check what version a project uses
bvm local # Shows current .bvmrc version
This eliminates the frustration of accidentally using the wrong BoxLang version and ensures team consistency across development environments.
🚀 Enhanced Snapshot Development
Development workflows get a major boost with improved snapshot handling. Previously, installing snapshots required manual management to get the latest development build. Now:
# Always gets the freshest snapshot build
bvm install snapshot
The bvm install snapshot command now automatically force-installs the latest snapshot version, ensuring you're always working with the newest development features and fixes. No more stale snapshot installations!
đź”§ Self-Maintenance and Updates
BVM v1.14 introduces powerful self-maintenance capabilities that keep your development environment healthy and up-to-date.
Automatic Update Checking
# Check for BVM updates
bvm check-update
When a newer version is available, BVM will:
- Show you the current vs. latest version
- Prompt for confirmation to upgrade
- Automatically download and install the update
- Preserve all your BoxLang installations
Complete Uninstallation
Need a fresh start or switching tools? The new bvm uninstall command provides a safe, complete removal:
# Completely remove BVM and all BoxLang versions
bvm uninstall
This command:
- Shows exactly what will be deleted
- Requires explicit confirmation
- Provides guidance for manual cleanup steps
- Ensures nothing is left behind
🎨 Improved Developer Experience
Command Clarity
We've refined the command structure for better usability:
- Removed the
uninstallalias from version removal to prevent confusion - Standardized help commands with consistent formatting and colors
- Enhanced error messages with better guidance
Command Reference
# Project version management
bvm local # Show current .bvmrc version
bvm local 1.2.0 # Set project version
bvm use # Use version from .bvmrc
# Version management
bvm install snapshot # Always get latest snapshot
bvm remove 1.1.0 # Remove specific version (no 'uninstall' alias)
# Maintenance
bvm check-update # Check for BVM updates
bvm uninstall # Remove BVM completely
bvm doctor # Health check
🚀 Why This Matters for BoxLang Development
Team Collaboration
Project-specific versions eliminate the "works on my machine" problem. Teams can commit .bvmrc files to version control, ensuring everyone uses the correct BoxLang version automatically.
CI/CD Integration
Continuous integration pipelines can now use .bvmrc files to automatically select the correct BoxLang version for each project, improving build reliability.
Development Workflow
Switch between legacy maintenance and cutting-edge development without version conflicts. Each project maintains its own environment requirements.
Long-term Maintenance
The self-update mechanism ensures BVM stays current with BoxLang ecosystem improvements, while the complete uninstall option provides a clean exit strategy.
🛠️ Getting Started with v1.14
New Installation
# Install BVM
curl -fsSL https://install-bvm.boxlang.io | bash
# Install BoxLang
bvm install latest
bvm use latest
Upgrading Existing Installation
# Check for updates (will prompt to upgrade to v1.14)
bvm check-update
# Or reinstall manually
curl -fsSL https://install-bvm.boxlang.io | bash
Setting Up Your First Project
# Configure your project
cd my-boxlang-project
bvm local latest
bvm use
# Verify everything works
bvm current
bvm doctor
What's Next!
BVM v1.14 represents a significant step forward in BoxLang's developer tooling ecosystem. The project-specific version management, enhanced snapshot handling, and self-maintenance features position BoxLang developers with tools that rival any modern programming language environment.
These improvements reduce friction in BoxLang adoption, make team collaboration smoother, and provide the professional-grade tooling that developers expect. Whether you're maintaining legacy applications, developing cutting-edge features, or managing multiple projects, BVM v1.14 has you covered.
Professional Open Source
BoxLang is a professional open-source product, with three different licences:
- Open-Source Apache2
- BoxLang +
- BoxLang ++
BoxLang is free, open-source software under the Apache 2.0 license. We encourage and support community contributions. BoxLang+ and BoxLang ++ are commercial versions offering support and enterprise features. Our licensing model is based on fairness and the golden rule: Do to others as you want them to do to you. No hidden pricing or pricing on cores, RAM, SaaS, multi-domain or ridiculous ways to get your money. Transparent and fair.
BoxLang is more than just a language; it's a movement.
Join us and redefine development on the JVM Ready to learn more? Explore BoxLang's Features, Documentation, and Community.
Join the BoxLang Community ⚡️
Be part of the movement shaping the future of web development. Stay connected and receive the latest updates on surrounding anything BoxLang
Subscribe to our newsletter for exclusive content.
Follow Us on Social media and don’t miss any news and updates:
Add Your Comment