mitre-settingslogic 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cabca9894cc72e6bf4207679d3847b539f15ba2c99cbd30165271b3988568b86
4
- data.tar.gz: 1dead53a7b4c408796cb7439bf15fce7a3cef28e868a755ec595d759def19252
3
+ metadata.gz: f220b7a09d14593b9e256f459bc087b3c56b05e620fde2dc2d6ecc995a509259
4
+ data.tar.gz: 83df8f3359310b6807d62a3e59d60a83131f3f869d22749da0931cf03a407f23
5
5
  SHA512:
6
- metadata.gz: 70ed779744d55559bbc1db46ec27700b6406f93c88e82e157de222b30b1264361e702d1c55d9012d234f94de2f3e541f13606d36b30893530b96f76efd2cb030
7
- data.tar.gz: f920eadd8d2e1191209d1bab0497b845978a690a0e1b03da0f4ef29189221dad2c2638a1522023bb6e4cf6e25fe4727849c533b287f1f57e9a65fa420f28e8fe
6
+ metadata.gz: fc9a9dc6ff07a634b8dd02b45ad6d212ff6ba508b00dc53b4c38835818bfa3a13b24daca5c195c3830948c8e6f9d75913992acf3fd5772d025cdc97ba6cd6149
7
+ data.tar.gz: 4d31cd680ed132f7131ae31ea4ac1b1b0cd5de89170fd29c2b67d07aa0d36626c5e462b96fa7070736e3155f40653dec7657f60b87636cf828ad12ae92a1a6f9
data/CHANGELOG.md CHANGED
@@ -5,63 +5,127 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [3.0.0] - 2025-01-11
8
+ ## [3.0.1] - 2025-08-11
9
9
 
10
- ### 🔒 Security (BREAKING CHANGES)
10
+ ### Added
11
11
 
