From 99ff4d61ec5280010a4c285763d3639028f877ca Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Fri, 28 Feb 2020 16:12:13 -0800 Subject: [PATCH] Update NEWS [ci skip] --- NEWS.md | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index 203fa08f78..8529de1d89 100644 --- a/NEWS.md +++ b/NEWS.md @@ -10,11 +10,16 @@ sufficient information, see the ChangeLog file or Redmine ## Language changes +* Keyword arguments are now separated from positional arguments. + Code that resulted in deprecation warnings in Ruby 2.7 will now + result in ArgumentError or different behavior. [[Feature #14183]] + * $SAFE is now a normal global variable with no special behavior. [[Feature #16131]] -* yield in singleton class definitions in methods is now a SyntaxError. - [[Feature #15575]] +* yield in singleton class definitions in methods is now a SyntaxError + instead of a warning. yield in a class definition outside of a method + is now a SyntaxError instead of a LocalJumpError. [[Feature #15575]] ## Command line options @@ -34,6 +39,28 @@ sufficient information, see the ChangeLog file or Redmine * Hash#transform_keys now accepts a hash that maps keys to new keys. [[Feature #16274]] +* Kernel + + * Modified method + + * Kernel#clone when called with freeze: false keyword will call + #initialize_clone with the freeze: false keyword. + [[Bug #14266]] + + * Kernel#eval when called with two arguments will use "(eval)" + for __FILE__ and 1 for __LINE__ in the evaluated code. + [[Bug #4352]] + +* Module + + * Modified method + + * Module#include now includes the arguments in modules and + classes that have already included or prepended the receiver, + mirroring the behavior if the arguments were included in the + receiver before the other modules and classes included or + prepended the receiver. [[Feature #9573]] + * Symbol * Modified method @@ -69,10 +96,20 @@ sufficient information, see the ChangeLog file or Redmine ## C API updates +* C API functions related to $SAFE have been removed. + [[Feature #16131]] + ## Implementation improvements ## Miscellaneous changes +* Methods using ruby2_keywords will no longer keep empty keyword + splats, those are now removed just as they are for methods not + using ruby2_keywords. + +* Taint deprecation warnings are now issued in regular mode in + addition to verbose warning mode. [[Feature #16131]] + [Feature #8709]: https://bugs.ruby-lang.org/issues/8709 [Feature #8948]: https://bugs.ruby-lang.org/issues/8948