Settingslogic Roadmap¶
Version 3.0.0 (Current Release)¶
- ✅ Ruby 3.x compatibility through Ruby 3.4+
- ✅ Rails 7.x and 8.x compatibility
- ✅ Security: Replaced
YAML.unsafe_load
withYAML.safe_load
- ✅ Configurable permitted classes via
Settingslogic.yaml_permitted_classes
- ✅ Migration path with deprecated
use_yaml_unsafe_load
flag - ✅ 94%+ test coverage with reorganized specs
Version 3.x (Maintenance)¶
- ✅ Rename master branch to main (completed in v3.0.1)
- Test gem autopublishing workflow
- Bug fixes as needed
- Maintain compatibility with new Ruby/Rails releases
- No new features planned - focus on stability
Version 4.0.0 (Future - Aligned with Vulcan Rewrite)¶
Breaking Changes¶
- Drop Ruby 2.7 support (already EOL as of March 2023)
- Remove deprecated
use_yaml_unsafe_load
flag - Minimum Ruby version: 3.0+ (or higher based on adoption)
Development Improvements¶
- Integrate
bump
gem for simplified version management - Replace custom Rakefile version bumping with industry-standard tool
- Automatic handling of VERSION file, gemspec, and Gemfile.lock
- Simplify release process with
bump patch --tag --commit
- Reference: https://github.com/gregorym/bump
Goals¶
- Simplify codebase by removing legacy compatibility code
- Maintain as a simple, focused settings gem
- Ensure compatibility with Ruby 3.4+ for the long term
- Streamline development workflow with standard tools
Maintenance Philosophy¶
This is a MITRE-maintained fork created specifically for Vulcan and other MITRE projects. We recognize that many in the Ruby community are moving to other configuration solutions, but settingslogic remains valuable for existing projects.
Our focus: - Security and stability over features - Maintaining compatibility for existing users - Clear migration paths when changes are needed - No unnecessary complexity
Note¶
Given the gem's maturity and decreasing usage in new projects, we don't anticipate significant feature development. This fork exists primarily to ensure MITRE projects using settingslogic can safely upgrade to modern Ruby and Rails versions.