MINOR increased when you add functionality in a backwards compatible manner

Minor increased when you add functionality in a

This preview shows page 6 - 9 out of 38 pages.

MINOR : increased when you add functionality in a backwards- compatible manner.
Image of page 6
TEENY : security or bug fix which maintains API compatibility. May be increased more than 10 (such as 2.1.11), and will be released every 2–3 months. PATCH : increased when you make backwards-compatible bug fixes. PATCH : number of commits since last MINOR release (will be reset at 0 when releasing MINOR). - Semantic versioning also provides additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format, not available at Ruby. Ruby 2.1 has been obsolete since April 1, 2017, [38] and it will no longer receive bug and security fixes. Users are advised to upgrade to a more recent version. Ruby 2.2 [ edit ] Ruby 2.2.0 was released on Christmas Day in 2014. [39] The release includes speed-ups, bugfixes, and library updates and removes some deprecated APIs. Most notably, Ruby 2.2.0 introduces changes to memory handling – an incremental garbage collector, support for garbage collection of symbols and the option to compile directly against jemalloc. It also contains experimental support for using vfork (2) with system() and spawn(), and added support for the Unicode 7.0 specification. Features that were made obsolete or removed include callcc, the DL library, Digest::HMAC, lib/rational.rb, lib/complex.rb, GServer, Logger::Application as well as various C API functions. [40] PowerPC64 performance Since version 2.2.1, [41] Ruby MRI performance on PowerPC64 was improved. [42] [43] [44] Ruby 2.3 [ edit ] Ruby 2.3.0 was released on Christmas Day in 2015. A few notable changes include: The ability to mark all string literals as frozen by default with a consequently large performance increase in string operations. [45] Hash comparison to allow direct checking of key/value pairs instead of just keys. A new safe navigation operator &. that can ease nil handling (e.g. instead of if obj && obj . foo && obj . foo . bar , we can use if obj&.foo&.bar ). The did_you_mean gem is now bundled by default and required on startup to automatically suggest similar name matches on a NameError or NoMethodError . Hash#dig and Array#dig to easily extract deeply nested values (e.g. given profile = { social : { wikipedia : { name : 'Fo
Image of page 7
o Baz' } } } , the value Foo Baz can now be retrieved by profile.dig(:social, :wikipedia, :name) ). .grep_v(regexp) which will match all negative examples of a given regular expression in addition to other new features. The 2.3 branch also includes many performance improvements, updates, and bugfixes including changes to Proc#call, Socket and IO use of exception keywords, Thread#name handling, default passive Net::FTP connections, and Rake being removed from stdlib. [46] Ruby 2.4 [ edit ] Ruby 2.4.0 was released on Christmas Day in 2016. A few notable changes include: Binding#irb: Start a REPL session similar to binding.pry Unify Fixnum and Bignum into Integer class String supports Unicode case mappings, not just ASCII A new method, Regexp#match?, which is a faster boolean version of Regexp#match Thread deadlock detection now shows threads with their backtrace and dependency The 2.4 branch also includes performance improvements to hash
Image of page 8
Image of page 9

You've reached the end of your free preview.

Want to read all 38 pages?

  • Fall '12
  • DuiWei
  • Ruby

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

Stuck? We have tutors online 24/7 who can help you get unstuck.
A+ icon
Ask Expert Tutors You can ask You can ask You can ask (will expire )
Answers in as fast as 15 minutes