crystal v0.7.5 Release Notes

Release Date: 2015-07-30 // over 8 years ago
    • (breaking change) 0 is not a prefix for octal numbers anymore. Use 0o
    • (breaking change) Renamed MissingKey to KeyError
    • (breaking change) Renamed IndexOutOfBounds to IndexError
    • ๐Ÿ›  Fixed all exception-handling related bugs.
    • ๐Ÿ‘ Allow nested and multiline ternary expressions (thanks @daviswahl)
    • ๐Ÿ‘ Allow assigning to _ (underscore), give error when trying to read from it
    • Macros can now also receive the following nodes: And, Or, Case, RangeLiteral and StringInterpolation. And and Or have left and right methods.
    • โž• Added -e option to hierarchy command to filter types by a regex
    • โž• Added -v as an alias of --version
    • โž• Added -h as an alias of --help
    • โž• Added Array#transpose (thanks @rhysd)
    • โž• Added Benchmark#ips (thanks @will)
    • โž• Added Hash#merge(&block) and Hash#merge!(&block) (thanks @yui-knk)
    • โž• Added Hash#invert (thanks @yui-knk)
    • โž• Added Bool#^ (thanks @yui-knk)
    • Added Enumerable#drop, Enumerable#drop_while and Enumerable#take_while (thanks @PragTob)
    • โž• Added Enumerable#none? (thanks @yui-knk)
    • โž• Added Set#subset?, Set#superset? and Set#intersects? (thanks @yui-knk)
    • โž• Added Set#new(Enumerable) (thanks @yui-knk)
    • โž• Added String#succ (thanks @porras and @Exilor)
    • โž• Added Array#* (thanks @porras)
    • โž• Added Char#===(Int) and Int#===(Char) (thanks @will)
    • โž• Added StringLiteral#camelcase and StringLiteral#underscore in macros
    • โž• Added Expressions#expressions in macros
    • โž• Added Cast#obj and Cast#to in macros
    • โž• Added ASTNode#class_name in macros (thanks @yui-knk)
    • โž• Added Array#push/Array#<< and Array#unshift in macros (thanks @ysbaddaden)
    • โž• Added Def#visibility in macros (thanks @ysbaddaden)
    • โž• Added String#codepoints and String#each_codepoint (thanks @jhass)
    • ๐Ÿ‘ Char#to_i(base) now supports bases from 2 to 36
    • Set#| now correctly accepts a set of a possible different type (thanks @yui-knk)
    • Flush STDERR on exit (thanks @jbbarth)
    • HTTP::Client methods accept an optional block, which will yield an HTTP::Response with a non-nil body_io property to consume the response's IO
    • Document URI, UDPSocket (thanks @davydovanton)
    • ๐Ÿ‘Œ Improved URI class (thanks @will)
    • Define $~ in String#gsub and String#scan
    • Define $? in Process.run
    • ๐Ÿ›  Lots of bug fixes and small improvements