Releases
v0.24.1
RX14
released this
23 Dec 20:42
New features
Add ThinLTO support for faster release builds in LLVM 4.0 and above. (#4367 , thanks @bcardiff )
(breaking-change) Add UUID
type. Random::Secure.uuid
has been replaced with UUID.random
. (#4453 , thanks @wontruefree)
Add a BigDecimal
class for arbitrary precision, exact, decimal numbers. (#4876 and #5255 , thanks @vegai and @Sija )
Allow Set
to work as a case condition, which matches when the case variable is inside the set. (#5269 , thanks @makenowjust )
(breaking-change) Change Time::Format
codes to allow more robust options for parsing sub-second precision times. (#5317 , thanks @bcardiff )
Add Time.utc
, an alias of Time.new
which shortens creating UTC times. (#5321 , thanks @straight-shoota )
Add custom extension support to Tempfile
. (#5264 , thanks @jreinert )
Add reduce
method to TupleLiteral
and ArrayLiteral
when using macros. (#5294 , thanks @javanut13 )
Export a JSON representation of the documentation in the generated output. (#4746 and #5228 , thanks @straight-shoota )
Make gc/none
garbage collection compile again and allow it to be enbled using -Dgc_none
compiler flag. (#5314 , thanks @ysbaddaden )
Standard library bugs fixed
Make String#[]
unable to read out-of-bounds when the string ends in a unicode character. (#5257 , thanks @Papierkorb )
Fix incorrect parsing of long JSON floating point values. (#5323 , thanks @benoist )
Replace the default hash function with one resistant to hash DoS. (#5146 , thanks @funny-falcon )
Ensure equal numbers always have the same hashcode. (#5276 , thanks @akzhan )
Fix struct equality when two structs descend from the same abstract struct. (#5254 , thanks @hinrik )
Fix URI#full_path
not to append a ?
unless the query params are nonempty. (#5340 , thanks @paulcsmith )
Fix HTTP::Params.parse
to parse &&
correctly. (#5274 , thanks @akiicat )
Disallow null bytes in ENV
keys and values. (#5216 , thanks @Papierkorb )
Disallow null bytes in XML::Node
names and content. (#5200 , thanks @RX14 )
Fix IO#blocking=
on OpenBSD. (#5283 , thanks @wmoxam )
Fix linking programs in OpenBSD. (#5282 , thanks @wmoxam )
Compiler bugs fixed
Stop incorrectly finding top-level methods when searching for a super
method. (#5202 , thanks @lbguilherme )
Fix parsing regex literals starting with a ;
directly after a call (ex p /;/
). (#5208 , thanks @makenowjust )
Correct a case where Expressions#to_s
could produce invalid output, causing macro expansion to fail. (#5226 , thanks @asterite )
Give error instead of crashing when self
is used at the top level. (#5227 , thanks @makenowjust )
Give error instead of crashing when using instance_sizeof
on a generic type without providing it's type arguments. (#5209 , thanks @lbguilherme )
Fix parsing calls when short block syntax (&.foo
) is followed by a newline. (#5237 , thanks @makenowjust )
Give error instead of crashing when an unterminated string array literal (%w()
) sits at the end of a file. (#5241 , thanks @asterite )
Give error when attempting to use macro yield ({{yield}}
) outside a macro. (#5307 , thanks @makenowjust )
Fix error related to generic inheritance. (#5284 , thanks @makenowjust )
Fix compiler crash when using recursive alias and generics. (#5330 , thanks @makenowjust )
Fix parsing foo(+1)
as foo + 1
instead of foo(1)
where foo
was a local variable. (#5336 , thanks @makenowjust )
Documentation generator: Keep quoted symbol literals quoted when syntax highlighting code blocks in documentation output. (#5238 , thanks @makenowjust )
Documentation generator: Keep the original delimiter used when syntax highlighting string array literals. (#5297 , thanks @makenowjust )
Documentation generator: Fix XSS vulnerability when syntax highlighting string array literals. (#5259 , thanks @makenowjust )
Formatter: fix indentation of the last comment in a begin
/end
block. (#5198 , thanks @makenowjust )
Formatter: fix formatting parentheses with multiple lines in. (#5268 , thanks @makenowjust )
Formatter: fix formatting $1?
. (#5313 , thanks @makenowjust )
Formatter: ensure to insert a space between {
and %
characters to avoid forming {%
macros. (#5278 , thanks @makenowjust )
Misc
Fix Makefile
, CI, and gitignore to use the new documentation path after #4937 . (#5217 , thanks @straight-shoota )
Miscellaneous code cleanups. (#5318 , #5341 and #5366 , thanks @bew and @mig-hub )
Documentation fixes. (#5253 , #5296 , #5300 and #5322 , thanks @arcage , @icyleaf , @straight-shoota and @bew )
Fix the in-repository changelog to include 0.24.0. (#5331 , thanks @sdogruyol )
You can’t perform that action at this time.