From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: poffice@blade.nagaokaut.ac.jp Delivered-To: poffice@blade.nagaokaut.ac.jp Received: from kankan.nagaokaut.ac.jp (smtp.nagaokaut.ac.jp [133.44.2.24]) by blade.nagaokaut.ac.jp (Postfix) with ESMTP id 8B9D219E0034 for ; Fri, 25 Dec 2015 15:34:44 +0900 (JST) Received: from voscc.nagaokaut.ac.jp (voscc.nagaokaut.ac.jp [133.44.1.100]) by kankan.nagaokaut.ac.jp (Postfix) with ESMTP id C7475B5D841 for ; Fri, 25 Dec 2015 16:07:10 +0900 (JST) Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by voscc.nagaokaut.ac.jp (Postfix) with ESMTP id 5549218CC7E2 for ; Fri, 25 Dec 2015 16:07:11 +0900 (JST) Received: from [221.186.184.76] (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 366E312056F; Fri, 25 Dec 2015 16:07:01 +0900 (JST) X-Original-To: ruby-core@ruby-lang.org Delivered-To: ruby-core@ruby-lang.org Received: from mail-yk0-f178.google.com (mail-yk0-f178.google.com [209.85.160.178]) by neon.ruby-lang.org (Postfix) with ESMTPS id A62A01204FB; Fri, 25 Dec 2015 16:06:49 +0900 (JST) Received: by mail-yk0-f178.google.com with SMTP id k129so30652849yke.0; Thu, 24 Dec 2015 23:06:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:message-id:subject:to:content-type; bh=w1KSfWbSKyIGx47+cLMXnfzEwnxNicFY78y6dteiHQ0=; b=mVhBPHjJe78VU6W5QM4wgM4z74CpKN+1ae69x8Ws04V/NrE7iKI4tsvwdtzg+xrXnt z9M1Ki/Uigxfl6HrvWgEJ1wEbstlA620M7inPc7PZhyTiarptmH/p9h8A0dhbnxZf+c8 O9fdfd78ZNafczoWAgAK6TMt1z7YrV0mQRjIonQokpbxVhyDRgfjpM1DzxzkmVnn5Kak 5BYtFn4yY51i7pBR/pNyCA5o8v1Nk3+hKOFtdwYbIcC3bvjDlRElTfOs6XuZZ7qsFXX+ goodv+r7PB+6Pnv9Jj2aCYogIaNHeZCFxUhFXwN1cYHSVl7jkqT9Uj7zY1XUKb8VHfwm OwaQ== X-Received: by 10.129.44.4 with SMTP id s4mr30334924yws.114.1451027205781; Thu, 24 Dec 2015 23:06:45 -0800 (PST) MIME-Version: 1.0 Received: by 10.37.3.198 with HTTP; Thu, 24 Dec 2015 23:06:06 -0800 (PST) From: "NARUSE, Yui" Date: Fri, 25 Dec 2015 16:06:06 +0900 X-Google-Sender-Auth: 2_seHJ4jgcQqYecCB49dzXQtfGA Message-ID: To: "ruby-core@ruby-lang.org" , ruby developers list , ruby mailing list X-ML-Name: ruby-core X-Mail-Count: 72477 Subject: [ruby-core:72477] Ruby 2.3.0 Released X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Hi, We are pleased to announce the release of Ruby 2.3.0. This is the first stable release of Ruby 2.3 series. It introduces many new features for example: A [Frozen String Literal Pragma](https://bugs.ruby-lang.org/issues/11473) is introduced. With Ruby 2.1, `"str".freeze` has been optimized to reduce object allocation. Ruby 2.3 introduces a new magic comment and command line option to freeze all string literals in the source files. Additionally for debugging, you can get where the object is created on `"can't modify frozen String"` error by `--debug=frozen-string-literal` command line option. A [safe navigation operator](https://bugs.ruby-lang.org/issues/11537) ([so-called lonely operator](https://instagram.com/p/-M9l6mRPLR/)) `&.`, which already exists in C#, Groovy, and Swift, is introduced to ease `nil` handling as `obj&.foo`. `Array#dig` and `Hash#dig` are also added. Note that this behaves as [try! of ActiveSupport](http://api.rubyonrails.org/v4.2.5/classes/Object.html#method-i-try-21), which specially handle only nil. The [did_you_mean gem is bundled](https://bugs.ruby-lang.org/issues/11252). The did_you_mean gem shows the candidates on the `NameError` and `NoMethodError` to ease debugging. [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. It also includes many performance improvements for example, [reconsider method entry data structure](https://bugs.ruby-lang.org/issues/11278), [introducing new table data structure](https://bugs.ruby-lang.org/issues/11420), [optimize Proc#call](https://bugs.ruby-lang.org/issues/11569), machine code level tuning for object allocation and method calling code, [smarter instance variable data structure](https://bugs.ruby-lang.org/issues/11170), [Socket and I/O allow to use "exception:" keywords for high-performance non-blocking I/O](https://bugs.ruby-lang.org/issues/11229) and so on. Check "Implementation improvements" section in NEWS file. For a complete list of new features and compatibility notes, please see [NEWS](https://github.com/ruby/ruby/blob/v2_3_0/NEWS) and [ChangeLog](https://github.com/ruby/ruby/blob/v2_3_0/ChangeLog). With those changes, [2946 files changed, 104057 insertions(+), 59478 deletions(-)](https://github.com/ruby/ruby/compare/v2_2_0...v2_3_0) since Ruby 2.2.0! Merry Christmas, Happy Holidays, and enjoy programming with Ruby 2.3! ## Download * SIZE: 14185617 bytes SHA1: 6c8a832d49d22755ea8c45b6d53faf2ccc6d6ac9 SHA256: ec7579eaba2e4c402a089dbc86c98e5f1f62507880fd800b9b34ca30166bfa5e SHA512: 77b707359e754c3616699d21697752741497c719dc3d6fdfb55ed639e76d52560d293ae54cbe5c63be78dc73fbe60f1b8615d704d017bdfe1994aa9747d26a6c * SIZE: 17648682 bytes SHA1: 2dfcf7f33bda4078efca30ae28cb89cd0e36ddc4 SHA256: ba5ba60e5f1aa21b4ef8e9bf35b9ddb57286cb546aac4b5a28c71f459467e507 SHA512: 914d0201ecefaeb67aca0531146d2e89900833d8d2a597ec8a19be94529ab6b4be367f9b0cee2868b407288896cc14b64d96150223cac0aef8aafc46fc3dd7cc * SIZE: 11294412 bytes SHA1: 96e620e38af351c8da63e40cfe217ec79f912ba1 SHA256: 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 SHA512: d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 * SIZE: 19840511 bytes SHA1: 3f88617568d9a4f491e8b32dca532363f73eaa71 SHA256: 8270bdcbc6b62a18fdf1b75bd28d5d6fc0fc26b9bd778d422393a1b98006020a SHA512: a3f397bb3c9c19d9b797552c5d60bb01c82db884cfa966df84881125bea35713cffd99f88fb86b271bae72d9cfb09ad9b33838cffcf6365c091459479914fdef -- NARUSE, Yui