WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Releases: crystal-lang/crystal

1.18.2

21 Oct 18:20
1.18.2
635ca37

Choose a tag to compare

Bugfixes

stdlib

  • (files) [regression] Revert type restriction for IO#read_bytes (#16231, thanks @straight-shoota)
  • (runtime) Fix Fiber::ExecutionContext.default_workers_count to avoid taking into account unsupported values (#16227, thanks @Sija)

Infrastructure

1.18.1

17 Oct 17:13
1.18.1
d29a4d8

Choose a tag to compare

Bugfixes

stdlib

  • (networking) [regression] Revert adding type restrictions on HTTP::WebSocket#send etc. (#16218, thanks @straight-shoota)

compiler

Infrastructure

1.18.0

14 Oct 18:37
1.18.0
31039a5

Choose a tag to compare

Features

lang

  • Support ProcPointers of lib funs with parameter types (#16089, thanks @HertzDevil)
  • (annotations) Print deprecation warning on types and aliases (#15962, thanks @ysbaddaden)
  • (annotations) Print deprecation warnings on deprecated method argument (#15999, thanks @ysbaddaden)
  • (macros) [breaking] Expand empty (Named)TupleLiteral to (Named)Tuple.new instead of {} (#16108, thanks @spuun)
  • (macros) Add ArrayLiteral#*, StringLiteral#* and TupleLiteral#* (#16154, #16206, thanks @jneen, @ysbaddaden)

stdlib

compiler

  • (cli) Add the ability to dump type information to a JSON file (#16027, thanks @HertzDevil)
  • (interpreter) Support Proc.new(Void*, Void*) in the interpreter (#16044, thanks @HertzDevil)
  • (interpreter:repl) Fully exit the process on exit! from REPL (#16171, thanks @jneen)
  • (semantic) Resolve types when guessing return type from class method overloads (#16118, thanks @HertzDevil)
  • (semantic) Guess instance variable types from global method calls (#16119, thanks @HertzDevil)

tools

Bugfixes

stdlib

compiler

  • (codegen) Never generate assignments to a block's underscore parameters ([#16057], thanks @HertzDevil)
  • (codegen) Fix @[Primitive] codegen for typedefs ([#16110], thanks @HertzDevil)
  • (interpreter) never generate assignments to a block's underscore parameters ([#16058], thanks @HertzDevil)
  • (interpreter) Add writer.close_on_finalize = false for signal pipe ([#16167], thanks @straight-shoota)
  • (interpreter:repl) Continue REPL prompt if input consists entirely of annotations ([#16045], thanks @HertzDevil)
  • (parser) Disall...
Read more

1.17.1

22 Jul 08:46
1.17.1
19be240

Choose a tag to compare

Bugfixes

tools

  • (docs-generator) [regression] Revert "Handle doc locations when file is in parent directory" (#15996, thanks @Blacksmoke16)

Infrastructure

1.17.0

16 Jul 11:25
1.17.0
d2c705b

Choose a tag to compare

Breaking changes

stdlib

Features

lang

stdlib

compiler

tools

Bugfixes

lang

  • [experimental] Do not use private linkage for slice literal buffers (#15746, thanks @HertzDevil)

stdlib

  • Require NO_COLOR to be non-empty ([#15880], thanks @HertzDevil)
  • (benchmark) Use UInt64 to track iteration count during warm-up calculation in Benchmark::IPS ([#15780], thanks @syeopite)
  • (collection) Fix Array#| for different item types ([#15756], thanks @straight-shoota)
  • (concurrency) Fix calling Fiber::ExecutionContext#enqueue from bare Thread ([#15767], thanks @ysbaddaden)
  • (concurrency) Simplify Crystal::System::Fiber::RESERVED_STACK_SIZE initializer on Windows ([#15820], thanks @HertzDevil)
  • (concurrency) Do not print adjacent nodes in Thread::LinkedList#inspect ([#15829], thanks @HertzDevil)
  • (files) Fix async append to file in IOCP ([#15681], thanks @ysbaddaden)
  • (numeric) [regression] Fix BigFloat#format not compiling ([#15796], thanks @HertzDevil)
  • (numeric) Never output exponent in BigDecimal#format ([#15795], thanks @HertzDevil)
  • (numeric) Preserve precision when passing BigDecimal or BigFloat to sprintf %i ([#15808], thanks @HertzDevil)
  • (numeric) Fix Float32#abs for signed zeros ([#15814], thanks @HertzDevil)
  • (numeric) Ensure unary Float32#- and Float64#- flip sign bit ([#15857], thanks @HertzDevil)
  • (runtime) reopen async File passed to Process.exec and .run (win32) ([#15703], thanks @ysbaddaden)
  • (runtime) raise on manual fiber resume from sleep ([#15744], thanks @ysbaddaden)
  • (runtime) race condition in Fiber::ExecutionContext::Isolated#wait ([#15872], thanks @ysbaddaden)
  • (runtime) Prevent leaking memory when exec_recursive's block r...
Read more

1.16.3

12 May 19:46
1.16.3
3f369d2

Choose a tag to compare

Bugfixes

stdlib

  • (runtime) Fix Crystal::EventLoop::LibEvent and FiberExecutionContext integration (#15759, backported from #15743, thanks @ysbaddaden)

compiler

  • (codegen) Add fallback if __crystal_raise_cast_failed is missing (#15769, backported from #15762, thanks @HertzDevil)
  • (semantic) [regression] Remove type binding on T for Pointer(T)#value= (#15757, backported from #15751, thanks @HertzDevil)

Infrastructure

1.16.2

29 Apr 12:32
1.16.2
84cb0b2

Choose a tag to compare

Bugfixes

stdlib

compiler

  • (semantic) Do not add ReferenceStorage to Value's subclasses twice (#15718, backported from #15706, thanks @HertzDevil)

Refactor

compiler

  • (codegen) Add __crystal_raise_cast_failed for non-interpreted code (#15712, backported from #15708, thanks @HertzDevil)

Infrastructure

1.16.1

16 Apr 17:15
1.16.1
d2369ac

Choose a tag to compare

Bugfixes

stdlib

compiler

Documentation

stdlib

Infrastructure

1.16.0

09 Apr 11:18
1.16.0
53cead6

Choose a tag to compare

Features

lang

  • Support Slice.literal in the interpreter (#15531, thanks @HertzDevil)
  • Support Slice.literal with inferred element type (#15529, thanks @HertzDevil)
  • (macros) Error on TypeNode#instance_vars, #has_inner_pointers? macros in top-level scope (#15293, thanks @straight-shoota)
  • (macros) Support sizeof and alignof inside macros for stable types (#15497, thanks @HertzDevil)

stdlib

compiler

tools

Bugfixes

stdlib

  • (collection) Fix hash @indices can grow larger than Int32::MAX bytes (#15347, thanks @ysbaddaden)
  • (collection) Fix Tuple#to_a(&) for arbitrary block output type (#15431, thanks @straight-shoota)
  • (collection) Fix Range#size for unsigned edge cases (#14978, thanks @straight-shoota)
  • (collection) [breaking] Fix the return type of Enumerable#sum, #product for union elements (#15314, thanks @rvprasad)
  • (concurrency) Fix Reference#exec_recursive, #exec_recursive_clone to be fiber aware (#15361, thanks @ysbaddaden)
  • (concurrency) RFC 2: MT safe fiber context switch on ARM (#15582, thanks @ysbaddaden)
  • (crypto) Fix argument type for EVP_CIPHER_get_flags (#15392, thanks @miry)
  • (files) Never remove UNC share name in Path#dirname (#15583, thanks @HertzDevil)
  • (files) Fix File.exists? for special devices on Windows (#15587, thanks @HertzDevil)
  • (llvm) Fix LLVM version detection for -rc1 (#15410, thanks @HertzDevil)
  • (networking) [breaking] Fix parsing HTTP resource string that looks like absolute URL (#15499, thanks @straight-shoota)
  • (runtime) Fix pkg_config name for libgc bindings on FreeBSD (#15532, thanks @straight-shoota)
  • (runtime) RFC 2: MT safe fiber context switch on AArch64 (#15581, thanks @ysbaddaden)
  • (runtime) Add thread safety to at_exit (#15598, thanks @ysbaddaden)
  • (runtime) Remove top-level calls to LibGC.has_method? for backwards compat (#15635, thanks @straight-shoota)
  • (serialization) Fix Union.from_yaml to prioritize String for quoted scalar (#15405, thanks @straight-shoota)
  • (system) signal handler mustn't depend on the event loop (#15325, thanks @ysbaddaden)
  • (system) Corrects Windows lib lookup in case-sensitive OSes (#15362, thanks @luislavena)
  • (system) Fix permissions application in File.copy (#15520, thanks @straight-shoota)
  • (system) [security] Strip periods, spaces for batch file filtering on Windows (#15573, thanks @GeopJr)
  • (system) Extend Windows Process completion key's lifetime (#15597, thanks @HertzDevil)

compiler

Read more

1.15.1

04 Feb 17:43
1.15.1
89944bf

Choose a tag to compare

Bugfixes

stdlib

  • (networking) Disable directory path redirect when directory_listing=false (#15393, thanks @straight-shoota)
  • (runtime) [regression] abstract EventLoop::Polling#system_add invalid signature (#15380, backported from #15358, thanks @straight-shoota)
  • (system) [regression] Fix GC sig_suspend, sig_resume for gc_none (#15382, backported from #15349, thanks @ysbaddaden)

Documentation

stdlib

  • (system) Fix code example in Process::Status#exit_code docs (#15381, backported from #15351, thanks @zw963)

Infrastructure