Skip to content

Commit 768d730

Browse files
authored
Ruby 2.4.0-preview2 Released (ruby#1451)
1 parent fb19e16 commit 768d730

File tree

1 file changed

+120
-0
lines changed

1 file changed

+120
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 2.4.0-preview2 Released"
4+
author: "naruse"
5+
translator:
6+
date: 2016-09-08 18:00:00 +0900
7+
lang: en
8+
---
9+
10+
We are pleased to announce the release of Ruby 2.4.0-preview2.
11+
12+
Ruby 2.4.0-preview2 is the second preview of Ruby 2.4.0.
13+
This preview2 is released to get feedback from the community.
14+
Feel free to
15+
[send feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)
16+
since you can still influence the features.
17+
18+
## [Unify Fixnum and Bignum into Integer](https://bugs.ruby-lang.org/issues/12005)
19+
20+
Though [ISO/IEC 30170:2012](http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579)
21+
doesn't specify details of the Integer class,
22+
Ruby had two visible Integer classes: Fixnum and Bignum.
23+
Ruby 2.4 unifies them into Integer.
24+
All C extensions which touches Fixnum or Bignum class needs to be fixed.
25+
26+
See also [the ticket](https://bugs.ruby-lang.org/issues/12005) and [akr's slides](http://www.a-k-r.org/pub/2016-09-08-rubykaigi-unified-integer.pdf).
27+
28+
## [String supports Unicode case mappings](https://bugs.ruby-lang.org/issues/10085)
29+
30+
`String/Symbol#upcase/downcase/swapcase/capitalize(!)` now handle
31+
Unicode case mappings instead of only ASCII case mappings.
32+
33+
## Performance improvements
34+
35+
Ruby 2.4 also contains the following performance improvements including
36+
language changes:
37+
38+
### [Array#max, Array#min](https://bugs.ruby-lang.org/issues/12172)
39+
40+
`[x, y].max` and `[x, y].min` are optimized to not create a temporary array
41+
under certain conditions.
42+
43+
### [Regexp#match?](https://bugs.ruby-lang.org/issues/8110)
44+
45+
Added `Regexp#match?`, which executes a regexp match without creating
46+
a back reference object and changing `$~` to reduce object allocation.
47+
48+
### Other performance improvements
49+
50+
* [speed up instance variable access](https://bugs.ruby-lang.org/issues/12274)
51+
52+
## Debugging
53+
54+
### [Thread#report_on_exception and Thread.report_on_exception](https://bugs.ruby-lang.org/issues/6647)
55+
56+
Ruby ignores exceptions in threads unless another thread explicitly joins them.
57+
With `report_on_exception = true`,
58+
you can notice if a thread has died due to an unhandled exception.
59+
60+
Send us feedback what should be the default for `report_on_exception`
61+
and about report-on-GC, which show a report when a thread is GCed without join.
62+
63+
### [Thread deadlock detection now shows threads with their backtrace and dependency](https://bugs.ruby-lang.org/issues/8214)
64+
65+
Ruby has deadlock detection around waiting threads, but its report doesn't
66+
include enough information for debugging.
67+
Ruby 2.4's deadlock detection shows threads with their backtrace and
68+
dependent threads.
69+
70+
Try and enjoy programming with Ruby 2.4.0-preview2, and
71+
[send us feedback](https://bugs.ruby-lang.org/projects/ruby/wiki/HowToReport)!
72+
73+
## Notable Changes since 2.3
74+
75+
* Support OpenSSL 1.1.0
76+
* ext/tk is now removed from stdlib [Feature #8539]
77+
78+
See [NEWS](https://github.com/ruby/ruby/blob/v2_4_0_preview2/NEWS)
79+
and [ChangeLog](https://github.com/ruby/ruby/blob/v2_4_0_preview2/ChangeLog)
80+
for details.
81+
82+
With those changes,
83+
[2353 files changed, 289057 insertions(+), 73847 deletions(-)](https://github.com/ruby/ruby/compare/v2_3_0...v2_4_0_preview2)
84+
since Ruby 2.3.0!
85+
86+
## Download
87+
88+
* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.bz2>
89+
90+
* SIZE: 12463225 bytes
91+
* SHA1: 95a501624f1cf4bb0785d3e17afd0ad099f66385
92+
* SHA256: 2224c55b2d87b5c0f08d23a4618e870027dbc1cffbfb4a05efd19eac4ff4cf1d
93+
* SHA512: 0c9a59a2f57a99c4ee8539a30f41da1de7547566203f89d856e1be9dbb44365754e6c470145dc9336eb324e0feb2f53d9fef18a1564968ac21f9ee528905949f
94+
95+
* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.gz>
96+
97+
* SIZE: 15586514 bytes
98+
* SHA1: 492a13c4ddc1c0c218433acb00dcf7ddeef96fe0
99+
* SHA256: fec544836428aada2dc593a8cc42ce330798a805e49ecb807a0e21b386fd0b14
100+
* SHA512: 5a3de852a7611e79f38219ed7bb13772aaabb25538ca843d38743180a0cc939a4e34c008b61d578da785285196b6b8882270bddc17cbed481237db8afa4c54e4
101+
102+
* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.tar.xz>
103+
104+
* SIZE: 9886832 bytes
105+
* SHA1: 95d5fd7d54d86497194f69ec433755a517dcde8f
106+
* SHA256: 6c2d25bedc50c2f19b0e349f0ffd9b9a83000d9cb6a677bf5372fb493d33e16a
107+
* SHA512: b9bd898d17583103ee61b4764ac86eb62c9661fca1f41ff0d06a15965a0a1ba581491d4b8a342e527d63e102b6ddcb2acebdabe5b246409ce9711e13f9428d5b
108+
109+
* <https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0-preview2.zip>
110+
111+
* SIZE: 17401564 bytes
112+
* SHA1: 5f3a5b2fd03f70d49e74ec36be3e0c110f6c17cc
113+
* SHA256: 4d0e466148283ad52208b1e1b70b018aefb7fa95b490fc862d5ea4ca284ecdd2
114+
* SHA512: 0ef2098d995238580245a4bcee843641199c1194189be13614611e2ffec329278072319a799d409eaf13b1cff45f05a0eae02d9ea8ccc69058fa49e03eca0130
115+
116+
## Release Comment
117+
118+
See also the release schedule and other information:
119+
120+
[ReleaseEngineering24](https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/ReleaseEngineering24)

0 commit comments

Comments
 (0)