mitre-settingslogic 3.0.0 → 3.0.2

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: 8c9768d547c39600718529b6957ec4d15e1270ee27520b034ca5cd56316b4c98
4
+ data.tar.gz: a4e1608370d04f88233459941c19a876bfcabfcf5bc6e027c5628047e317691d
5
5
  SHA512:
6
- metadata.gz: 70ed779744d55559bbc1db46ec27700b6406f93c88e82e157de222b30b1264361e702d1c55d9012d234f94de2f3e541f13606d36b30893530b96f76efd2cb030
7
- data.tar.gz: f920eadd8d2e1191209d1bab0497b845978a690a0e1b03da0f4ef29189221dad2c2638a1522023bb6e4cf6e25fe4727849c533b287f1f57e9a65fa420f28e8fe
6
+ metadata.gz: 8bced130632449facb6ca167d821735cfa5fb7b00541759f2c4d9db1c0d4a40648510ca03cdbf2e51a12a0a0f75b43ccc89173849df7f3b7dc2044ef19de2c0f
7
+ data.tar.gz: 91d8eeadf2e622a8694ab67c1a23e1c6baeccaba49c9272ea8b37dd555d005d7882f68cd244c49136746c53aec35c22a0bb335c15729e2e9b741dfe3f3ef0907
data/CHANGELOG.md CHANGED
@@ -5,63 +5,138 @@ 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.2] - 2025-08-11
9
9
 
10
- ### 🔒 Security (BREAKING CHANGES)
10
+ ### Documentation
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
+ - Update documentation_uri to point to GitHub Pages
16
13
 
17
- ### Features
14
+ ## [3.0.1] - 2025-08-11
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
+ ### Added
25
17
 
26
- ### 🐛 Fixes
18
+ - Add MkDocs Material documentation site
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
+ ### Documentation
33
21
 
34
- ### 📦 Infrastructure
22
+ - Prepare for master to main branch rename
35
23
 
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)
24
+ ### Fixed
41
25
 
42
- ### 📚 Documentation
26
+ - Update documentation and license references
27
+ - Update Gemfile.lock with correct gem name
28
+ - Update rake task to use single quotes for version string
29
+ - Update Gemfile.lock for version 3.0.1
30
+ - Auto-update Gemfile.lock after version bump in rake task
31
+ - Add RuboCop autocorrect to release process
32
+ - Improve release process to handle all modified files
33
+ - Remove trailing whitespace from Rakefile
43
34
 
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
35
+ ### Miscellaneous Tasks
49
36
 
50
- ### ⚠️ Breaking Changes
37
+ - Finalize branch rename cleanup
38
+ - Add GitHub Pages documentation deployment workflow
51
39
 
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)
40
+ ## [3.0.0] - 2025-08-11
55
41
 
56
- ### 📝 Notes
42
+ ### Added
57
43
 
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.
44
+ - Add Ruby 3.x and Psych 4 compatibility
45
+ - Add configurability and migration path for YAML security fix
59
46
 
60
- ## [2.0.9] - 2012-10-19
47
+ ### Documentation
61
48
 
62
- Last release of the original gem by Ben Johnson (binarylogic).
49
+ - Add comprehensive documentation for v3.0.0 release
50
+ - Finalize v3.0.0 release preparation
63
51
 
64
- ---
52
+ ### Fixed
65
53
 
66
- Maintained by MITRE Corporation
67
- Primary maintainer: Aaron Lippold <lippold@gmail.com>
54
+ - Resolve CI test failures
55
+ - Critical security vulnerability - replace YAML.unsafe_load with safe_load
56
+ - Specify bounded bigdecimal dependency
57
+
58
+ ### Miscellaneous Tasks
59
+
60
+ - Add development tooling and release automation
61
+ - Update dependencies and gemspec for v3.0.0
62
+ - Update gitignore for session and archive files
63
+ - Update changelog generation configuration
64
+ - Update Gemfile.lock for bigdecimal dependency
65
+
66
+ ### Security
67
+
68
+ - Add Ruby 3.x and Psych 4 compatibility
69
+
70
+ - Add parse_yaml_content method to handle Psych 4's disabled aliases
71
+ - Use YAML.unsafe_load for Ruby 3.1+ with fallback to YAML.load
72
+ - Add to_ary method to fix RSpec Array#flatten issues
73
+ - Update deprecated has_key? to key?
74
+ - Add frozen string literal pragma
75
+ - Improve eval security with file/line tracking
76
+ - Fix RSpec be_false deprecation in tests
77
+ - Bump version to 3.0.0
78
+
79
+ Authored by: Aaron Lippold <lippold@gmail.com>
80
+ - Comprehensive Ruby 3.x compatibility and security update
81
+
82
+ - Add full Ruby 3.x support (3.0, 3.1, 3.2, 3.3, 3.4)
83
+ - Fix Psych 4 YAML alias compatibility for Ruby 3.1+
84
+ - Update all dependencies to latest secure versions
85
+ - Add bundler-audit for security monitoring
86
+ - Implement stringify_keys for Rails compatibility
87
+ - Add to_ary for RSpec compatibility
88
+ - Improve symbolize_keys for nested hashes
89
+ - Fix deprecated methods (has_key? → key?)
90
+ - Add frozen string literals throughout
91
+ - Improve eval security with file/line tracking
92
+ - Add comprehensive GitHub Actions CI
93
+ - Add MITRE standard project files
94
+ - Add security documentation and policies
95
+ - Acknowledge contributions from community forks
96
+
97
+ All tests passing, no known CVEs in dependencies.
98
+
99
+ Authored by: Aaron Lippold <lippold@gmail.com>
100
+
101
+ ### Styling
102
+
103
+ - Fix RuboCop offenses in Rakefile
104
+
105
+ ### Testing
106
+
107
+ - Reorganize tests and improve coverage to 92%
108
+
109
+ ## [2.0.8] - 2012-01-09
110
+
111
+ ### Fixed
112
+
113
+ - Fix jewler
114
+ - Fix conflicts
115
+
116
+ ## [2.0.7] - 2012-01-06
117
+
118
+ ### Fixed
119
+
120
+ - Fixes settingslogic #11
121
+
122
+ ## [2.0.6] - 2010-02-13
123
+
124
+ ## [2.0.5] - 2010-02-01
125
+
126
+ ## [2.0.4] - 2010-01-29
127
+
128
+ ## [2.0.3] - 2009-09-02
129
+
130
+ ### Refactoring
131
+
132
+ - NodeDefinder module was introduced.
133
+
134
+ ## [2.0.2] - 2009-08-22
135
+
136
+ ## [2.0.1] - 2009-08-22
137
+
138
+ ## [2.0.0] - 2009-08-22
139
+
140
+ ## [1.0.4] - 2009-06-28
141
+
142
+ <!-- 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.2'
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.2
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://mitre.github.io/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