Skip to content

Commit b7ec021

Browse files
committed
Ruby 2.3.0 Released
1 parent 8b0c2c1 commit b7ec021

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 2.3.0 Released"
4+
author: "naruse"
5+
translator:
6+
date: 2015-12-25 00:00:00 +0000
7+
lang: en
8+
---
9+
10+
We are pleased to announce the release of Ruby 2.3.0.
11+
12+
This is the first stable release of Ruby 2.3 series.
13+
It introduces many new features and improvements for example:
14+
15+
A [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473)
16+
is introduced.
17+
With Ruby 2.1, `"str".freeze` has been optimized to reduce object allocation.
18+
Ruby 2.3 introduces a new magic comment and command line option to
19+
freeze all string literals in the source files.
20+
Additionally for debugging, you can get where the object is created on
21+
`"can't modify frozen String"` error by
22+
`--debug=frozen-string-literal` command line option.
23+
24+
A [safe navigation operator](https://bugs.ruby-lang.org/issues/11537)
25+
([so-called lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`,
26+
which already exists in C#, Groovy, and Swift, is introduced to ease
27+
`nil` handling as `obj&.foo`. `Array#dig` and `Hash#dig` are also added.
28+
Note that this behaves as [try! of ActiveSupport](http://apidock.com/rails/Object/try%21),
29+
which specially handle only nil.
30+
31+
The [did_you_mean gem is bundled](https://bugs.ruby-lang.org/issues/11252).
32+
The did_you_mean gem
33+
shows the candidates on the `NameError` and `NoMethodError` to ease
34+
debugging.
35+
36+
[RubyVM::InstructionSequence#to_binary and .load_from_binary](https://bugs.ruby-lang.org/issues/11788) are introduced as experimental feature. With these features, we can make a ISeq (bytecode) pre-compilation system.
37+
38+
Ruby 2.3 includes many performance tuning fixes.
39+
For example,
40+
[reconsider method entry data structure](https://bugs.ruby-lang.org/issues/11278),
41+
[introducing new table data structure](https://bugs.ruby-lang.org/issues/11420),
42+
[optimize Proc#call](https://bugs.ruby-lang.org/issues/11569),
43+
machine code level tuning for object allocation and method calling code,
44+
and other many optimizations.
45+
46+
For a complete list of new features and compatibility notes, please see
47+
[NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) and
48+
[ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog).
49+
50+
With those changes, [1097 files changed, 97466 insertions(+), 58685 deletions(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) since Ruby 2.2.0!
51+
52+
## Download
53+
54+
* <https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.bz2>
55+
* SIZE: 14126752 bytes
56+
* SHA1: 7e717ef7a0a1523ad696b5fe693f7f7a613a3810
57+
* SHA256: e9b0464e50b2e5c31546e6b8ca8cad71fe2d2146ccf88b7419bbe9626af741cb
58+
* SHA512: e397f321d4338edba8d005d871408775f03d975da90c8abcfdb457a1bc7e6c87efe58c53b2c3bc122e9f58f619767b271bcc8d5d9663ed4b4288c60556e8d288
59+
* <https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.gz>
60+
* SIZE: 17623519 bytes
61+
* SHA1: 2deaf3ccbbfc5e08d3d840a4f1c33ff5f62f931d
62+
* SHA256: cb1c745bda33ba9e812b48c87852571ef6486f985c5e6ff4508a137d1c9734a3
63+
* SHA512: 83022f99775eb139beec281d59029dcc7c59de1e313182685b0a785334ac53d0c445212460d00d065169b922949263f30a1f981e19fc6e59814e79e6e53ae8e0
64+
* <https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.tar.xz>
65+
* SIZE: 11249780 bytes
66+
* SHA1: e1dfca06cd3c2cf6456a7feb0b1cd0752bde1a3b
67+
* SHA256: 7c3119268af87c137f415301b299281762453ad78f86e35562be014dabd67b11
68+
* SHA512: ab3376145d95a2188e6345984f0e5592c8d33515d7046a2ab2565dc418fa2306cdcf797aae9494d4d10446ada54ba638d8a8ad2d4b7510544d7eaea3de4faa87
69+
* <https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0-preview2.zip>
70+
* SIZE: 19841531 bytes
71+
* SHA1: db7fa5291d90e0a9c6f75c0cd068bc54050520d6
72+
* SHA256: 90d036fd1ec40aa8f5493821ac162bf69f505c5977db54afe53b8bf689d79b9d
73+
* SHA512: 05784df420018aaae7d09d41e872df708e861cacc74dc8ee97a9e3ac7458cb12b937523ad6def34d5ae2890a0cf037a8d61e365beb88d28acd84879b9391ad65

0 commit comments

Comments
 (0)