Releases
0.29.0
Standard library
Fix example codes in multiple places. (#7718 , thanks @maiha )
Macros
Numeric
(performance) Optimize String#to_u
methods for the case of a negative number. (#7446 , thanks @r00ster91 )
Text
(breaking-change) Deprecate String#at
, use String#char_at
. (#7633 , thanks @j8r )
(breaking-change) Change String#to_i
to parse octals with prefix 0o
(but not 0
by default). (#7691 , thanks @icy-arctic-fox )
(breaking-change) Restrict some String#to_i
arguments to be Bool
. (#7436 , thanks @j8r )
Add downcase
option to String#camelcase
. (#7717 , thanks @wontruefree)
Add support for unicode 12.0.0. (#7721 , thanks @Blacksmoke16 )
Fix Unicode
not showing up in the API docs. (#7720 , thanks @r00ster91 )
Collections
Serialization
Time
Files
(breaking-change) Rename File::DEVNULL
to File::NULL
. (#7778 , thanks @r00ster91 )
Fix handling of files starting with ~
in Path#expand
. (#7768 , thanks @byroot )
Fix Dir.glob(match_hidden: false)
not hiding hidden files properly. (#7774 , thanks @ayazhafiz )
Networking
Crypto
(breaking-change) Rename Crypto::Bcrypt::Password#==
to #verify
. (#7790 , thanks @asterite )
Concurrency
Compiler
(breaking-change) Fix require relative path resolution. (#7758 , thanks @asterite )
(breaking-change) Disallow '!' or '?' at the end of the LHS in an assignment. (#7582 , thanks @Maroo-b )
Allow running compiler_specs with specific flags. (#7837 , thanks @bcardiff )
Fix extend from generic types. (#7812 , thanks @asterite )
Don't virtualize types in Union(...)
and keep more accurate type information. (#7815 , thanks @asterite )
Do not generate debug metadata for arguments of naked functions. (#7775 , thanks @eyusupov )
Detect deprecation on initialize methods and methods with named args. (#7724 , thanks @bcardiff )
Fix track of AST nodes location. (#7827 , thanks @asterite )
Fix offsetof
not being usable with macros. (#7703 , thanks @malte-v )
Allow parsing of call &.@ivar
. (#7754 , thanks @asterite )
Fix Def#to_s
with **options
and &block
. (#7854 , thanks @makenowjust )
Check pointerof
inner expression for errors. (#7755 , thanks @asterite )
Fix some error messages. (#7833 , thanks @asterite )
Improve wording of pointerof(self)
parser error. (#7542 , thanks @r00ster91 )
Fix typo. (#7828 , thanks @RX14 )
Language semantics
(breaking-change) Fix new/initialize lookup regarding modules. (#7818 , thanks @asterite )
(breaking-change) Don't precompute sizeof
on abstract structs and modules. (#7801 , thanks @asterite )
Consider macro calls in @ivar
initializer. (#7750 , thanks @asterite )
Give precedence to T.class
over Class
in method lookup. (#7759 , thanks @asterite )
Honor enum base type on non-default values. (#7776 , thanks @asterite )
Avoid lookup of private def defined inside macro. (#7733 , thanks @asterite )
Improve type flow of var in if
with &&
. (#7785 , thanks @asterite )
Fix handling of NoReturn
in if
. (#7792 , thanks @asterite )
Improve edge issues with while
and rescue
. (#7806 , thanks @asterite )
Improve error on macro call in proc pointer. (#7757 , thanks @asterite )
Fix error on named args forwarding. (#7756 , thanks @asterite )
Check NoReturn
type in named args. (#7761 , thanks @asterite )
Fix internal handling of unbound/abstract generic types. (#7781 , thanks @asterite )
Fix wrong cast to unbound generic type. (#7793 , thanks @asterite )
Fix subclass observer to handle edge case call over generic types. (#7735 , thanks @asterite )
Fix edge case of abstract struct with one subclass. (#7787 , thanks @asterite )
Make automatic cast work with with ... yield
. (#7746 , thanks @asterite )
Tools
Formatter
Others
You can’t perform that action at this time.