Skip to content

0.27.1

Compare
Choose a tag to compare
@bcardiff bcardiff released this 01 Feb 16:01
· 4396 commits to master since this release
64137d0

Language changes

Standard library

Macros

Numeric

  • Fixed scale issues when dividing BigDecimal. (#7218, thanks @Sija)
  • Allow underscores in the String passed to Big* constructors. (#7107, thanks @Sija)
  • Add conversion methods and docs to Complex. (#5440, thanks @Sija)
  • Add specs for Int128, UInt128. (#7173, thanks @bcardiff)
  • Add unsafe number ops value.to_X!/T.new!/Int#&**. (#7226, thanks @bcardiff)
  • Add overflow detection with preview opt-in. (#7206, thanks @bcardiff)

Text

Collections

Serialization

Time

  • Fixed Time::Span initializer and sleep for big seconds. (#7221, thanks @asterite)
  • Fixed docs to show proper use of parse. (#7035, thanks @jwoertink)
  • Add missing Float#weeks method similar to Int#weeks. (#7165, thanks @vlazar)

Files

Networking

Crypto

System

  • Fixed inline ASM when compiling for ARM. (#7041, thanks @omarroth)
  • Implement Crystal::System for Win32. (#6972, thanks @markrjr)
  • Add Errno#errno_message getter. (#6702, thanks @r00ster91)

Spec

Compiler

  • Fixed how LLVM::Type.const_int emit Int128 literals. (#7135, thanks @bcardiff)
  • Fixed ICE related to named tuples. (#7163, thanks @asterite)
  • Fixed automatic casting for private top-level methods. (#7310, thanks @asterite)
  • Give proper error if defining initialize inside enum, allow Enum.new. (#7266, thanks @asterite)
  • Give proper error when trying to access instance variable of union type. (#7194, thanks @asterite)
  • Give proper error when trying to instantiate Module. (#6735, thanks @r00ster91)
  • Give proper error related to named arguments. (#7288, thanks @asterite)
  • Parse required comma between block args. (#7343, thanks @asterite)
  • Improve inference in recursion that involves blocks. (#7161, thanks @asterite)
  • Add locations to all expanded macro arguments. (#7008, thanks @makenowjust)
  • Turn a not compiler specific error while requiring into ICE. (#7208, thanks @makenowjust)
  • Remove old nil? error on pointer types. (#7180, thanks @asterite)
  • Improve too big tuple and named tuple error message. (#7131, thanks @r00ster91)
  • Workaround buggy offset debug info values. (#7335, thanks @bcardiff)
  • Refactor extract helper methods to emit Float32, Float64 values. (#7134, thanks @bcardiff)
  • Refactor filename resolution logic out of interpret_run. (#7051, thanks @Sija)
  • Refactor internals regarding overflow. (#7262, thanks @bcardiff)
  • Refactor Crystal::Codegen::Target and consolidate triple handling. (#7282, #7317, thanks @RX14, @bcardiff)

Tools

Formatter

Doc generator

Others