github crystal-lang/crystal 1.10.0

latest releases: 1.14.0, 1.13.3, 1.13.2...
13 months ago

Features

lang

stdlib

compiler

  • Experimental: Add Slice.literal for numeric slice constants (#13716, thanks @HertzDevil)

tools

Bugfixes

lang

  • (macros) Fix missing normalization of macro expressions (and others) (#13709, thanks @asterite)
  • (macros) Fix block parameter unpacking inside macros (#13813, thanks @HertzDevil)

stdlib

compiler

tools

  • (docs-generator) Fix octicon-link icon color on dark mode (#13670, thanks @GeopJr)
  • (docs-generator) Allow word breaks between module names in docs (#13827, thanks @nobodywasishere)
  • (docs-generator) Fix docs dark mode dropdown background on blink (#13840, thanks @GeopJr)
  • (init) Fix shard crystal version in crystal init (#13730, thanks @xendk)
  • (hierarchy): Fix byte sizes for Procs inside extern structs (#13711, thanks @HertzDevil)

Performance

stdlib

Refactor

stdlib

  • Do not use nilable Pointers (#13710, thanks @HertzDevil)
  • (collection) Use Set(T) instead of Hash(T, Bool) (#13611, thanks @HertzDevil)
  • (concurrency) Use Fiber.inactive inside Fiber#run's ensure block (#13701, thanks @HertzDevil)
  • (crypto) Use JSON::Serializable in scripts/generate_ssl_server_defaults.cr (#13667, thanks @HertzDevil)
  • (crypto) Refactor narrow OpenSSL requires for digest implementations (#13818, thanks @straight-shoota)
  • (networking) [deprecation] Add types to HTTP::StaticFileHandler (#13778, thanks @jkthorne)

compiler

  • Restrict some boolean properties to Bool in the compiler (#13614, thanks @HertzDevil)

Documentation

stdlib

Specs

stdlib

  • (numeric) Update specs for Int::Primitive.from_json (#13835, thanks @HertzDevil)
  • (numeric) Remove overflowing Float#to_u! interpreter primitive specs (#13737, thanks @HertzDevil)
  • (time) Clear Time::Location cache before .load_android specs (#13718, thanks @HertzDevil)

Infrastructure

Don't miss a new crystal release

NewReleases is sending notifications on new releases.