Skip to content

Releases: crystal-lang/crystal

1.9.0

11 Jul 15:33
1.9.0
6f97ec7
Compare
Choose a tag to compare

Breaking

stdlib

Features

lang

stdlib

compiler

tools

  • (docs-generator) Add dark mode to docs (#13512, thanks @GeopJr)
  • (docs-generator) Add mobile support to docs (#13515, thanks @GeopJr)
  • (formatter) [security] Formatter: escape bi-directional control characters within strings (#13067, thanks @HertzDevil)

Bugfixes

stdlib

  • (collection) Fix Array#flatten to discard Iterator::Stop (#13388, thanks @straight-shoota)
  • (collection) Fix return type of Iterator#chunk and Enumerable#chunks without Drop (#13506, thanks @straight-shoota)
  • (collection) Fix Iterator#with_index(offset) with non-Int32 offset (#13612, thanks @HertzDevil)
  • (concurrency) Fix preview_mt infinite loop on Windows (#13419, thanks @HertzDevil)
  • (concurrency) Fix Atomic#max and #min for signed enums (#13524, thanks @HertzDevil)
  • (concurrency) Fix timeout events getting lost on Windows (#13525, thanks @HertzDevil)
  • (concurrency) Support Atomic(T)#compare_and_set when T is a reference union (#13565, thanks @HertzDevil)
  • (files) Fix Dir#info on Windows (#13395, thanks @HertzDevil)
  • (files) Windows: open standard streams in binary mode (#13397, thanks @HertzDevil)
  • (files) Fix File.info(File::NULL) on Windows (#13421, thanks @HertzDevil)
  • (files) Allow File.delete to remove read-only files on Windows (#13462, thanks @HertzDevil)
  • (files) Make fcntl defined on all platforms (#13495, thanks @HertzDevil)
  • (files) Allow Dir.delete to remove read-only directories on Windows (#13626, thanks @HertzDevil)
  • (files) Use current directory's root for Dir.glob("/...") on Windows (#13628, thanks @HertzDevil)
  • (llvm) Fix LLVM.default_target_triple to normalize aarch64 darwin target (#13597, thanks @straight-shoota)
  • (log) Fix Log::Builder append BroadcastBackend to itself (#13405, thanks @straight-shoota)
  • (macros) Fix error message for calling record macro with kwargs (#13367, thanks @a-alhusaini)
  • (networking) Remove double URL escape in HTTP::Server::Response.redirect (#13321, thanks @threez)
  • (networking) Fix WebSocket capitalization in docs (#13331, thanks @joshrickard)
  • (networking) Fix TCPSocket#tcp_keepalive_idle on Windows (#13364, thanks @HertzDevil)
  • (networking) Fix client-side TCPSocket#remote_address on ...
Read more

1.8.2

09 May 08:53
1.8.2
7aa5cdd
Compare
Choose a tag to compare

Standard Library

Collection

Log

Serialization

  • Fixup for JSON::Serializable on certain recursively defined types (#13430, thanks @kostya)

Text

  • Fix String#scan with empty Regex match at multibyte char (#13387, thanks @HertzDevil)
  • (performance) Check subject UTF-8 validity just once for String#gsub, #scan, #split (#13406, thanks @HertzDevil)

Compiler

Codegen

Other

1.8.1

20 Apr 12:58
1.8.1
a59a3db
Compare
Choose a tag to compare

Standard Library

Serialization

  • Fix JSON::Serializable on certain recursively defined types (#13344, thanks @HertzDevil)

Text

1.8.0

14 Apr 14:15
1.8.0
14bfa99
Compare
Choose a tag to compare

Language

Standard Library

Collection

Concurrency

Files

LLVM

Networking

Numeric

Runtime

Serialization

Specs

Read more

1.7.3

07 Mar 14:33
1.7.3
d61a01e
Compare
Choose a tag to compare

Standard Library

Text

Compiler

Generics

  • Explicitly treat unbound type vars in generic class methods as free variables (#13125, thanks @HertzDevil)

Other

1.7.2

23 Jan 17:07
1.7.2
29f9ac5
Compare
Choose a tag to compare

Runtime

Compiler

Codegen

Parser

Other

1.7.1

17 Jan 16:16
1.7.1
643c8e5
Compare
Choose a tag to compare

Tools

Playground

Other

1.7.0

09 Jan 16:51
016578f
Compare
Choose a tag to compare

Language

  • Add lib functions earlier so that they are visible in top-level macros (#12848, thanks @asterite)

Standard Library

Collection

Concurrency

Crypto

  • (breaking-change) Implement Digest class in Digest::CRC32 and Digest::Adler32 (#11535, thanks @BlobCodes)
  • Fix OpenSSL::SSL::Context::Client#alpn_protocol= (#12724, thanks @jaclarke)
  • Fix HTTP::Client certificate validation error on FQDN (host with trailing dot) (#12778, thanks @compumike)
  • Enable arc4random(3) on all supported BSDs and macOS/Darwin (#12608, thanks @dmgk)

Files

Macros

Networking

Numeric

Runtime

Serialization

Specs

System

Text

Read more

1.6.2

03 Nov 17:21
1.6.2
879691b
Compare
Choose a tag to compare

Language

Compiler

  • Compiler: handle yield expressions without a type (#12679, thanks @asterite)
  • Partial revert "Compiler: refactor and slightly optimize merging two types (#12436)" (#12709, thanks @caspiano)

Semantic

  • Compiler: ignore type filters when accepting cast for obj and to (#12668, thanks @asterite)

Other

  • (security) CI: Update to OpenSSL 3.0.7 for bundled lib on Windows (#12712, thanks @beta-ziliani)

1.6.1

21 Oct 11:48
1.6.1
fc61bd6
Compare
Choose a tag to compare

Compiler

Interpreter

Semantic

  • Treat single splats with same restriction as equivalent (#12584, thanks @HertzDevil)

Tools

Formatter

  • Formatter: escape backslashes in macro literals when subformatting (#12582, thanks @asterite)

Playground

Other