D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Filename :
page-NEWS_md.ri
back
Copy
U:RDoc::TopLevel[ i I"NEWS.md:ETcRDoc::Parser::Markdowno:RDoc::Markup::Document:@parts[+S:RDoc::Markup::Heading: leveli: textI"NEWS for Ruby 3.4.0;To:RDoc::Markup::Paragraph;[I"mThis document is a list of user-visible feature changes since the *3.3.0* release, except for bug fixes.;To;;[I"FNote that each entry is kept to a minimum, see links for details.;TS; ; i;I"Language changes;To:RDoc::Markup::List: @type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;;[I"y<code>it</code> is added to reference a block parameter. [{Feature #18980}[https://bugs.ruby-lang.org/issues/18980]];To;;0;[o;;[I"�String literals in files without a <code>frozen_string_literal</code> comment now emit a deprecation warning when they are mutated. These warnings can be enabled with <code>-W:deprecated</code> or by setting <code>Warning[:deprecated] = true</code>. To disable this change, you can run Ruby with the <code>--disable-frozen-string-literal</code> command line argument. [{Feature #20205}[https://bugs.ruby-lang.org/issues/20205]];Fo; ;;;[o;;0;[o;;[I"�<code>String#+@</code> now duplicates when mutating the string would emit a deprecation warning, offered as a replacement for the <code>str.dup if str.frozen?</code> pattern.;To;;0;[o;;[I"�Keyword splatting <code>nil</code> when calling methods is now supported. <code>**nil</code> is treated similarly to <code>**{}</code>, passing no keywords, and not calling any conversion methods. [{Bug #20064}[https://bugs.ruby-lang.org/issues/20064]];Fo;;0;[o;;[I"�Block passing is no longer allowed in index assignment (e.g. <code>a[0, &b] = 1</code>). [{Bug #19918}[https://bugs.ruby-lang.org/issues/19918]];Fo;;0;[o;;[I"�Keyword arguments are no longer allowed in index assignment (e.g. <code>a[0, kw: 1] = 2</code>). [{Bug #20218}[https://bugs.ruby-lang.org/issues/20218]];Fo;;0;[o;;[I"�The toplevel name <code>::Ruby</code> is reserved now, and the definition will be warned when <code>Warning[:deprecated]</code>. [{Feature #20884}[https://bugs.ruby-lang.org/issues/20884]];FS; ; i;I"Core classes updates;To;;[I"8Note: We're only listing outstanding class updates.;To; ;;;[o;;0;[o;;[I" Array;Fo; ;;;[o;;0;[o;;[I"k<code>Array#fetch_values</code> was added. [{Feature #20702}[https://bugs.ruby-lang.org/issues/20702]];To;;0;[o;;[I"Exception;Fo; ;;;[o;;0;[o;;[I"<code>Exception#set_backtrace</code> now accepts arrays of <code>Thread::Backtrace::Location</code>. <code>Kernel#raise</code>, <code>Thread#raise</code> and <code>Fiber#raise</code> also accept this new format. [{Feature #13557}[https://bugs.ruby-lang.org/issues/13557]];To;;0;[o;;[I"Fiber::Scheduler;Fo; ;;;[o;;0;[o;;[I" An optional <code>Fiber::Scheduler#blocking_operation_wait</code> hook allows blocking operations to be moved out of the event loop in order to reduce latency and improve multi-core processor utilization. [{Feature #20876}[https://bugs.ruby-lang.org/issues/20876]];Fo;;0;[o;;[I"GC;Fo; ;;;[o;;0;[o;;[I"�<code>GC.config</code> added to allow setting configuration variables on the Garbage Collector. [{Feature #20443}[https://bugs.ruby-lang.org/issues/20443]];To;;0;[o;;[I"�GC configuration parameter <code>rgengc_allow_full_mark</code> introduced. When <code>false</code> GC will only mark young objects. Default is <code>true</code>. [{Feature #20443}[https://bugs.ruby-lang.org/issues/20443]];Fo;;0;[o;;[I" Hash;Fo; ;;;[o;;0;[o;;[I"2<code>Hash.new</code> now accepts an optional <code>capacity:</code> argument, to preallocate the hash with a given capacity. This can improve performance when building large hashes incrementally by saving on reallocation and rehashing of keys. [{Feature #19236}[https://bugs.ruby-lang.org/issues/19236]];To;;0;[o;;[I"IO::Buffer;Fo; ;;;[o;;0;[o;;[I"�<code>IO::Buffer#copy</code> can release the GVL, allowing other threads to run while copying data. [{Feature #20902}[https://bugs.ruby-lang.org/issues/20902]];To;;0;[o;;[I"Integer;Fo; ;;;[o;;0;[o;;[I" <code>Integer#**</code> used to return <code>Float::INFINITY</code> when the return value is large, but now returns an <code>Integer</code>. If the return value is extremely large, it raises an exception. [{Feature #20811}[https://bugs.ruby-lang.org/issues/20811]];To;;0;[o;;[I"MatchData;Fo; ;;;[o;;0;[o;;[I"�<code>MatchData#bytebegin</code> and <code>MatchData#byteend</code> have been added. [{Feature #20576}[https://bugs.ruby-lang.org/issues/20576]];To;;0;[o;;[I"Object;Fo; ;;;[o;;0;[o;;[I"�<code>Object#singleton_method</code> now returns methods in modules prepended to or included in the receiver's singleton class. [{Bug #20620}[https://bugs.ruby-lang.org/issues/20620]];To:RDoc::Markup::Verbatim;[I"Vo = Object.new o.extend(Module.new{def a = 1}) o.singleton_method(:a).call #=> 1 ;F:@format:rbo;;0;[o;;[I"Ractor;Fo; ;;;[ o;;0;[o;;[I"�<code>require</code> in Ractor is allowed. The requiring process will be run on the main Ractor. <code>Ractor._require(feature)</code> is added to run requiring process on the main Ractor. [{Feature #20627}[https://bugs.ruby-lang.org/issues/20627]];To;;0;[o;;[I"d<code>Ractor.main?</code> is added. [{Feature #20627}[https://bugs.ruby-lang.org/issues/20627]];To;;0;[o;;[I"�<code>Ractor.[]</code> and <code>Ractor.[]=</code> are added to access the ractor local storage of the current Ractor. [{Feature #20715}[https://bugs.ruby-lang.org/issues/20715]];To;;0;[o;;[I"�<code>Ractor.store_if_absent(key){ init }</code> is added to initialize ractor local variables in thread-safety. [{Feature #20875}[https://bugs.ruby-lang.org/issues/20875]];To;;0;[o;;[I" Range;Fo; ;;;[o;;0;[o;;[I"�<code>Range#size</code> now raises <code>TypeError</code> if the range is not iterable. [{Misc #18984}[https://bugs.ruby-lang.org/issues/18984]];To;;0;[o;;[I"�<code>Range#step</code> now consistently has a semantics of iterating by using <code>+</code> operator for all types, not only numerics. [{Feature #18368}[https://bugs.ruby-lang.org/issues/18368]];To;;[I"�(Time.utc(2022, 2, 24)..).step(24*60*60).take(3) #=> [2022-02-24 00:00:00 UTC, 2022-02-25 00:00:00 UTC, 2022-02-26 00:00:00 UTC] ;F;: rubyo;;0;[o;;[I" Rational;Fo; ;;;[o;;0;[o;;[I"*<code>Rational#**</code> used to return <code>Float::INFINITY</code> or <code>Float::NAN</code> when the numerator of the return value is large, but now returns an <code>Rational</code>. If it is extremely large, it raises an exception. [{Feature #20811}[https://bugs.ruby-lang.org/issues/20811]];To;;0;[o;;[I"RubyVM::AbstractSyntaxTree;Fo; ;;;[o;;0;[o;;[I"�Add <code>RubyVM::AbstractSyntaxTree::Node#locations</code> method which returns location objects associated with the AST node. [{Feature #20624}[https://bugs.ruby-lang.org/issues/20624]];Fo;;0;[o;;[I"�Add <code>RubyVM::AbstractSyntaxTree::Location</code> class which holds location information. [{Feature #20624}[https://bugs.ruby-lang.org/issues/20624]];Fo;;0;[o;;[I"String;Fo; ;;;[o;;0;[o;;[I"<code>String#append_as_bytes</code> was added to more easily and efficiently work with binary buffers and protocols. It directly concatenate the arguments into the string without any encoding validation or conversion. [{Feature #20594}[https://bugs.ruby-lang.org/issues/20594]];To;;0;[o;;[I"Symbol;Fo; ;;;[o;;0;[o;;[I"BThe string returned by <code>Symbol#to_s</code> now emits a deprecation warning when mutated, and will be frozen in a future version of Ruby. These warnings can be enabled with <code>-W:deprecated</code> or by setting <code>Warning[:deprecated] = true</code>. [{Feature #20350}[https://bugs.ruby-lang.org/issues/20350]];Fo;;0;[o;;[I" Time;Fo; ;;;[o;;0;[o;;[I"�On Windows, now <code>Time#zone</code> encodes the system timezone name in UTF-8 instead of the active code page, if it contains non-ASCII characters. [{Bug #20929}[https://bugs.ruby-lang.org/issues/20929]];Fo;;0;[o;;[I"�<code>Time#xmlschema</code>, and its <code>Time#iso8601</code> alias have been moved into the core Time class while previously it was an extension provided by the <code>time</code> gem. [{Feature #20707}[https://bugs.ruby-lang.org/issues/20707]];To;;0;[o;;[I"Warning;Fo; ;;;[o;;0;[o;;[I"�Add <code>Warning.categories</code> method which returns a list of possible warning categories. [{Feature #20293}[https://bugs.ruby-lang.org/issues/20293]];FS; ; i;I"Stdlib updates;To;;[I"BWe only list stdlib changes that are notable feature changes.;To; ;;;[o;;0;[o;;[I" RubyGems;Fo; ;;;[o;;0;[o;;[I"xAdd <code>--attestation</code> option to gem push. It enabled to store signature of build artifact to sigstore.dev.;Fo;;0;[o;;[I"xAdd <code>--attestation</code> option to gem push. It enabled to store signature of build artifact to sigstore.dev.;Fo;;0;[o;;[I"Bundler;Fo; ;;;[o;;0;[o;;[I"aAdd a <code>lockfile_checksums</code> configuration to include checksums in fresh lockfiles.;Fo;;0;[o;;[I"[Add bundle lock <code>--add-checksums</code> to add checksums to an existing lockfile.;Fo;;0;[o;;[I" JSON;Fo; ;;;[o;;0;[o;;[I"]Performance improvements <code>JSON.parse</code> about 1.5 times faster than json-2.7.x.;Fo;;0;[o;;[I" Tempfile;Fo; ;;;[o;;0;[o;;[I"!The keyword argument <code>anonymous: true</code> is implemented for Tempfile.create. <code>Tempfile.create(anonymous: true)</code> removes the created temporary file immediately. So applications don't need to remove the file. [{Feature #20497}[https://bugs.ruby-lang.org/issues/20497]];Fo;;0;[o;;[I"win32/sspi.rb;Fo; ;;;[o;;0;[o;;[I"�This library is now extracted from the Ruby repository to {ruby/net-http-sspi}[https://github.com/ruby/net-http-sspi]. [{Feature #20775}[https://bugs.ruby-lang.org/issues/20775]];Fo;;0;[o;;[I"Socket;Fo; ;;;[o;;0;[o;;[I"�<code>Socket::ResolutionError</code> and <code>Socket::ResolutionError#error_code</code> was added. [{Feature #20018}[https://bugs.ruby-lang.org/issues/20018]];To;;0;[o;;[I"IRB;Fo; ;;;[o;;0;[o;;[I"�Interactive method completion is now improved with type information by default. [{Feature #20778}[https://bugs.ruby-lang.org/issues/20778]];Fo;;[I"�Other changes are listed in the following sections. we also listed release history from the previous bundled version that is Ruby 3.3.0 if it has GitHub releases.;To;;[I"(The following default gem is added.;To; ;;;[o;;0;[o;;[I"win32-registry 0.1.0;To;;[I",The following default gems are updated.;To; ;;;[3o;;0;[o;;[I";{RubyGems}[https://github.com/rubygems/rubygems] 3.6.2;To; ;;;[o;;0;[o;;[I"?3.5.3 to {v3.5.4}[https://github.com/rubygems/rubygems/releases/tag/v3.5.4], {v3.5.5}[https://github.com/rubygems/rubygems/releases/tag/v3.5.5], {v3.5.6}[https://github.com/rubygems/rubygems/releases/tag/v3.5.6], {v3.5.7}[https://github.com/rubygems/rubygems/releases/tag/v3.5.7], {v3.5.8}[https://github.com/rubygems/rubygems/releases/tag/v3.5.8], {v3.5.9}[https://github.com/rubygems/rubygems/releases/tag/v3.5.9], {v3.5.10}[https://github.com/rubygems/rubygems/releases/tag/v3.5.10], {v3.5.11}[https://github.com/rubygems/rubygems/releases/tag/v3.5.11], {v3.5.12}[https://github.com/rubygems/rubygems/releases/tag/v3.5.12], {v3.5.13}[https://github.com/rubygems/rubygems/releases/tag/v3.5.13], {v3.5.14}[https://github.com/rubygems/rubygems/releases/tag/v3.5.14], {v3.5.15}[https://github.com/rubygems/rubygems/releases/tag/v3.5.15], {v3.5.16}[https://github.com/rubygems/rubygems/releases/tag/v3.5.16], {v3.5.17}[https://github.com/rubygems/rubygems/releases/tag/v3.5.17], {v3.5.18}[https://github.com/rubygems/rubygems/releases/tag/v3.5.18], {v3.5.19}[https://github.com/rubygems/rubygems/releases/tag/v3.5.19], {v3.5.20}[https://github.com/rubygems/rubygems/releases/tag/v3.5.20], {v3.5.21}[https://github.com/rubygems/rubygems/releases/tag/v3.5.21], {v3.5.22}[https://github.com/rubygems/rubygems/releases/tag/v3.5.22], {v3.5.23}[https://github.com/rubygems/rubygems/releases/tag/v3.5.23], {v3.6.0}[https://github.com/rubygems/rubygems/releases/tag/v3.6.0], {v3.6.1}[https://github.com/rubygems/rubygems/releases/tag/v3.6.1], {v3.6.2}[https://github.com/rubygems/rubygems/releases/tag/v3.6.2];To;;0;[o;;[I"9{benchmark}[https://github.com/ruby/benchmark] 0.4.0;To; ;;;[o;;0;[o;;[I"M0.3.0 to {v0.4.0}[https://github.com/ruby/benchmark/releases/tag/v0.4.0];To;;0;[o;;[I":{bundler}[https://github.com/rubygems/rubygems] 2.6.2;To; ;;;[o;;0;[o;;[I"�2.5.3 to {v2.5.4}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.4], {v2.5.5}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.5], {v2.5.6}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.6], {v2.5.7}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.7], {v2.5.8}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.8], {v2.5.9}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.9], {v2.5.10}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.10], {v2.5.11}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.11], {v2.5.12}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.12], {v2.5.13}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.13], {v2.5.14}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.14], {v2.5.15}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.15], {v2.5.16}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.16], {v2.5.17}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.17], {v2.5.18}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.18], {v2.5.19}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.19], {v2.5.20}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.20], {v2.5.21}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.21], {v2.5.22}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.22], {v2.5.23}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.5.23], {v2.6.0}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.6.0], {v2.6.1}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.6.1], {v2.6.2}[https://github.com/rubygems/rubygems/releases/tag/bundler-v2.6.2];To;;0;[o;;[I"/{date}[https://github.com/ruby/date] 3.4.1;To; ;;;[o;;0;[o;;[I"3.3.4 to {v3.4.0}[https://github.com/ruby/date/releases/tag/v3.4.0], {v3.4.1}[https://github.com/ruby/date/releases/tag/v3.4.1];To;;0;[o;;[I"7{delegate}[https://github.com/ruby/delegate] 0.4.0;To; ;;;[o;;0;[o;;[I"L0.3.1 to {v0.4.0}[https://github.com/ruby/delegate/releases/tag/v0.4.0];To;;0;[o;;[I"?{did_you_mean}[https://github.com/ruby/did_you_mean] 2.0.0;To; ;;;[o;;0;[o;;[I"P1.6.3 to {v2.0.0}[https://github.com/ruby/did_you_mean/releases/tag/v2.0.0];To;;0;[o;;[I"3{digest}[https://github.com/ruby/digest] 3.2.0;To; ;;;[o;;0;[o;;[I"�3.1.1 to {v3.2.0.pre0}[https://github.com/ruby/digest/releases/tag/v3.2.0.pre0], {v3.2.0}[https://github.com/ruby/digest/releases/tag/v3.2.0];To;;0;[o;;[I"-{erb}[https://github.com/ruby/erb] 4.0.4;To; ;;;[o;;0;[o;;[I"G4.0.3 to {v4.0.4}[https://github.com/ruby/erb/releases/tag/v4.0.4];To;;0;[o;;[I"E{error_highlight}[https://github.com/ruby/error_highlight] 0.7.0;To; ;;;[o;;0;[o;;[I".0.6.0 to [v0.7.0][error_highlight-v0.7.0];To;;0;[o;;[I"-{etc}[https://github.com/ruby/etc] 1.4.5;To; ;;;[o;;0;[o;;[I"}1.4.3 to {v1.4.4}[https://github.com/ruby/etc/releases/tag/v1.4.4], {v1.4.5}[https://github.com/ruby/etc/releases/tag/v1.4.5];To;;0;[o;;[I"1{fcntl}[https://github.com/ruby/fcntl] 1.2.0;To; ;;;[o;;0;[o;;[I"I1.1.0 to {v1.2.0}[https://github.com/ruby/fcntl/releases/tag/v1.2.0];To;;0;[o;;[I"3{fiddle}[https://github.com/ruby/fiddle] 1.1.6;To; ;;;[o;;0;[o;;[I"�1.1.2 to {v1.1.3}[https://github.com/ruby/fiddle/releases/tag/v1.1.3], {v1.1.4}[https://github.com/ruby/fiddle/releases/tag/v1.1.4], {v1.1.5}[https://github.com/ruby/fiddle/releases/tag/v1.1.5], {v1.1.6}[https://github.com/ruby/fiddle/releases/tag/v1.1.6];To;;0;[o;;[I"9{fileutils}[https://github.com/ruby/fileutils] 1.7.3;To; ;;;[o;;0;[o;;[I"M1.7.2 to {v1.7.3}[https://github.com/ruby/fileutils/releases/tag/v1.7.3];To;;0;[o;;[I";{io-console}[https://github.com/ruby/io-console] 0.8.0;To; ;;;[o;;0;[o;;[I"�0.7.1 to {v0.7.2}[https://github.com/ruby/io-console/releases/tag/v0.7.2], {v0.8.0.beta1}[https://github.com/ruby/io-console/releases/tag/v0.8.0.beta1], {v0.8.0}[https://github.com/ruby/io-console/releases/tag/v0.8.0];To;;0;[o;;[I"={io-nonblock}[https://github.com/ruby/io-nonblock] 0.3.1;To; ;;;[o;;0;[o;;[I"O0.3.0 to {v0.3.1}[https://github.com/ruby/io-nonblock/releases/tag/v0.3.1];To;;0;[o;;[I"3{ipaddr}[https://github.com/ruby/ipaddr] 1.2.7;To; ;;;[o;;0;[o;;[I"J1.2.6 to {v1.2.7}[https://github.com/ruby/ipaddr/releases/tag/v1.2.7];To;;0;[o;;[I".{irb}[https://github.com/ruby/irb] 1.14.3;To; ;;;[o;;0;[o;;[I"j1.11.0 to {v1.11.1}[https://github.com/ruby/irb/releases/tag/v1.11.1], {v1.11.2}[https://github.com/ruby/irb/releases/tag/v1.11.2], {v1.12.0}[https://github.com/ruby/irb/releases/tag/v1.12.0], {v1.13.0}[https://github.com/ruby/irb/releases/tag/v1.13.0], {v1.13.1}[https://github.com/ruby/irb/releases/tag/v1.13.1], {v1.13.2}[https://github.com/ruby/irb/releases/tag/v1.13.2], {v1.14.0}[https://github.com/ruby/irb/releases/tag/v1.14.0], {v1.14.1}[https://github.com/ruby/irb/releases/tag/v1.14.1], {v1.14.2}[https://github.com/ruby/irb/releases/tag/v1.14.2], {v1.14.3}[https://github.com/ruby/irb/releases/tag/v1.14.3];To;;0;[o;;[I"/{json}[https://github.com/ruby/json] 2.9.1;To; ;;;[o;;0;[o;;[I"�2.7.1 to {v2.7.2}[https://github.com/ruby/json/releases/tag/v2.7.2], {v2.7.3.rc1}[https://github.com/ruby/json/releases/tag/v2.7.3.rc1], {v2.7.3}[https://github.com/ruby/json/releases/tag/v2.7.3], {v2.7.4}[https://github.com/ruby/json/releases/tag/v2.7.4], {v2.7.5}[https://github.com/ruby/json/releases/tag/v2.7.5], {v2.7.6}[https://github.com/ruby/json/releases/tag/v2.7.6], {v2.8.0}[https://github.com/ruby/json/releases/tag/v2.8.0], {v2.8.1}[https://github.com/ruby/json/releases/tag/v2.8.1], {v2.8.2}[https://github.com/ruby/json/releases/tag/v2.8.2], {v2.9.0}[https://github.com/ruby/json/releases/tag/v2.9.0], {v2.9.1}[https://github.com/ruby/json/releases/tag/v2.9.1];To;;0;[o;;[I"3{logger}[https://github.com/ruby/logger] 1.6.4;To; ;;;[o;;0;[o;;[I"�1.6.0 to {v1.6.1}[https://github.com/ruby/logger/releases/tag/v1.6.1], {v1.6.2}[https://github.com/ruby/logger/releases/tag/v1.6.2], {v1.6.3}[https://github.com/ruby/logger/releases/tag/v1.6.3], {v1.6.4}[https://github.com/ruby/logger/releases/tag/v1.6.4];To;;0;[o;;[I"7{net-http}[https://github.com/ruby/net-http] 0.6.0;To; ;;;[o;;0;[o;;[I"�0.4.0 to {v0.4.1}[https://github.com/ruby/net-http/releases/tag/v0.4.1], {v0.5.0}[https://github.com/ruby/net-http/releases/tag/v0.5.0], {v0.6.0}[https://github.com/ruby/net-http/releases/tag/v0.6.0];To;;0;[o;;[I"7{open-uri}[https://github.com/ruby/open-uri] 0.5.0;To; ;;;[o;;0;[o;;[I"L0.4.1 to {v0.5.0}[https://github.com/ruby/open-uri/releases/tag/v0.5.0];To;;0;[o;;[I"7{optparse}[https://github.com/ruby/optparse] 0.6.0;To; ;;;[o;;0;[o;;[I"�0.4.0 to {v0.5.0}[https://github.com/ruby/optparse/releases/tag/v0.5.0], {v0.6.0}[https://github.com/ruby/optparse/releases/tag/v0.6.0];To;;0;[o;;[I"5{ostruct}[https://github.com/ruby/ostruct] 0.6.1;To; ;;;[o;;0;[o;;[I"K0.6.0 to {v0.6.1}[https://github.com/ruby/ostruct/releases/tag/v0.6.1];To;;0;[o;;[I"7{pathname}[https://github.com/ruby/pathname] 0.4.0;To; ;;;[o;;0;[o;;[I"L0.3.0 to {v0.4.0}[https://github.com/ruby/pathname/releases/tag/v0.4.0];To;;0;[o;;[I"+{pp}[https://github.com/ruby/pp] 0.6.2;To; ;;;[o;;0;[o;;[I"�0.5.0 to {v0.6.0}[https://github.com/ruby/pp/releases/tag/v0.6.0], {v0.6.1}[https://github.com/ruby/pp/releases/tag/v0.6.1], {v0.6.2}[https://github.com/ruby/pp/releases/tag/v0.6.2];To;;0;[o;;[I"1{prism}[https://github.com/ruby/prism] 1.2.0;To; ;;;[o;;0;[o;;[I"t0.19.0 to {v0.20.0}[https://github.com/ruby/prism/releases/tag/v0.20.0], {v0.21.0}[https://github.com/ruby/prism/releases/tag/v0.21.0], {v0.22.0}[https://github.com/ruby/prism/releases/tag/v0.22.0], {v0.23.0}[https://github.com/ruby/prism/releases/tag/v0.23.0], {v0.24.0}[https://github.com/ruby/prism/releases/tag/v0.24.0], {v0.25.0}[https://github.com/ruby/prism/releases/tag/v0.25.0], {v0.26.0}[https://github.com/ruby/prism/releases/tag/v0.26.0], {v0.27.0}[https://github.com/ruby/prism/releases/tag/v0.27.0], {v0.28.0}[https://github.com/ruby/prism/releases/tag/v0.28.0], {v0.29.0}[https://github.com/ruby/prism/releases/tag/v0.29.0], {v0.30.0}[https://github.com/ruby/prism/releases/tag/v0.30.0], {v1.0.0}[https://github.com/ruby/prism/releases/tag/v1.0.0], {v1.1.0}[https://github.com/ruby/prism/releases/tag/v1.1.0], {v1.2.0}[https://github.com/ruby/prism/releases/tag/v1.2.0];To;;0;[o;;[I"3{pstore}[https://github.com/ruby/pstore] 0.1.4;To; ;;;[o;;0;[o;;[I"J0.1.3 to {v0.1.4}[https://github.com/ruby/pstore/releases/tag/v0.1.4];To;;0;[o;;[I"1{psych}[https://github.com/ruby/psych] 5.2.2;To; ;;;[o;;0;[o;;[I"�5.1.2 to {v5.2.0.beta1}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta1], {v5.2.0.beta2}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta2], {v5.2.0.beta3}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta3], {v5.2.0.beta4}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta4], {v5.2.0.beta5}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta5], {v5.2.0.beta6}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta6], {v5.2.0.beta7}[https://github.com/ruby/psych/releases/tag/v5.2.0.beta7], {v5.2.0}[https://github.com/ruby/psych/releases/tag/v5.2.0], {v5.2.1}[https://github.com/ruby/psych/releases/tag/v5.2.1], {v5.2.2}[https://github.com/ruby/psych/releases/tag/v5.2.2];To;;0;[o;;[I"0{rdoc}[https://github.com/ruby/rdoc] 6.10.0;To; ;;;[o;;0;[o;;[I"q6.6.2 to {v6.7.0}[https://github.com/ruby/rdoc/releases/tag/v6.7.0], {v6.8.0}[https://github.com/ruby/rdoc/releases/tag/v6.8.0], {v6.8.1}[https://github.com/ruby/rdoc/releases/tag/v6.8.1], {v6.9.0}[https://github.com/ruby/rdoc/releases/tag/v6.9.0], {v6.9.1}[https://github.com/ruby/rdoc/releases/tag/v6.9.1], {v6.10.0}[https://github.com/ruby/rdoc/releases/tag/v6.10.0];To;;0;[o;;[I"3{reline}[https://github.com/ruby/reline] 0.6.0;To; ;;;[o;;0;[o;;[I"70.4.1 to {v0.4.2}[https://github.com/ruby/reline/releases/tag/v0.4.2], {v0.4.3}[https://github.com/ruby/reline/releases/tag/v0.4.3], {v0.5.0.pre.1}[https://github.com/ruby/reline/releases/tag/v0.5.0.pre.1], {v0.5.0}[https://github.com/ruby/reline/releases/tag/v0.5.0], {v0.5.1}[https://github.com/ruby/reline/releases/tag/v0.5.1], {v0.5.2}[https://github.com/ruby/reline/releases/tag/v0.5.2], {v0.5.3}[https://github.com/ruby/reline/releases/tag/v0.5.3], {v0.5.4}[https://github.com/ruby/reline/releases/tag/v0.5.4], {v0.5.5}[https://github.com/ruby/reline/releases/tag/v0.5.5], {v0.5.6}[https://github.com/ruby/reline/releases/tag/v0.5.6], {v0.5.7}[https://github.com/ruby/reline/releases/tag/v0.5.7], {v0.5.8}[https://github.com/ruby/reline/releases/tag/v0.5.8], {v0.5.9}[https://github.com/ruby/reline/releases/tag/v0.5.9], {v0.5.10}[https://github.com/ruby/reline/releases/tag/v0.5.10], {v0.5.11}[https://github.com/ruby/reline/releases/tag/v0.5.11], {v0.5.12}[https://github.com/ruby/reline/releases/tag/v0.5.12], {v0.6.0}[https://github.com/ruby/reline/releases/tag/v0.6.0];To;;0;[o;;[I"3{resolv}[https://github.com/ruby/resolv] 0.6.0;To; ;;;[o;;0;[o;;[I"�0.3.0 to {v0.4.0}[https://github.com/ruby/resolv/releases/tag/v0.4.0], {v0.5.0}[https://github.com/ruby/resolv/releases/tag/v0.5.0], {v0.6.0}[https://github.com/ruby/resolv/releases/tag/v0.6.0];To;;0;[o;;[I"?{securerandom}[https://github.com/ruby/securerandom] 0.4.1;To; ;;;[o;;0;[o;;[I"�0.3.1 to {v0.3.2}[https://github.com/ruby/securerandom/releases/tag/v0.3.2], {v0.4.0}[https://github.com/ruby/securerandom/releases/tag/v0.4.0], {v0.4.1}[https://github.com/ruby/securerandom/releases/tag/v0.4.1];To;;0;[o;;[I"-{set}[https://github.com/ruby/set] 1.1.1;To; ;;;[o;;0;[o;;[I"G1.1.0 to {v1.1.1}[https://github.com/ruby/set/releases/tag/v1.1.1];To;;0;[o;;[I";{shellwords}[https://github.com/ruby/shellwords] 0.2.2;To; ;;;[o;;0;[o;;[I"�0.2.0 to {v0.2.1}[https://github.com/ruby/shellwords/releases/tag/v0.2.1], {v0.2.2}[https://github.com/ruby/shellwords/releases/tag/v0.2.2];To;;0;[o;;[I"9{singleton}[https://github.com/ruby/singleton] 0.3.0;To; ;;;[o;;0;[o;;[I"M0.2.0 to {v0.3.0}[https://github.com/ruby/singleton/releases/tag/v0.3.0];To;;0;[o;;[I"7{stringio}[https://github.com/ruby/stringio] 3.1.2;To; ;;;[o;;0;[o;;[I"�3.1.0 to {v3.1.1}[https://github.com/ruby/stringio/releases/tag/v3.1.1], {v3.1.2}[https://github.com/ruby/stringio/releases/tag/v3.1.2];To;;0;[o;;[I"5{strscan}[https://github.com/ruby/strscan] 3.1.2;To; ;;;[o;;0;[o;;[I"B3.0.7 to {v3.0.8}[https://github.com/ruby/strscan/releases/tag/v3.0.8], {v3.0.9}[https://github.com/ruby/strscan/releases/tag/v3.0.9], {v3.1.0}[https://github.com/ruby/strscan/releases/tag/v3.1.0], {v3.1.1}[https://github.com/ruby/strscan/releases/tag/v3.1.1], {v3.1.2}[https://github.com/ruby/strscan/releases/tag/v3.1.2];To;;0;[o;;[I"C{syntax_suggest}[https://github.com/ruby/syntax_suggest] 2.0.2;To; ;;;[o;;0;[o;;[I"�2.0.0 to {v2.0.1}[https://github.com/ruby/syntax_suggest/releases/tag/v2.0.1], {v2.0.2}[https://github.com/ruby/syntax_suggest/releases/tag/v2.0.2];To;;0;[o;;[I"7{tempfile}[https://github.com/ruby/tempfile] 0.3.1;To; ;;;[o;;0;[o;;[I"�0.2.1 to {v0.3.0}[https://github.com/ruby/tempfile/releases/tag/v0.3.0], {v0.3.1}[https://github.com/ruby/tempfile/releases/tag/v0.3.1];To;;0;[o;;[I"/{time}[https://github.com/ruby/time] 0.4.1;To; ;;;[o;;0;[o;;[I"0.3.0 to {v0.4.0}[https://github.com/ruby/time/releases/tag/v0.4.0], {v0.4.1}[https://github.com/ruby/time/releases/tag/v0.4.1];To;;0;[o;;[I"5{timeout}[https://github.com/ruby/timeout] 0.4.3;To; ;;;[o;;0;[o;;[I"�0.4.1 to {v0.4.2}[https://github.com/ruby/timeout/releases/tag/v0.4.2], {v0.4.3}[https://github.com/ruby/timeout/releases/tag/v0.4.3];To;;0;[o;;[I"3{tmpdir}[https://github.com/ruby/tmpdir] 0.3.1;To; ;;;[o;;0;[o;;[I"�0.2.0 to {v0.3.0}[https://github.com/ruby/tmpdir/releases/tag/v0.3.0], {v0.3.1}[https://github.com/ruby/tmpdir/releases/tag/v0.3.1];To;;0;[o;;[I"-{uri}[https://github.com/ruby/uri] 1.0.2;To; ;;;[o;;0;[o;;[I"�0.13.0 to {v0.13.1}[https://github.com/ruby/uri/releases/tag/v0.13.1], {v1.0.0}[https://github.com/ruby/uri/releases/tag/v1.0.0], {v1.0.1}[https://github.com/ruby/uri/releases/tag/v1.0.1], {v1.0.2}[https://github.com/ruby/uri/releases/tag/v1.0.2];To;;0;[o;;[I"7{win32ole}[https://github.com/ruby/win32ole] 1.9.1;To; ;;;[o;;0;[o;;[I"�1.8.10 to {v1.9.0}[https://github.com/ruby/win32ole/releases/tag/v1.9.0], {v1.9.1}[https://github.com/ruby/win32ole/releases/tag/v1.9.1];To;;0;[o;;[I"/{yaml}[https://github.com/ruby/yaml] 0.4.0;To; ;;;[o;;0;[o;;[I"H0.3.0 to {v0.4.0}[https://github.com/ruby/yaml/releases/tag/v0.4.0];To;;0;[o;;[I"/{zlib}[https://github.com/ruby/zlib] 3.2.1;To; ;;;[o;;0;[o;;[I"�3.1.0 to {v3.1.1}[https://github.com/ruby/zlib/releases/tag/v3.1.1], {v3.2.0}[https://github.com/ruby/zlib/releases/tag/v3.2.0], {v3.2.1}[https://github.com/ruby/zlib/releases/tag/v3.2.1];To;;[I"(The following bundled gem is added.;To; ;;;[o;;0;[o;;[I"M{repl_type_completor}[https://github.com/ruby/repl_type_completor] 0.1.9;To;;[I",The following bundled gems are updated.;To; ;;;[o;;0;[o;;[I"={minitest}[https://github.com/seattlerb/minitest] 5.25.4;To; ;;;[o;;0;[o;;[I"T5.20.0 to {v5.25.4}[https://github.com/seattlerb/minitest/releases/tag/v5.25.4];To;;0;[o;;[I"?{power_assert}[https://github.com/ruby/power_assert] 2.0.5;To; ;;;[o;;0;[o;;[I"�2.0.3 to {v2.0.4}[https://github.com/ruby/power_assert/releases/tag/v2.0.4], {v2.0.5}[https://github.com/ruby/power_assert/releases/tag/v2.0.5];To;;0;[o;;[I"0{rake}[https://github.com/ruby/rake] 13.2.1;To; ;;;[o;;0;[o;;[I"�13.1.0 to {v13.2.0}[https://github.com/ruby/rake/releases/tag/v13.2.0], {v13.2.1}[https://github.com/ruby/rake/releases/tag/v13.2.1];To;;0;[o;;[I">{test-unit}[https://github.com/test-unit/test-unit] 3.6.7;To; ;;;[o;;0;[o;;[I"�3.6.1 to {3.6.2}[https://github.com/test-unit/test-unit/releases/tag/3.6.2], {3.6.3}[https://github.com/test-unit/test-unit/releases/tag/3.6.3], {3.6.4}[https://github.com/test-unit/test-unit/releases/tag/3.6.4], {3.6.5}[https://github.com/test-unit/test-unit/releases/tag/3.6.5], {3.6.6}[https://github.com/test-unit/test-unit/releases/tag/3.6.6], {3.6.7}[https://github.com/test-unit/test-unit/releases/tag/3.6.7];To;;0;[o;;[I"1{rexml}[https://github.com/ruby/rexml] 3.4.0;To; ;;;[o;;0;[o;;[I"]3.2.6 to {v3.2.7}[https://github.com/ruby/rexml/releases/tag/v3.2.7], {v3.2.8}[https://github.com/ruby/rexml/releases/tag/v3.2.8], {v3.2.9}[https://github.com/ruby/rexml/releases/tag/v3.2.9], {v3.3.0}[https://github.com/ruby/rexml/releases/tag/v3.3.0], {v3.3.1}[https://github.com/ruby/rexml/releases/tag/v3.3.1], {v3.3.2}[https://github.com/ruby/rexml/releases/tag/v3.3.2], {v3.3.3}[https://github.com/ruby/rexml/releases/tag/v3.3.3], {v3.3.4}[https://github.com/ruby/rexml/releases/tag/v3.3.4], {v3.3.5}[https://github.com/ruby/rexml/releases/tag/v3.3.5], {v3.3.6}[https://github.com/ruby/rexml/releases/tag/v3.3.6], {v3.3.7}[https://github.com/ruby/rexml/releases/tag/v3.3.7], {v3.3.8}[https://github.com/ruby/rexml/releases/tag/v3.3.8], {v3.3.9}[https://github.com/ruby/rexml/releases/tag/v3.3.9], {v3.4.0}[https://github.com/ruby/rexml/releases/tag/v3.4.0];To;;0;[o;;[I"-{rss}[https://github.com/ruby/rss] 0.3.1;To; ;;;[o;;0;[o;;[I"E0.3.0 to {0.3.1}[https://github.com/ruby/rss/releases/tag/0.3.1];To;;0;[o;;[I"5{net-ftp}[https://github.com/ruby/net-ftp] 0.3.8;To; ;;;[o;;0;[o;;[I"B0.3.3 to {v0.3.4}[https://github.com/ruby/net-ftp/releases/tag/v0.3.4], {v0.3.5}[https://github.com/ruby/net-ftp/releases/tag/v0.3.5], {v0.3.6}[https://github.com/ruby/net-ftp/releases/tag/v0.3.6], {v0.3.7}[https://github.com/ruby/net-ftp/releases/tag/v0.3.7], {v0.3.8}[https://github.com/ruby/net-ftp/releases/tag/v0.3.8];To;;0;[o;;[I"7{net-imap}[https://github.com/ruby/net-imap] 0.5.4;To; ;;;[o;;0;[o;;[I"�0.4.9 to {v0.4.9.1}[https://github.com/ruby/net-imap/releases/tag/v0.4.9.1], {v0.4.10}[https://github.com/ruby/net-imap/releases/tag/v0.4.10], {v0.4.11}[https://github.com/ruby/net-imap/releases/tag/v0.4.11], {v0.4.12}[https://github.com/ruby/net-imap/releases/tag/v0.4.12], {v0.4.13}[https://github.com/ruby/net-imap/releases/tag/v0.4.13], {v0.4.14}[https://github.com/ruby/net-imap/releases/tag/v0.4.14], {v0.4.15}[https://github.com/ruby/net-imap/releases/tag/v0.4.15], {v0.4.16}[https://github.com/ruby/net-imap/releases/tag/v0.4.16], {v0.4.17}[https://github.com/ruby/net-imap/releases/tag/v0.4.17], {v0.5.0}[https://github.com/ruby/net-imap/releases/tag/v0.5.0], {v0.4.18}[https://github.com/ruby/net-imap/releases/tag/v0.4.18], {v0.5.1}[https://github.com/ruby/net-imap/releases/tag/v0.5.1], {v0.5.2}[https://github.com/ruby/net-imap/releases/tag/v0.5.2], {v0.5.3}[https://github.com/ruby/net-imap/releases/tag/v0.5.3], {v0.5.4}[https://github.com/ruby/net-imap/releases/tag/v0.5.4];To;;0;[o;;[I"7{net-smtp}[https://github.com/ruby/net-smtp] 0.5.0;To; ;;;[o;;0;[o;;[I"�0.4.0 to {v0.4.0.1}[https://github.com/ruby/net-smtp/releases/tag/v0.4.0.1], {v0.5.0}[https://github.com/ruby/net-smtp/releases/tag/v0.5.0];To;;0;[o;;[I"1{prime}[https://github.com/ruby/prime] 0.1.3;To; ;;;[o;;0;[o;;[I"I0.1.2 to {v0.1.3}[https://github.com/ruby/prime/releases/tag/v0.1.3];To;;0;[o;;[I"-{rbs}[https://github.com/ruby/rbs] 3.8.0;To; ;;;[o;;0;[o;;[I"I3.4.0 to {v3.4.1}[https://github.com/ruby/rbs/releases/tag/v3.4.1], {v3.4.2}[https://github.com/ruby/rbs/releases/tag/v3.4.2], {v3.4.3}[https://github.com/ruby/rbs/releases/tag/v3.4.3], {v3.4.4}[https://github.com/ruby/rbs/releases/tag/v3.4.4], {v3.5.0.pre.1}[https://github.com/ruby/rbs/releases/tag/v3.5.0.pre.1], {v3.5.0.pre.2}[https://github.com/ruby/rbs/releases/tag/v3.5.0.pre.2], {v3.5.0}[https://github.com/ruby/rbs/releases/tag/v3.5.0], {v3.5.1}[https://github.com/ruby/rbs/releases/tag/v3.5.1], {v3.5.2}[https://github.com/ruby/rbs/releases/tag/v3.5.2], {v3.5.3}[https://github.com/ruby/rbs/releases/tag/v3.5.3], {v3.6.0.dev.1}[https://github.com/ruby/rbs/releases/tag/v3.6.0.dev.1], {v3.6.0.pre.1}[https://github.com/ruby/rbs/releases/tag/v3.6.0.pre.1], {v3.6.0.pre.2}[https://github.com/ruby/rbs/releases/tag/v3.6.0.pre.2], {v3.6.0.pre.3}[https://github.com/ruby/rbs/releases/tag/v3.6.0.pre.3], {v3.6.0}[https://github.com/ruby/rbs/releases/tag/v3.6.0], {v3.6.1}[https://github.com/ruby/rbs/releases/tag/v3.6.1], {v3.7.0.dev.1}[https://github.com/ruby/rbs/releases/tag/v3.7.0.dev.1], {v3.7.0.pre.1}[https://github.com/ruby/rbs/releases/tag/v3.7.0.pre.1], {v3.7.0}[https://github.com/ruby/rbs/releases/tag/v3.7.0], {v3.8.0.pre.1}[https://github.com/ruby/rbs/releases/tag/v3.8.0.pre.1] {v3.8.0}[https://github.com/ruby/rbs/releases/tag/v3.8.0];To;;0;[o;;[I"8{typeprof}[https://github.com/ruby/typeprof] 0.30.1;To; ;;;[o;;0;[o;;[I"O0.21.9 to {v0.30.1}[https://github.com/ruby/typeprof/releases/tag/v0.30.1];To;;0;[o;;[I"2{debug}[https://github.com/ruby/debug] 1.10.0;To; ;;;[o;;0;[o;;[I"�1.9.1 to {v1.9.2}[https://github.com/ruby/debug/releases/tag/v1.9.2], {v1.10.0}[https://github.com/ruby/debug/releases/tag/v1.10.0];To;;0;[o;;[I"/{racc}[https://github.com/ruby/racc] 1.8.1;To; ;;;[o;;0;[o;;[I"1.7.3 to {v1.8.0}[https://github.com/ruby/racc/releases/tag/v1.8.0], {v1.8.1}[https://github.com/ruby/racc/releases/tag/v1.8.1];To;;[I"?The following bundled gems are promoted from default gems.;To; ;;;[o;;0;[o;;[I"5{mutex_m}[https://github.com/ruby/mutex_m] 0.3.0;To; ;;;[o;;0;[o;;[I"K0.2.0 to {v0.3.0}[https://github.com/ruby/mutex_m/releases/tag/v0.3.0];To;;0;[o;;[I";{getoptlong}[https://github.com/ruby/getoptlong] 0.2.1;To;;0;[o;;[I"3{base64}[https://github.com/ruby/base64] 0.2.0;To;;0;[o;;[I";{bigdecimal}[https://github.com/ruby/bigdecimal] 3.1.8;To; ;;;[o;;0;[o;;[I"�3.1.5 to {v3.1.6}[https://github.com/ruby/bigdecimal/releases/tag/v3.1.6], {v3.1.7}[https://github.com/ruby/bigdecimal/releases/tag/v3.1.7], {v3.1.8}[https://github.com/ruby/bigdecimal/releases/tag/v3.1.8];To;;0;[o;;[I"7{observer}[https://github.com/ruby/observer] 0.1.2;To;;0;[o;;[I"3{abbrev}[https://github.com/ruby/abbrev] 0.1.2;To;;0;[o;;[I"C{resolv-replace}[https://github.com/ruby/resolv-replace] 0.1.1;To;;0;[o;;[I"1{rinda}[https://github.com/ruby/rinda] 0.2.0;To;;0;[o;;[I"-{drb}[https://github.com/ruby/drb] 2.2.1;To; ;;;[o;;0;[o;;[I"G2.2.0 to {v2.2.1}[https://github.com/ruby/drb/releases/tag/v2.2.1];To;;0;[o;;[I"-{nkf}[https://github.com/ruby/nkf] 0.2.0;To; ;;;[o;;0;[o;;[I"G0.1.3 to {v0.2.0}[https://github.com/ruby/nkf/releases/tag/v0.2.0];To;;0;[o;;[I"3{syslog}[https://github.com/ruby/syslog] 0.2.0;To; ;;;[o;;0;[o;;[I"J0.1.2 to {v0.2.0}[https://github.com/ruby/syslog/releases/tag/v0.2.0];To;;0;[o;;[I"-{csv}[https://github.com/ruby/csv] 3.3.2;To; ;;;[o;;0;[o;;[I"�3.2.8 to {v3.2.9}[https://github.com/ruby/csv/releases/tag/v3.2.9], {v3.3.0}[https://github.com/ruby/csv/releases/tag/v3.3.0], {v3.3.1}[https://github.com/ruby/csv/releases/tag/v3.3.1], {v3.3.2}[https://github.com/ruby/csv/releases/tag/v3.3.2];TS; ; i;I"Supported platforms;TS; ; i;I"Compatibility issues;To; ;;;[ o;;0;[o;;[I"=Error messages and backtrace displays have been changed.;To; ;;;[ o;;0;[o;;[I"~Use a single quote instead of a backtick as an opening quote. [{Feature #16495}[https://bugs.ruby-lang.org/issues/16495]];Fo;;0;[o;;[I"�Display a class name before a method name (only when the class has a permanent name). [{Feature #19117}[https://bugs.ruby-lang.org/issues/19117]];Fo;;0;[o;;[I"�Extra <code>rescue</code>/<code>ensure</code> frames are no longer available on the backtrace. [{Feature #20275}[https://bugs.ruby-lang.org/issues/20275]];Fo;;0;[ o;;[I"y<code>Kernel#caller</code>, <code>Thread::Backtrace::Location</code>’s methods, etc. are also changed accordingly.;To;;[I" Old:;To;;[I"otest.rb:1:in `foo': undefined method `time' for an instance of Integer from test.rb:2:in `<main>' ;T;0o;;[I" New:;To;;[I"vtest.rb:1:in 'Object#foo': undefined method 'time' for an instance of Integer from test.rb:2:in '<main>' ;T;0o;;0;[o;;[I"s<code>Hash#inspect</code> rendering have been changed. [{Bug #20433}[https://bugs.ruby-lang.org/issues/20433]];To; ;;;[o;;0;[o;;[I"[Symbol keys are displayed using the modern symbol key syntax: <code>"{user: 1}"</code>;Fo;;0;[o;;[I"�Other keys now have spaces around <code>=></code>: <code>'{"user" => 1}'</code>, while previously they didn't: <code>'{"user"=>1}'</code>;Fo;;0;[o;;[I"�<code>Kernel#Float()</code> now accepts a decimal string with decimal part omitted. [{Feature #20705}[https://bugs.ruby-lang.org/issues/20705]];To;;[I"�Float("1.") #=> 1.0 (previously, an ArgumentError was raised) Float("1.E-1") #=> 0.1 (previously, an ArgumentError was raised) ;F;;o;;0;[o;;[I"�<code>String#to_f</code> now accepts a decimal string with decimal part omitted. [{Feature #20705}[https://bugs.ruby-lang.org/issues/20705]] Note that the result changes when an exponent is specified.;To;;[I"N"1.".to_f #=> 1.0 "1.E-1".to_f #=> 0.1 (previously, 1.0 was returned) ;F;;o;;0;[o;;[I"x<code>Refinement#refined_class</code> has been removed. [{Feature #19714}[https://bugs.ruby-lang.org/issues/19714]];TS; ; i;I" Stdlib compatibility issues;To; ;;;[ o;;0;[o;;[I"DidYouMean;Fo; ;;;[o;;0;[o;;[I"o<code>DidYouMean::SPELL_CHECKERS[]=</code> and <code>DidYouMean::SPELL_CHECKERS.merge!</code> are removed.;To;;0;[o;;[I"Net::HTTP;Fo; ;;;[o;;0;[o;;[I"0Removed the following deprecated constants:;Fo; ;;;[o;;0;[o;;[I"%<code>Net::HTTP::ProxyMod</code>;To;;0;[o;;[I".<code>Net::NetPrivate::HTTPRequest</code>;To;;0;[o;;[I"*<code>Net::HTTPInformationCode</code>;To;;0;[o;;[I"&<code>Net::HTTPSuccessCode</code>;To;;0;[o;;[I"*<code>Net::HTTPRedirectionCode</code>;To;;0;[o;;[I"(<code>Net::HTTPRetriableCode</code>;To;;0;[o;;[I"*<code>Net::HTTPClientErrorCode</code>;To;;0;[o;;[I")<code>Net::HTTPFatalErrorCode</code>;To;;0;[o;;[I"*<code>Net::HTTPServerErrorCode</code>;To;;0;[o;;[I"+<code>Net::HTTPResponseReceiver</code>;To;;0;[o;;[I"+<code>Net::HTTPResponceReceiver</code>;To;;[I"0 These constants were deprecated from 2012.;To;;0;[o;;[I"Timeout;Fo; ;;;[o;;0;[o;;[I"uReject negative values for <code>Timeout.timeout</code>. [{Bug #20795}[https://bugs.ruby-lang.org/issues/20795]];Fo;;0;[o;;[I"URI;Fo; ;;;[o;;0;[o;;[I"Switched default parser to RFC 3986 compliant from RFC 2396 compliant. [{Bug #19266}[https://bugs.ruby-lang.org/issues/19266]];FS; ; i;I"C API updates;To; ;;;[o;;0;[o;;[I"�<code>rb_newobj</code> and <code>rb_newobj_of</code> (and corresponding macros <code>RB_NEWOBJ</code>, <code>RB_NEWOBJ_OF</code>, <code>NEWOBJ</code>, <code>NEWOBJ_OF</code>) have been removed. [{Feature #20265}[https://bugs.ruby-lang.org/issues/20265]];To;;0;[o;;[I"~Removed deprecated function <code>rb_gc_force_recycle</code>. [{Feature #18290}[https://bugs.ruby-lang.org/issues/18290]];TS; ; i;I" Implementation improvements;To; ;;;[ o;;0;[o;;[I"�The default parser is now Prism. To use the conventional parser, use the command-line argument <code>--parser=parse.y</code>. [{Feature #20564}[https://bugs.ruby-lang.org/issues/20564]];Fo;;0;[o;;[I"CHappy Eyeballs version 2 (RFC8305), an algorithm that ensures faster and more reliable connections by attempting IPv6 and IPv4 concurrently, is used in <code>Socket.tcp</code> and <code>TCPSocket.new</code>. To disable it globally, set the environment variable <code>RUBY_TCP_NO_FAST_FALLBACK=1</code> or call <code>Socket.tcp_fast_fallback=false</code>. Or to disable it on a per-method basis, use the keyword argument <code>fast_fallback: false</code>. [{Feature #20108}[https://bugs.ruby-lang.org/issues/20108]] [{Feature #20782}[https://bugs.ruby-lang.org/issues/20782]];Fo;;0;[o;;[I"xAlternative garbage collector (GC) implementations can be loaded dynamically through the modular garbage collector feature. To enable this feature, configure Ruby with <code>--with-modular-gc</code> at build time. GC libraries can be loaded at runtime using the environment variable <code>RUBY_GC_LIBRARY</code>. [{Feature #20351}[https://bugs.ruby-lang.org/issues/20351]];Fo;;0;[o;;[I"�Ruby's built-in garbage collector has been split into a separate file at <code>gc/default/default.c</code> and interacts with Ruby using an API defined in <code>gc/gc_impl.h</code>. The built-in garbage collector can now also be built as a library using <code>make modular-gc MODULAR_GC=default</code> and enabled using the environment variable <code>RUBY_GC_LIBRARY=default</code>. [{Feature #20470}[https://bugs.ruby-lang.org/issues/20470]];Fo;;0;[o;;[I"aAn experimental GC library is provided based on {MMTk}[https://www.mmtk.io/]. This GC library can be built using <code>make modular-gc MODULAR_GC=mmtk</code> and enabled using the environment variable <code>RUBY_GC_LIBRARY=mmtk</code>. This requires the Rust toolchain on the build machine. [{Feature #20860}[https://bugs.ruby-lang.org/issues/20860]];FS; ; i;I" YJIT;TS; ; i ;I"New features;To; ;;;[o;;0;[o;;[I"Command-line options;To; ;;;[ o;;0;[o;;[I"�<code>--yjit-mem-size</code> introduces a unified memory limit (default 128MiB) to track total YJIT memory usage, providing a more intuitive alternative to the old <code>--yjit-exec-mem-size</code> option.;To;;0;[o;;[I"[<code>--yjit-trace-exits=COUNTER</code> allows tracing of counted exits and fallbacks.;To;;0;[o;;[I"e<code>--yjit-perf=codegen</code> allows profiling of JIT code based on YJIT's codegen functions.;To;;0;[o;;[I"S<code>--yjit-log</code> enables a compilation log to track what gets compiled.;To;;0;[o;;[I" Ruby API;To; ;;;[o;;0;[o;;[I"P<code>RubyVM::YJIT.enable(log: true)</code> also enables a compilation log.;To;;0;[o;;[I"b<code>RubyVM::YJIT.log</code> provides access to the tail of the compilation log at run-time.;To;;0;[o;;[I"YJIT stats;To; ;;;[o;;0;[o;;[I"�<code>RubyVM::YJIT.runtime_stats</code> now always provides additional statistics on invalidation, inlining, and metadata encoding.;To;;0;[o;;[I"l<code>RubyVM::YJIT.runtime_stats[:iseq_calls]</code> is added to profile non-inlined Ruby method calls.;To;;0;[o;;[I"u<code>RubyVM::YJIT.runtime_stats[:cfunc_calls]</code> is truncated to the top 20 entries for better performance.;TS; ; i ;I"New optimizations;To; ;;;[o;;0;[o;;[I"DCompressed context reduces memory needed to store YJIT metadata;To;;0;[o;;[I"EAllocate registers for local variables and Ruby method arguments;To;;0;[o;;[I"DWhen YJIT is enabled, use more Core primitives written in Ruby:;To; ;;;[o;;0;[o;;[I"�<code>Array#each</code>, <code>Array#select</code>, <code>Array#map</code> rewritten in Ruby for better performance [{Feature #20182}[https://bugs.ruby-lang.org/issues/20182]].;To;;0;[o;;[I"5Ability to inline small/trivial methods such as:;To; ;;;[ o;;0;[o;;[I"Empty methods;To;;0;[o;;[I"!Methods returning a constant;To;;0;[o;;[I"(Methods returning <code>self</code>;To;;0;[o;;[I"+Methods directly returning an argument;To;;0;[o;;[I"6Specialized codegen for many more runtime methods;To;;0;[o;;[I"_Optimize <code>String#getbyte</code>, <code>String#setbyte</code> and other string methods;To;;0;[o;;[I"LOptimize bitwise operations to speed up low-level bit/byte manipulation;To;;0;[o;;[I"5Support shareable constants in multi-ractor mode;To;;0;[o;;[I",Various other incremental optimizations;TS; ; i;I"Miscellaneous changes;To; ;;;[o;;0;[o;;[I"�Passing a block to a method which doesn't use the passed block will show a warning on verbose mode (<code>-w</code>). In connection with this, a new <code>strict_unused_block</code> warning category was introduced. Turn them on with <code>-W:strict_unused_block</code> or <code>Warning[:strict_unused_block] = true</code>. [{Feature #15554}[https://bugs.ruby-lang.org/issues/15554]];Fo;;0;[o;;[I"?Redefining some core methods that are specially optimized by the interpreter and JIT like <code>String#freeze</code> or <code>Integer#+</code> now emits a performance class warning (<code>-W:performance</code> or <code>Warning[:performance] = true</code>). [{Feature #20429}[https://bugs.ruby-lang.org/issues/20429]];F: @file@:0@omit_headings_from_table_of_contents_below0