NEWS for Ruby 1.9.1

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.

Changes since the 1.8.7 release

See doc/NEWS-1.8.7 for changes between 1.8.6 and 1.8.7.

Compatibility issues

Language core changes

* New syntax and semantics
      o Magic comments to declare in which encoding your source
        code is written
      o New literal hash syntax and new syntax for hash style
        arguments
      o New syntax for lambdas
      o .() and calling Procs without #call/#[]
      o Block in block arguments
      o Block local variables
      o Mandatory arguments after optional arguments allowed
      o Multiple splats allowed
      o #[] can take splatted arguments, hash style arguments
        and a block.
      o New directives in printf-style formatted strings (%).
      o Newlines allowed before ternary colon operator (:) and
        method call dot operator (.)
      o Negative operators such as !, != and !~ are now
        overloadable
      o Encoding.default_external and default_internal
      o __ENCODING__: New pseudo variable to hold the current
        script's encoding

Library updates

Implementation changes