use YAML.unsafe_load instead of YAML.load to maintain compatibility #178
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Environment
Details
I got an following error.
importer/config/variable.yml:
Since Ruby 3.1.0, Psych has been updated to 4.0.0.
Psych 4.0.0 has incompatible changes.
In Psych 4.0.0, YAML.load uses Psych.safe_load internally.
Previous versions of Psych.load can also be used with Psych.unsafe_load.
Psych.safe_load is a safer way to load YAML data than Psych.load.
By default, Psych.safe_load only converts objects of the following classes: TrueClass, FalseClass, NilClass, Numeric, String, Array, and Hash.
Psych.safe_load also does not allow the use of YAML aliases.
Because of this difference between Psych.load and Psych.safe_load, YAML data that was previously loadable may no longer load.
Therefore, YAML.unsafe_load is used instead of YAML.load to maintain compatibility.
https://secret-garden.hatenablog.com/entry/2021/05/23/200803 (Japanese)