summaryrefslogtreecommitdiff
path: root/NEWS
blob: 54a180a1961ccf47eab39c22cf243896e94a125e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# -*- rdoc -*-

= NEWS for Ruby 2.7.0

This document is a list of user visible feature changes made between
releases except for bug fixes.

Note that each entry is kept so brief that no reason behind or reference
information is supplied with.  For a full list of changes with all
sufficient information, see the ChangeLog file or Redmine
(e.g. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>)

== Changes since the 2.6.0 release

=== Language changes

* Method reference operator, <code>.:</code> is introduced as an
  experimental feature.  [Feature #12125] [Feature #13581]

* Proc.new and proc with no block in a method called with a block is warned
  now.

* lambda with no block in a method called with a block errs.

* Non-Symbol keys in a keyword arguments hash was prohibited at 2.6.0, but
  now allowed again.  [Bug #15658]

* Numbered parameter as the default block parameter is introduced as an
  experimental feature.  [Feature #4475]

* A beginless range is experimentally introduced.  It might not be as useful
  as an endless range, but would be good for DSL purpose.

     ary[..3]  # identical to ary[0..3]
     where(sales: ..100)

=== Core classes updates (outstanding ones only)

Enumerable::

  New method::

    * Added Enumerable#tally.  [Feature #11076]

Enumerator::

  New method::

    * Added Enumerator::Yielder#to_proc so that a Yielder object can be
      directly passed to another method as a block argument.
      \[Feature #15618]

Regexp/String::

    * Update Unicode version and Emoji version from 11.0.0 to 12.0.0.
      \[Feature #15321]

=== Stdlib updates (outstanding ones only)

CSV::

  * Upgrade to 3.0.4.
    See https://github.com/ruby/csv/blob/master/NEWS.md.

ERB::

  * Prohibit marshaling ERB instance.

RSS::

  * Upgrade to RSS 0.2.8.
    See https://github.com/ruby/rss/blob/master/NEWS.md.

=== Compatibility issues (excluding feature bug fixes)

=== Stdlib compatibility issues (excluding feature bug fixes)

profile.rb, Profiler__::

  * Removed from standard library. No one maintains it from Ruby 2.0.0.

=== C API updates

=== Implementation improvements

JIT::

  * Default value of --jit-max-cache is changed from 1,000 to 100

  * Default value of --jit-min-calls is changed from 5 to 10,000

=== Miscellaneous changes

* Require compilers to support C99 [Misc #15347]
  * Details of our dialect: https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/C99