Releases: mitre/vulcan
v2.2.1 - Patch Release
Vulcan v2.2.1 - Patch Release
Release Date: August 16, 2025
This patch release includes configuration improvements and minor fixes.
🔧 Improvements
Deployment Configuration
- Simplified Heroku Review App deployment process
 - Updated Kubernetes deployment examples for better practices
 - Enhanced environment validation in utility scripts
 
Accessibility
- Improved HTML email template compliance
 - Added missing accessibility attributes
 
📝 Changes Since v2.2.0
- Updated deployment configurations
 - Enhanced environment checks in scripts
 - Fixed email template formatting
 - Improved Kubernetes examples
 
🙏 Acknowledgments
Thank you to all contributors for their continued improvements to Vulcan.
Version: v2.2.1
Type: Patch Release
v2.2.0 - Major Framework Modernization
Vulcan v2.2.0 - Major Framework Modernization
🎉 Release Highlights
This release represents a significant modernization of the Vulcan platform, bringing major framework upgrades, performance improvements, and comprehensive bug fixes. The upgrade positions Vulcan for long-term maintainability and sets the foundation for upcoming Vue 3 and Bootstrap 5 migrations.
🚀 Major Framework Upgrades
Core Platform
- Rails 8.0.2.1 - Upgraded from Rails 7.0.8.7, bringing improved performance and modern Rails features
 - Ruby 3.3.9 - Upgraded from Ruby 3.1.6, providing better performance and language enhancements
 - Node.js 22 LTS - Upgraded from Node.js 16, ensuring long-term support and modern JavaScript features
 
Test Framework Modernization
- Migrated all controller specs to request specs (Rails 8 compatibility)
 - Migrated all feature specs to system specs (modern Rails testing standard)
 - Fixed Devise authentication with Rails 8 lazy route loading
 - All 190 tests passing with improved test coverage
 
Docker Optimization
- 73% smaller Docker image - Reduced from 6.5GB to 1.76GB
 - Multi-stage build optimization with production-ready configuration
 - Implemented jemalloc for improved memory management
 - Updated to Debian Bookworm base image
 
🐛 Bug Fixes
Security & Code Quality
- Fixed SQL injection vulnerability through parameterized queries
 - Resolved mass assignment security warnings with Rails 8 strong parameters
 - Fixed unreachable code in RelatedRulesModal.vue
 - Added missing HTML accessibility attributes (lang, title tags)
 - Fixed version comparison logic using proper semver library
 
UI/UX Improvements
- Fixed Issue #681: "Applicable - Configurable" status now correctly shows check/fix fields instead of justification field
 - MDI to Bootstrap Icons Migration: Fully migrated from deprecated MDI icons to Bootstrap Icons
 - Fixed missing function call parentheses in event handlers
 - Resolved Bootstrap-Vue deprecation warnings
 
📦 Dependency Updates
Security Updates
- axios: 1.6.8 → 1.11.0 (fixes 2 high SSRF vulnerabilities)
 - factory_bot: 5.2.0 → 6.5.4
 - ESLint: 8.x → 9.33.0
 - Prettier: 2.8.8 → 3.6.2
 - Updated all Rails gems to latest secure versions
 
New Dependencies
- Added bundler-audit for Ruby vulnerability scanning
 - Integrated semver for proper version comparison
 
📚 Documentation Overhaul
Comprehensive Updates
- Added professional README with badges, technology stack, and clear setup instructions
 - Created detailed CONTRIBUTING.md guide for new contributors
 - Updated CHANGELOG to follow "Keep a Changelog" standard
 - Enhanced SECURITY.md with MITRE SAF team contacts
 - Fixed documentation typos and improved clarity throughout
 
MITRE SAF Integration
- Added proper attribution to MITRE Security Automation Framework
 - Updated contact emails: [email protected] (general), [email protected] (security)
 - Enhanced project description and purpose
 
🔧 Technical Improvements
Build System
- Removed deprecated Spring gem (Rails 8 has built-in reloader)
 - Fixed fixture_paths deprecation warning
 - Updated esbuild configuration for modern JavaScript bundling
 - Enhanced pre-commit hooks with RuboCop and ESLint integration
 
Code Organization
- Archived MDI icon backup files for recovery purposes
 - Cleaned up unused code and dead references
 - Improved error handling throughout the application
 - Enhanced SonarCloud integration with proper exclusions
 
📈 Performance Metrics
- Docker Image: 73% size reduction (1.76GB vs 6.5GB)
 - Test Suite: All 190 tests passing
 - Code Quality: 0 security issues, reduced code complexity
 - Dependencies: 63 vulnerabilities addressed (many false positives from old Docker images)
 
🔮 What's Next
Planned for Future Releases
- Vue 3 Migration: Complete migration from Vue 2.6.11 to Vue 3
 - Bootstrap 5 Upgrade: Migrate from Bootstrap 4 + Bootstrap-Vue to native Bootstrap 5
 - Turbolinks Removal: Remove deprecated Turbolinks in favor of modern alternatives
 - Continued Performance Optimization: Further Docker and application performance improvements
 
📝 Migration Notes
For Developers
- Controller specs have been replaced with request specs
 - Feature specs have been replaced with system specs
 - Ensure Ruby 3.3.9 and Node.js 22 are installed for local development
 - Run 
