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.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.