summaryrefslogtreecommitdiff
path: root/NEWS.md
AgeCommit message (Collapse)Author
2022-02-21Fix links [ci skip]Kazuhiro NISHIYAMA
2022-02-19Add String#byteindex, String#byterindex, and MatchData#byteoffset (#5518)Shugo Maeda
* Add String#byteindex, String#byterindex, and MatchData#byteoffset [Feature #13110] Co-authored-by: NARUSE, Yui <naruse@airemix.jp> Notes: Merged-By: shugo <shugo@ruby-lang.org>
2022-02-19Find pattern is no longer experimental [Feature #18585]Kazuki Tsujimoto
2022-02-18Mention Set as a new builtin class to NEWSAkinori MUSHA
Notes: Merged: https://github.com/ruby/ruby/pull/5563
2022-02-10Update default gems list at f07a2613e3f14ab713bc5ab8854110 [ci skip]git
2022-02-02Update bundled gems list at d4a8c04dc7bb1c9aa48eaf50dc6b18 [ci skip]git
2022-02-01Update default gems list at fc4fbeef28b1d243e45d7fc8d60778 [ci skip]git
2022-01-31[DOC] Fix a typo in the NEWS.mdKoichi ITO
Follow up of https://github.com/ruby/ruby/commit/fbb3cab. Notes: Merged: https://github.com/ruby/ruby/pull/5507 Merged-By: nobu <nobu@ruby-lang.org>
2022-01-29Add a NEWS entry about [Feature #16806]Takashi Kokubun
2022-01-25NEWS: `Fixnum` and `Bignum` are removed finally [Feature #12005]Nobuyoshi Nakada
2022-01-24Update default gems list at 328e6bf3b3a167529e5c64a281e773 [ci skip]git
2022-01-18Fix a link [ci skip]Kazuhiro NISHIYAMA
2022-01-17[ruby/erb] Revert "Remove safe_level and further positional arguments ↵Takashi Kokubun
(https://github.com/ruby/erb/pull/7)" This reverts commit https://github.com/ruby/erb/commit/5133efa06f0603ae79292f3b2b942957bc8a442e. While we already handled this deprecation in many libraries, we noticed that some (e.g. sprockets) relied on the format of `ERB.version` and https://github.com/ruby/erb/commit/2b4182eb108b9e42fa30bcfa41931896132f88b8 broke such handling. Given that the `ERB.version` change was released at 3.1 and it's obviously new, I'll skip this removal in 3.2 and postpone this to a future version.
2022-01-15Update NEWS.md about ERB.newTakashi Kokubun
2022-01-14Make Hash#shift return nil for empty hashJeremy Evans
Fixes [Bug #16908] Notes: Merged: https://github.com/ruby/ruby/pull/5360
2022-01-14Fix constant assignment evaluation orderJeremy Evans
Previously, the right hand side was always evaluated before the left hand side for constant assignments. For the following: ```ruby lhs::C = rhs ``` rhs was evaluated before lhs, which is inconsistant with attribute assignment (lhs.m = rhs), and apparently also does not conform to JIS 3017:2013 11.4.2.2.3. Fix this by changing evaluation order. Previously, the above compiled to: ``` 0000 putself ( 1)[Li] 0001 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0003 dup 0004 putself 0005 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0007 setconstant :C 0009 leave ``` After this change: ``` 0000 putself ( 1)[Li] 0001 opt_send_without_block <calldata!mid:lhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0003 putself 0004 opt_send_without_block <calldata!mid:rhs, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0006 swap 0007 topn 1 0009 swap 0010 setconstant :C 0012 leave ``` Note that if expr is not a module/class, then a TypeError is not raised until after the evaluation of rhs. This is because that error is raised by setconstant. If we wanted to raise TypeError before evaluation of rhs, we would have to add a VM instruction for calling vm_check_if_namespace. Changing assignment order for single assignments caused problems in the multiple assignment code, revealing that the issue also affected multiple assignment. Fix the multiple assignment code so left-to-right evaluation also works for constant assignments. Do some refactoring of the multiple assignment code to reduce duplication after adding support for constants. Rename struct masgn_attrasgn to masgn_lhs_node, since it now handles both constants and attributes. Add add_masgn_lhs_node static function for adding data for lhs attribute and constant setting. Fixes [Bug #15928] Notes: Merged: https://github.com/ruby/ruby/pull/4450
2022-01-14Add a Module#const_added callbackJean Boussier
[Feature #17881] Works similarly to `method_added` but for constants. ```ruby Foo::BAR = 42 # call Foo.const_added(:FOO) class Foo::Baz; end # call Foo.const_added(:Baz) Foo.autoload(:Something, "path") # call Foo.const_added(:Something) ``` Notes: Merged: https://github.com/ruby/ruby/pull/4521
2022-01-13add a NEWS entry of `Proc#dup`.Koichi Sasada
2022-01-07Fix typo [ci skip]Kazuhiro NISHIYAMA
2022-01-07Add bugs.ruby links.manga_osyo
Notes: Merged: https://github.com/ruby/ruby/pull/5400
2022-01-06Update bundled gems list at 2022-01-06git
2022-01-06NEWS: "taintedness" and "trustedness" methods are removedNobuyoshi Nakada
2022-01-06NEWS: Separate removed constants sectionNobuyoshi Nakada
2022-01-05NEWS: Links to the tickets to remove deprecated featuresNobuyoshi Nakada
2022-01-05NEWS: Removal of `Kernel#=~` [Feature #15231]Nobuyoshi Nakada
2022-01-05Add Module#refinements and Refinement#refined_class [Feature #12737]Shugo Maeda
2022-01-05Add Module.used_refinementsShugo Maeda
2022-01-02Update default gems list at 6f53425825eb71d71c7fdd424801a2 [ci skip]git
2022-01-02NEWS: Removed constantsNobuyoshi Nakada
2022-01-02Update default gems list at 6d1b406dc8dea6f618ae14899dc6b7 [ci skip]git
2021-12-31NEWS: Removed methodsNobuyoshi Nakada
2021-12-31NEWS: Removed C APIsNobuyoshi Nakada
2021-12-30Add support for anonymous rest and keyword rest argument forwardingJeremy Evans
This allows for the following syntax: ```ruby def foo(*) bar(*) end def baz(**) quux(**) end ``` This is a natural addition after the introduction of anonymous block forwarding. Anonymous rest and keyword rest arguments were already supported in method parameters, this just allows them to be used as arguments to other methods. The same advantages of anonymous block forwarding apply to rest and keyword rest argument forwarding. This has some minor changes to #parameters output. Now, instead of `[:rest], [:keyrest]`, you get `[:rest, :*], [:keyrest, :**]`. These were already used for `...` forwarding, so I think it makes it more consistent to include them in other cases. If we want to use `[:rest], [:keyrest]` in both cases, that is also possible. I don't think the previous behavior of `[:rest], [:keyrest]` in the non-... case and `[:rest, :*], [:keyrest, :**]` in the ... case makes sense, but if we did want that behavior, we'll have to make more substantial changes, such as using a different ID in the ... forwarding case. Implements [Feature #18351] Notes: Merged: https://github.com/ruby/ruby/pull/5148
2021-12-29Update bundled gems list at 2021-12-29git
2021-12-29Update default gems list at d75f7078c831d45ab5ba2fae4fbb30 [ci skip]git
2021-12-27Update default gems list at d6311cb1ca5860a6e0cbf6f87c1e0a [ci skip]git
2021-12-26Update bundled gems list at 2322967f3e23b6dbf6e1bf9e78ae1c [ci skip]git
2021-12-26Update default gems list at 1698010bb12a799f8ceb7202fd0df8 [ci skip]git
2021-12-25Update default gems list at 53b3c044fc6de4e2224f8601dec583 [ci skip]git
2021-12-25Copy NEWS.md to doc/NEWS-3.1.0.md and update for 3.2.0Kazuhiro NISHIYAMA
2021-12-25Update default gems list at 8247b193c0dd06db9ea56812954dda [ci skip]Nobuyoshi Nakada
2021-12-25NEWS: mention Time.new argument error moreNobuyoshi Nakada
Show an example of Time.new with perhaps unexpected results in earlier versions.
2021-12-25Fix the names of Thread::Queue and method for the cross-referenceNobuyoshi Nakada
2021-12-25NEWS: Put spaces to make Method and UnboundMethod linksNobuyoshi Nakada
2021-12-25Add IRB Improvements section to NEWS.mdaycabta
2021-12-25NEWS: Mention about more strict conversions for [Feature #17485]Nobuyoshi Nakada
2021-12-25Update default gems list at 0f1fbc6421641d80a03f0b72e3d775 [ci skip]git
2021-12-25Update default gems list at 40c20110d5791e26e5edaddb6a77cf [ci skip]git
2021-12-24Update default gems list at da6a5e3ed16ab0cdda7546dd9caf55 [ci skip]git
2021-12-24Update default gems list at efce9ecf72842fd2109a34a89b4293 [ci skip]git