Skip to content

1.4.0

Compare
Choose a tag to compare
@straight-shoota straight-shoota released this 06 Apr 17:25
· 1846 commits to master since this release
1.4.0
ef05e26

Language

Standard Library

Collection

  • Remove Iterator.of(Iterator.stop) from implementations (#11613, thanks @asterite)
  • Add allow Enumerable arguments for Hash#select and #reject (#11750, thanks @mamantoha)
  • Add docs for Hash#reject! (#11691, thanks @wontruefree)
  • Add raising method variants Enumerable#find! and #index! (#11566, thanks @yxhuvud)
  • (performance) Optimize block-less overloads of BitArray#fill (#11450, thanks @HertzDevil)
  • Adds docs for Array#replace (#11682, thanks @wontruefree)
  • (performance) Optimize BitArray's counting methods (#11591, thanks @HertzDevil)
  • Add some return types to Array, Hash, Set and String (#11822, thanks @asterite)
  • Add Hash#update (#11881, thanks @ftarulla)
  • Allow Bytes[] to construct an empty Bytes (#11897, thanks @HertzDevil)
  • Improve BitArray's constructors (#11898, thanks @HertzDevil)
  • Add overload to Enumerable#tally and #tally_by accepting a hash (#11815, thanks @mamantoha)

Crypto

  • Add support for Bcrypt algorithm version 2b (#11595, thanks @docelic)

Files

Macros

Networking

Numeric

  • (breaking-change) Fix: Hide BigDecimal::ZERO and BigDecimal::TEN (#11820, thanks @lbguilherme)
  • (breaking-change) Add support for scientific notation in BigFloat#to_s (#10632, thanks @HertzDevil)
  • Fix: Inspect string in error message for number parsing (#11883, thanks @straight-shoota)
  • Add docs for Complex#zero? (#11697, thanks @wontruefree)
  • Fix E notation parsing in BigDecimal (#9577, thanks @stevegeek)
  • (performance) Optimize Integer decoding from bytes (#11796, thanks @carlhoerberg)

Runtime

Serialization

  • Allow passing instance method or conditional expressions to option ignore_serialize on JSON::Field (#11804, thanks @cyangle)
  • Implement Iterator.from_json and #to_json (#10437, thanks @wonderix)

Specs

System

Text

Time

Compiler

Codegen

  • (performance) Codegen: Do not always request value for Proc#call (#11675, thanks @HertzDevil)

Debugger

Generics

  • Resolve non-type free variables in return type restrictions (#11861, thanks @HertzDevil)
  • Fix recursive pointerof detection with generic splat type variables (#11811, thanks @HertzDevil)

Interpreter

Parser

Semantic

  • (breaking-change) Drop skip_abstract_def_check flag support (#9217, thanks @makenowjust)
  • Add error when instance variable is inherited from module and supertype (#11768, thanks @straight-shoota)
  • Check file-private types for abstract defs and recursive structs (#11838, thanks @HertzDevil)
  • Fix: Prevent eager instance_sizeof on structs (#11856, thanks @mattrberry)
  • Fix: Do not consider global Path in def parameter restriction as free variable (#11862, thanks @HertzDevil)

Tools

Playground

Other