| Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/psych/commit/746e1ad24d
|
|
https://docs.ruby-lang.org/en/master/Psych.html#module-Psych-label-Exception+handling
https://github.com/ruby/psych/commit/c53c298222
|
|
https://github.com/ruby/psych/commit/7c81f7db53
|
|
https://github.com/ruby/psych/commit/b2aa0032c0
|
|
https://github.com/ruby/psych/commit/6ea07fdadd
|
|
https://github.com/ruby/psych/commit/6609955e68
|
|
https://github.com/ruby/psych/commit/b89064efa5
|
|
https://github.com/ruby/psych/commit/48e5af8454
|
|
https://github.com/ruby/psych/commit/288febbc87
|
|
https://github.com/ruby/psych/commit/d9e18aaab7
|
|
https://github.com/ruby/psych/commit/a0c353ec97
|
|
Save on allocating useless `MatchData` instances.
https://github.com/ruby/psych/commit/b2d9f16e58
|
|
A string similar to "0x____" should be treated as a string.
Currently it is processed as an Integer.
This alters the regex specified by http://yaml.org/type/int.html
to ensure at least one numerical symbol is present in the string
before converting to Integer.
https://github.com/ruby/psych/commit/81479b203e
|
|
https://github.com/ruby/psych/commit/a8b73bb80e
|
|
https://github.com/ruby/psych/commit/3b63a93dfc
|
|
https://github.com/ruby/psych/commit/9f5392d180
|
|
https://github.com/ruby/psych/commit/ce7946981d
|
|
Ref: https://bugs.ruby-lang.org/issues/20641
Even without the reference bug, `require 'date'` isn't cheap.
```ruby
require "benchmark/ips"
require "yaml"
require "date"
100.times do |i|
$LOAD_PATH.unshift("/tmp/does/not/exist/#{i}")
end
payload = 100.times.map { Date.today }.to_yaml
Benchmark.ips do |x|
x.report("100 dates") { YAML.unsafe_load(payload) }
end
```
Before:
```
$ ruby /tmp/bench-yaml.rb
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
Warming up --------------------------------------
100 dates 416.000 i/100ms
Calculating -------------------------------------
100 dates 4.309k (± 1.2%) i/s - 21.632k in 5.021003s
```
After:
```
$ ruby -Ilib /tmp/bench-yaml.rb
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
Warming up --------------------------------------
100 dates 601.000 i/100ms
Calculating -------------------------------------
100 dates 5.993k (± 1.8%) i/s - 30.050k in 5.016079s
```
|
|
for dumping
https://github.com/ruby/psych/commit/3d051d89aa
|
|
https://github.com/ruby/psych/commit/93c8fb443a
|
|
https://github.com/ruby/psych/commit/6905a2123c
|
|
https://github.com/ruby/psych/commit/b9e7b4a4a4
|
|
https://github.com/ruby/psych/commit/a9ab74d132
|
|
Object IDs became more expensive in Ruby 2.7. Using `Hash#compare_by_identity` let's us get the same effect, without needing to force all these objects to have object_ids assigned to them.
https://github.com/ruby/psych/commit/df69e4a12e
|
|
Use safe navigation operator with each_char to remove empty strings and improve readability.
https://github.com/ruby/psych/commit/5fe714b216
|
|
https://github.com/ruby/psych/commit/51cc86ff3f
|
|
https://github.com/ruby/psych/commit/f306512d60
|
|
https://github.com/ruby/psych/commit/094c811588
|
|
We should leave additional dependency if we leave from them.
https://github.com/ruby/psych/commit/3d0325a774
|
|
https://github.com/ruby/psych/commit/902c292f26
|
|
This version primarily updates the JRuby extension to use
SnakeYAML Engine, a newer version of the SnakeYAML library, which
also updates YAML support to 1.2. The JRuby extension now also
exposes settings for the parser.
https://github.com/ruby/psych/commit/6f2b16b343
|
|
See jruby/jruby#7570 for some of the justification for this move. We only
require the parser from SnakeYAML, but in the original form it is
encumbered with Java object serialization code that keeps getting
flagged as a CVE risk. We disagree with the assessment, at least
as it pertains to JRuby (we do not use the code in question) but
our inclusion of the library continues to get flagged by auditing
tools.
This commit starts the process of moving to the successor library,
SnakeYAML Engine. The parser API is largely unchanged, except as
seen in this commit. No Java exceptions are thrown, but a number
of Psych tests fail (possibly due to Engine being YAML 1.2 only).
|
|
all symbols
Ref: https://github.com/ruby/psych/pull/495
That's how it works for `safe_load`:
```ruby
>> YAML.safe_load(':foo', permitted_classes: [Symbol])
=> :foo
```
So `safe_dump` should mirror that.
https://github.com/ruby/psych/commit/592a75a656
|
|
https://github.com/ruby/psych/commit/a170b8eb46
|
|
https://github.com/ruby/psych/commit/67ec299c68
|
|
Things declared in anonymous eval are always annoying to locate.
https://github.com/ruby/psych/commit/38871ad4e5
|
|
https://github.com/ruby/psych/commit/bdf20e6042
|
|
https://github.com/ruby/psych/commit/4fed0941b9
|
|
https://github.com/ruby/psych/commit/8a761cdfb7
|
|
This commit just converts some of the parse method to Ruby
https://github.com/ruby/psych/commit/bca7d2c549
|
|
Resolves CVE-2022-25857, among other fixes.
https://github.com/ruby/psych/commit/918cd25d37
|
|
Fix ruby/psych#572
https://github.com/ruby/psych/commit/92304269bc
|
|
https://github.com/ruby/psych/commit/98fbd5247a
|
|
https://github.com/ruby/psych/commit/0c11ddcf46
|
|
https://github.com/ruby/psych/commit/c3b5183f42
|
|
3.1 gem install
https://github.com/ruby/psych/commit/2fa5e190b5
|
|
https://github.com/ruby/psych/commit/8533be8fe7
|
|
Authored-by: Seth Boyles <sethboyles@gmail.com>
https://github.com/ruby/psych/commit/75bebb37b8
|
|
https://github.com/ruby/psych/commit/39e23cc86f
|
|
It does not seem needed, and it's causing issues on Windows when
uninstalling `strscan`, because strscan's shared library being used when
RubyGems tries to remove it (because its loaded through Psych, which
RubyGems uses for loading configuration).
https://github.com/ruby/psych/commit/3911356ec1
|