12
- - **Critical**: Replace `YAML.unsafe_load` with `YAML.safe_load` to prevent arbitrary code execution
13
- - Default permitted YAML classes: `Symbol, Date, Time, DateTime, BigDecimal`
14
- - Replace vulnerable `open-uri` with `Net::HTTP` for URL loading
15
- - Add protocol validation to block dangerous URI schemes (file://, ftp://, etc.)
12
+ - Add MkDocs Material documentation site
16
13
 
17
- ### ✨ Features
14
+ ### Documentation
18
15
 
19
- - Add Ruby 3.x compatibility (3.0, 3.1, 3.2, 3.3, 3.4)
20
- - Add Rails 7.x and 8.x compatibility
21
- - Add Psych 4 support with YAML alias handling
22
- - Add configurable permitted classes via `Settingslogic.yaml_permitted_classes`
23
- - Add migration path with deprecated `Settingslogic.use_yaml_unsafe_load` flag
24
- - Add helpful error messages with migration instructions
16
+ - Prepare for master to main branch rename
25
17
 
26
- ### 🐛 Fixes
18
+ ### Fixed
27
19
 
28
- - Fix RSpec Array#flatten issues with `to_ary` method
29
- - Fix deprecated `has_key?` usage (now `key?`)
30
- - Fix eval security with proper `__FILE__` and `__LINE__` tracking
31
- - Fix Ruby 3.4 compatibility with explicit bigdecimal dependency
32
- - Fix CI issues with Ruby 2.7 + Rails 6.1 zeitwerk conflict
20
+ - Update documentation and license references
21
+ - Update Gemfile.lock with correct gem name
22
+ - Update rake task to use single quotes for version string
33
23
 
34
- ### 📦 Infrastructure
24
+ ### Miscellaneous Tasks
35
25
 
36
- - Add comprehensive test suite (94.63% coverage)
37
- - Add RuboCop linting with rubocop-rspec and rubocop-performance
38
- - Add GitHub Actions CI for all Ruby/Rails combinations
39
- - Add automated release tooling with version management
40
- - Add security testing suite (19 security-specific tests)
26
+ - Finalize branch rename cleanup
27
+ - Add GitHub Pages documentation deployment workflow
41
28
 
42
- ### 📚 Documentation
29
+ ## [3.0.0] - 2025-08-11
43
30
 
44
- - Add comprehensive README with migration guide
45
- - Add SECURITY.md with vulnerability reporting process
46
- - Add ROADMAP.md for future development plans
47
- - Add CONTRIBUTING.md for contribution guidelines
48
- - Update all documentation for v3.0.0
31
+ ### Added
49
32
 
50
- ### ⚠️ Breaking Changes
33
+ - Add Ruby 3.x and Psych 4 compatibility
34
+ - Add configurability and migration path for YAML security fix
51
35
 
52
- - YAML files can no longer instantiate arbitrary Ruby objects by default
53
- - To allow custom classes: `Settingslogic.yaml_permitted_classes += [MyClass]`
54
- - Temporary opt-out available: `Settingslogic.use_yaml_unsafe_load = true` (deprecated)
36
+ ### Documentation
55
37
 
56
- ### 📝 Notes
38
+ - Add comprehensive documentation for v3.0.0 release
39
+ - Finalize v3.0.0 release preparation
57
40
 
58
- This is a major security release addressing CVE-2022-32224-like vulnerabilities. All users should upgrade and review their YAML files for compatibility with safe_load restrictions.
41
+ ### Fixed
59
42
 
60
- ## [2.0.9] - 2012-10-19
43
+ - Resolve CI test failures
44
+ - Critical security vulnerability - replace YAML.unsafe_load with safe_load
45
+ - Specify bounded bigdecimal dependency
61
46
 
62
- Last release of the original gem by Ben Johnson (binarylogic).
47
+ ### Miscellaneous Tasks
63
48
 
64
- ---
49
+ - Add development tooling and release automation
50
+ - Update dependencies and gemspec for v3.0.0
51
+ - Update gitignore for session and archive files
52
+ - Update changelog generation configuration
53
+ - Update Gemfile.lock for bigdecimal dependency
65
54
 
66
- Maintained by MITRE Corporation
67
- Primary maintainer: Aaron Lippold <lippold@gmail.com>
55
+ ### Security
56
+
57
+ - Add Ruby 3.x and Psych 4 compatibility
58
+
59
+ - Add parse_yaml_content method to handle Psych 4's disabled aliases
60
+ - Use YAML.unsafe_load for Ruby 3.1+ with fallback to YAML.load
61
+ - Add to_ary method to fix RSpec Array#flatten issues
62
+ - Update deprecated has_key? to key?
63
+ - Add frozen string literal pragma
64
+ - Improve eval security with file/line tracking
65
+ - Fix RSpec be_false deprecation in tests
66
+ - Bump version to 3.0.0
67
+
68
+ Authored by: Aaron Lippold <lippold@gmail.com>
69
+ - Comprehensive Ruby 3.x compatibility and security update
70
+
71
+ - Add full Ruby 3.x support (3.0, 3.1, 3.2, 3.3, 3.4)
72
+ - Fix Psych 4 YAML alias compatibility for Ruby 3.1+
73
+ - Update all dependencies to latest secure versions
74
+ - Add bundler-audit for security monitoring
75
+ - Implement stringify_keys for Rails compatibility
76
+ - Add to_ary for RSpec compatibility
77
+ - Improve symbolize_keys for nested hashes
78
+ - Fix deprecated methods (has_key? → key?)
79
+ - Add frozen string literals throughout
80
+ - Improve eval security with file/line tracking
81
+ - Add comprehensive GitHub Actions CI
82
+ - Add MITRE standard project files
83
+ - Add security documentation and policies
84
+ - Acknowledge contributions from community forks
85
+
86
+ All tests passing, no known CVEs in dependencies.
87
+
88
+ Authored by: Aaron Lippold <lippold@gmail.com>
89
+
90
+ ### Styling
91
+
92
+ - Fix RuboCop offenses in Rakefile
93
+
94
+ ### Testing
95
+
96
+ - Reorganize tests and improve coverage to 92%
97
+
98
+ ## [2.0.8] - 2012-01-09
99
+
100
+ ### Fixed
101
+
102
+ - Fix jewler
103
+ - Fix conflicts
104
+
105
+ ## [2.0.7] - 2012-01-06
106
+
107
+ ### Fixed
108
+
109
+ - Fixes settingslogic #11
110
+
111
+ ## [2.0.6] - 2010-02-13
112
+
113
+ ## [2.0.5] - 2010-02-01
114
+
115
+ ## [2.0.4] - 2010-01-29
116
+
117
+ ## [2.0.3] - 2009-09-02
118
+
119
+ ### Refactoring
120
+
121
+ - NodeDefinder module was introduced.
122
+
123
+ ## [2.0.2] - 2009-08-22
124
+
125
+ ## [2.0.1] - 2009-08-22
126
+
127
+ ## [2.0.0] - 2009-08-22
128
+
129
+ ## [1.0.4] - 2009-06-28
130
+
131
+ <!-- generated by git-cliff -->
data/CONTRIBUTING.md CHANGED
@@ -40,7 +40,7 @@ bundle exec rubocop
40
40
  ## 📝 Making Changes
41
41
 
42
42
  1. **Fork the repository** on GitHub
43
- 2. **Create a feature branch** from `master`
43
+ 2. **Create a feature branch** from `main`
44
44
  ```bash
45
45
  git checkout -b feature/my-new-feature
46
46
  ```
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: License
3
- description: Apache 2.0 license for the cyber-trackr-live project
3
+ description: Apache 2.0 license for the mitre-settingslogic project
4
4
  layout: doc
5
5
  sidebar: true
6
6
  ---
data/README.md CHANGED
@@ -21,7 +21,7 @@ Add this to your Gemfile:
21
21
 
22
22
  ```ruby
23
23
  # Use the MITRE fork for Ruby 3.x compatibility
24
- gem 'settingslogic', github: 'mitre/settingslogic', branch: 'master'
24
+ gem 'settingslogic', github: 'mitre/settingslogic', branch: 'main'
25
25
  ```
26
26
 
27
27
  Or if we publish to RubyGems:
data/ROADMAP.md CHANGED
@@ -9,7 +9,7 @@
9
9
  - ✅ 94%+ test coverage with reorganized specs
10
10
 
11
11
  ## Version 3.x (Maintenance)
12
- - Rename master branch to main (v3.0.1 or v3.1)
12
+ - Rename master branch to main (completed in v3.0.1)
13
13
  - Test gem autopublishing workflow
14
14
  - Bug fixes as needed
15
15
  - Maintain compatibility with new Ruby/Rails releases
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Settingslogic < Hash
4
- VERSION = '3.0.0'
4
+ VERSION = '3.0.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mitre-settingslogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Johnson
@@ -142,13 +142,13 @@ files:
142
142
  - lib/settingslogic/version.rb
143
143
  homepage: https://github.com/mitre/settingslogic
144
144
  licenses:
145
- - MIT
145
+ - Apache-2.0
146
146
  metadata:
147
147
  homepage_uri: https://github.com/mitre/settingslogic
148
148
  source_code_uri: https://github.com/mitre/settingslogic
149
149
  changelog_uri: https://github.com/mitre/settingslogic/blob/main/CHANGELOG.md
150
150
  bug_tracker_uri: https://github.com/mitre/settingslogic/issues
151
- documentation_uri: https://www.rubydoc.info/gems/settingslogic
151
+ documentation_uri: https://www.rubydoc.info/gems/mitre-settingslogic
152
152
  rubygems_mfa_required: 'true'
153
153
  post_install_message:
154
154
  rdoc_options: []
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  requirements: []
168
- rubygems_version: 3.3.27
168
+ rubygems_version: 3.4.19
169
169
  signing_key:
170
170
  specification_version: 4
171
171
  summary: A simple settings solution using YAML and a singleton pattern