ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::TopLevel[ iI" 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"yit 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 frozen_string_literal comment now emit a deprecation warning when they are mutated. These warnings can be enabled with -W:deprecated or by setting Warning[:deprecated] = true. To disable this change, you can run Ruby with the --disable-frozen-string-literal command line argument. [{Feature #20205}[https://bugs.ruby-lang.org/issues/20205]];Fo; ;;;[o;;0;[o; ;[I"String#+@ now duplicates when mutating the string would emit a deprecation warning, offered as a replacement for the str.dup if str.frozen? pattern.;To;;0;[o; ;[I"Keyword splatting nil when calling methods is now supported. **nil is treated similarly to **{}, 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. a[0, &b] = 1). [{Bug #19918}[https://bugs.ruby-lang.org/issues/19918]];Fo;;0;[o; ;[I"Keyword arguments are no longer allowed in index assignment (e.g. a[0, kw: 1] = 2). [{Bug #20218}[https://bugs.ruby-lang.org/issues/20218]];Fo;;0;[o; ;[I"The toplevel name ::Ruby is reserved now, and the definition will be warned when Warning[:deprecated]. [{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"kArray#fetch_values was added. [{Feature #20702}[https://bugs.ruby-lang.org/issues/20702]];To;;0;[o; ;[I"Exception;Fo; ;;;[o;;0;[o; ;[I"Exception#set_backtrace now accepts arrays of Thread::Backtrace::Location. Kernel#raise, Thread#raise and Fiber#raise 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 Fiber::Scheduler#blocking_operation_wait 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"GC.config 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 rgengc_allow_full_mark introduced. When false GC will only mark young objects. Default is true. [{Feature #20443}[https://bugs.ruby-lang.org/issues/20443]];Fo;;0;[o; ;[I" Hash;Fo; ;;;[o;;0;[o; ;[I"2Hash.new now accepts an optional capacity: 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"IO::Buffer#copy 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" Integer#** used to return Float::INFINITY when the return value is large, but now returns an Integer. 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"MatchData#bytebegin and MatchData#byteend have been added. [{Feature #20576}[https://bugs.ruby-lang.org/issues/20576]];To;;0;[o; ;[I" Object;Fo; ;;;[o;;0;[o; ;[I"Object#singleton_method 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"require in Ractor is allowed. The requiring process will be run on the main Ractor. Ractor._require(feature) is added to run requiring process on the main Ractor. [{Feature #20627}[https://bugs.ruby-lang.org/issues/20627]];To;;0;[o; ;[I"dRactor.main? is added. [{Feature #20627}[https://bugs.ruby-lang.org/issues/20627]];To;;0;[o; ;[I"Ractor.[] and Ractor.[]= 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"Ractor.store_if_absent(key){ init } 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"Range#size now raises TypeError if the range is not iterable. [{Misc #18984}[https://bugs.ruby-lang.org/issues/18984]];To;;0;[o; ;[I"Range#step now consistently has a semantics of iterating by using + 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"*Rational#** used to return Float::INFINITY or Float::NAN when the numerator of the return value is large, but now returns an Rational. 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 RubyVM::AbstractSyntaxTree::Node#locations method which returns location objects associated with the AST node. [{Feature #20624}[https://bugs.ruby-lang.org/issues/20624]];Fo;;0;[o; ;[I"Add RubyVM::AbstractSyntaxTree::Location class which holds location information. [{Feature #20624}[https://bugs.ruby-lang.org/issues/20624]];Fo;;0;[o; ;[I" String;Fo; ;;;[o;;0;[o; ;[I"String#append_as_bytes 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 Symbol#to_s now emits a deprecation warning when mutated, and will be frozen in a future version of Ruby. These warnings can be enabled with -W:deprecated or by setting Warning[:deprecated] = true. [{Feature #20350}[https://bugs.ruby-lang.org/issues/20350]];Fo;;0;[o; ;[I" Time;Fo; ;;;[o;;0;[o; ;[I"On Windows, now Time#zone 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"Time#xmlschema, and its Time#iso8601 alias have been moved into the core Time class while previously it was an extension provided by the time gem. [{Feature #20707}[https://bugs.ruby-lang.org/issues/20707]];To;;0;[o; ;[I" Warning;Fo; ;;;[o;;0;[o; ;[I"Add Warning.categories 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 --attestation option to gem push. It enabled to store signature of build artifact to sigstore.dev.;Fo;;0;[o; ;[I"xAdd --attestation 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 lockfile_checksums configuration to include checksums in fresh lockfiles.;Fo;;0;[o; ;[I"[Add bundle lock --add-checksums to add checksums to an existing lockfile.;Fo;;0;[o; ;[I" JSON;Fo; ;;;[o;;0;[o; ;[I"]Performance improvements JSON.parse about 1.5 times faster than json-2.7.x.;Fo;;0;[o; ;[I" Tempfile;Fo; ;;;[o;;0;[o; ;[I"!The keyword argument anonymous: true is implemented for Tempfile.create. Tempfile.create(anonymous: true) 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"Socket::ResolutionError and Socket::ResolutionError#error_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 rescue/ensure frames are no longer available on the backtrace. [{Feature #20275}[https://bugs.ruby-lang.org/issues/20275]];Fo;;0;[ o; ;[I"yKernel#caller, Thread::Backtrace::Location’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 `
' ;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 '
' ;T;0o;;0;[o; ;[I"sHash#inspect 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: "{user: 1}";Fo;;0;[o; ;[I"Other keys now have spaces around =>: '{"user" => 1}', while previously they didn't: '{"user"=>1}';Fo;;0;[o; ;[I"Kernel#Float() 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"String#to_f 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"xRefinement#refined_class 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"oDidYouMean::SPELL_CHECKERS[]= and DidYouMean::SPELL_CHECKERS.merge! are removed.;To;;0;[o; ;[I"Net::HTTP;Fo; ;;;[o;;0;[o; ;[I"0Removed the following deprecated constants:;Fo; ;;;[o;;0;[o; ;[I"%Net::HTTP::ProxyMod;To;;0;[o; ;[I".Net::NetPrivate::HTTPRequest;To;;0;[o; ;[I"*Net::HTTPInformationCode;To;;0;[o; ;[I"&Net::HTTPSuccessCode;To;;0;[o; ;[I"*Net::HTTPRedirectionCode;To;;0;[o; ;[I"(Net::HTTPRetriableCode;To;;0;[o; ;[I"*Net::HTTPClientErrorCode;To;;0;[o; ;[I")Net::HTTPFatalErrorCode;To;;0;[o; ;[I"*Net::HTTPServerErrorCode;To;;0;[o; ;[I"+Net::HTTPResponseReceiver;To;;0;[o; ;[I"+Net::HTTPResponceReceiver;To; ;[I"0 These constants were deprecated from 2012.;To;;0;[o; ;[I" Timeout;Fo; ;;;[o;;0;[o; ;[I"uReject negative values for Timeout.timeout. [{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"rb_newobj and rb_newobj_of (and corresponding macros RB_NEWOBJ, RB_NEWOBJ_OF, NEWOBJ, NEWOBJ_OF) have been removed. [{Feature #20265}[https://bugs.ruby-lang.org/issues/20265]];To;;0;[o; ;[I"~Removed deprecated function rb_gc_force_recycle. [{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 --parser=parse.y. [{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 Socket.tcp and TCPSocket.new. To disable it globally, set the environment variable RUBY_TCP_NO_FAST_FALLBACK=1 or call Socket.tcp_fast_fallback=false. Or to disable it on a per-method basis, use the keyword argument fast_fallback: false. [{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 --with-modular-gc at build time. GC libraries can be loaded at runtime using the environment variable RUBY_GC_LIBRARY. [{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 gc/default/default.c and interacts with Ruby using an API defined in gc/gc_impl.h. The built-in garbage collector can now also be built as a library using make modular-gc MODULAR_GC=default and enabled using the environment variable RUBY_GC_LIBRARY=default. [{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 make modular-gc MODULAR_GC=mmtk and enabled using the environment variable RUBY_GC_LIBRARY=mmtk. 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"--yjit-mem-size introduces a unified memory limit (default 128MiB) to track total YJIT memory usage, providing a more intuitive alternative to the old --yjit-exec-mem-size option.;To;;0;[o; ;[I"[--yjit-trace-exits=COUNTER allows tracing of counted exits and fallbacks.;To;;0;[o; ;[I"e--yjit-perf=codegen allows profiling of JIT code based on YJIT's codegen functions.;To;;0;[o; ;[I"S--yjit-log enables a compilation log to track what gets compiled.;To;;0;[o; ;[I" Ruby API;To; ;;;[o;;0;[o; ;[I"PRubyVM::YJIT.enable(log: true) also enables a compilation log.;To;;0;[o; ;[I"bRubyVM::YJIT.log provides access to the tail of the compilation log at run-time.;To;;0;[o; ;[I"YJIT stats;To; ;;;[o;;0;[o; ;[I"RubyVM::YJIT.runtime_stats now always provides additional statistics on invalidation, inlining, and metadata encoding.;To;;0;[o; ;[I"lRubyVM::YJIT.runtime_stats[:iseq_calls] is added to profile non-inlined Ruby method calls.;To;;0;[o; ;[I"uRubyVM::YJIT.runtime_stats[:cfunc_calls] 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"Array#each, Array#select, Array#map 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 self;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 String#getbyte, String#setbyte 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 (-w). In connection with this, a new strict_unused_block warning category was introduced. Turn them on with -W:strict_unused_block or Warning[:strict_unused_block] = true. [{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 String#freeze or Integer#+ now emits a performance class warning (-W:performance or Warning[:performance] = true). [{Feature #20429}[https://bugs.ruby-lang.org/issues/20429]];F: @file@:0@omit_headings_from_table_of_contents_below0