bundle installandyarn installafter pulling this version 
For Production Deployments
- Docker images are now significantly smaller and more efficient
 - Environment variables remain unchanged
 - Database migrations are backward compatible
 
🙏 Acknowledgments
Thank you to all contributors and the MITRE SAF team for their continued support and dedication to improving Vulcan.
📊 Full Changelog
For a detailed list of all changes, see the CHANGELOG.md file.
Release Date: August 16, 2025
Release Manager: Aaron Lippold
Version: v2.2.0
vulcan v2.1.8
What's Changed
👒 Dependencies
- Bump ws from 6.2.2 to 6.2.3 in the npm_and_yarn group across 1 directory by @dependabot in #628
 
Other Changes
Full Changelog: v2.1.7...v2.1.8
vulcan v2.1.7
What's Changed
👒 Dependencies
- Bump axios from 0.21.4 to 1.6.0 by @dependabot in #617
 - Bump the npm_and_yarn group across 1 directories with 1 update by @dependabot in #619
 - Bump the npm_and_yarn group across 1 directories with 1 update by @dependabot in #620
 - Bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot in #623
 
Other Changes
New Contributors
Full Changelog: v2.1.6...v2.1.7
Vulcan v2.1.6
What's Changed
👒 Dependencies
- Bump @babel/traverse from 7.15.4 to 7.23.2 by @dependabot in #613
 - Bump browserify-sign from 4.2.1 to 4.2.2 by @dependabot in #614
 
Other Changes
Full Changelog: v2.1.5...v2.1.6
Vulcan v2.1.5
What's Changed
Exciting New Features 🎉
- Enabled viewing of related rules in read-only mode, but hiding the copy button by @vanessuniq in #605
 - Enable user to select which component to excel export by @vanessuniq in #610
 
Bug Fixes
- Added fixref attribute to fixtext XML tag for compatibility with stig-viewer-3x by @smarlaku820 in #608
 - Ensure a rule's inspec code is updated after establishing rule satisfaction or reverting change on a rule by @vanessuniq in #609
 
Other Changes
- Removed Changelog from the landing page and have the app version on the top menu as a link directing to the changelog page by @vanessuniq in #606
 
Full Changelog: v2.1.4...v2.1.5
Vulcan v2.1.4
What's Changed
Exciting New Features 🎉
- New Feature: Enable setting up Project visibility and Requesting access to a project by @vanessuniq in #595
 - STIG & Related Rules workflow by @vanessuniq in #599
 
Feature Enhancements
- Constrain the selectable list to allow only Apllicable - Configurable controls to be satisfied by other by @vanessuniq in #586
 - Constrain requirement for locking Applicable -Does Not Meet and Applicable - Inherently Meets controls by @vanessuniq in #587
 - Notifications: Slack notification and SMTP Enhancement by @vanessuniq in #594
 - VULCAN-528: Fix component admin on component cards by @vanessuniq in #588
 
Bug Fixes
- If null data just return for related info by @freddyfeelgood in #602
 - Fix: Capture STIG Name on Upload by @vanessuniq in #603
 - Fix Related Rules Grouping by @vanessuniq in #604
 
👒 Dependencies
- Bump semver from 5.7.1 to 5.7.2 by @dependabot in #596
 - Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #597
 - Bump puma from 4.3.12 to 5.6.7 by @dependabot in #601
 - Bump audited from 5.0.2 to 5.3.3 by @dependabot in #568
 
Full Changelog: v2.1.3...v2.1.4
Vulcan v2.1.3
What's Changed
Exciting New Features 🎉
- VULCAN-551: Enabling SMTP feature to send emails via ActionMailer by @smarlaku820 in #584
 - VULCAN-570: Control View Only and Edit Mode UX refactor by @vanessuniq in #583
 
Other Changes
- VULCAN-579: Fix project update logic for detecting name changes correctly by @smarlaku820 in #580
 - VULCAN-581: Enhance Import from Spreadsheet workflow by @vanessuniq in #582
 
Full Changelog: v2.1.2...v2.1.3
Vulcan v2.1.2
What's Changed
Exciting New Features 🎉
- VULCAN-563: Export/Import inspec control body by @vanessuniq in #564
 - Enabled editing component STIG ID prefix by @vanessuniq in #558
 
Other Changes
- Group histories with the same name, created_at, and comment; add tooltip for rule status by @vanessuniq in #562
 - Adding the option to group/sort controls by SrG ID by @vanessuniq in #566
 - VULCAN- 565: Add latest release version tag to Navbar component by @vanessuniq in #567
 - VULCAN-559: Support for Multiple CCIs by @vanessuniq in #569
 
Full Changelog: v2.1.1...v2.1.2
vulcan v2.1.1
What's Changed
👒 Dependencies
- Bump rack from 2.2.6.3 to 2.2.6.4 by @dependabot in #548
 - Bump nokogiri from 1.14.2 to 1.14.3 by @dependabot in #554
 
Other Changes
- VULCAN-348: Aternative testing by @vanessuniq in #546
 - Customized parser to not interpret character/html entity by @vanessuniq in #550
 - VULCAN-372: Add additional component question of url type by @freddyfeelgood in #553
 - Up to deep linking by @vanessuniq in #552
 - Use title for description if description blank by @rlakey in #557
 
Full Changelog: v2.1.0...v2.1.1