Skip to content

crystal 1.14.0#193336

Merged
BrewTestBot merged 2 commits intomasterfrom
bump-crystal-1.14.0
Oct 9, 2024
Merged

crystal 1.14.0#193336
BrewTestBot merged 2 commits intomasterfrom
bump-crystal-1.14.0

Conversation

@BrewTestBot
Copy link
Contributor

@BrewTestBot BrewTestBot commented Oct 9, 2024

Created by brew bump


Created with brew bump-formula-pr.

  • resource blocks have been checked for updates.
release notes
### Features

lang

  • Allow ^ in constant numeric expressions (#14951, thanks @HertzDevil)

stdlib

  • Add support for Windows on aarch64 (#14911, thanks @HertzDevil)
  • (collection) [breaking] Add support for negative start index in Slice#[start, count] (#14778, thanks @ysbaddaden)
  • (collection) Add Slice#same? (#14728, thanks @straight-shoota)
  • (concurrency) Add WaitGroup.wait and WaitGroup#spawn (#14837, thanks @jgaskins)
  • (concurrency) Open non-blocking regular files as overlapped on Windows (#14921, thanks @HertzDevil)
  • (concurrency) Support non-blocking File#read and #write on Windows (#14940, thanks @HertzDevil)
  • (concurrency) Support non-blocking File#read_at on Windows (#14958, thanks @HertzDevil)
  • (concurrency) Support non-blocking Process.run standard streams on Windows (#14941, thanks @HertzDevil)
  • (concurrency) Support IO::FileDescriptor#flock_* on non-blocking files on Windows (#14943, thanks @HertzDevil)
  • (concurrency) Emulate non-blocking STDIN console on Windows (#14947, thanks @HertzDevil)
  • (concurrency) Async DNS resolution on Windows (#14979, thanks @HertzDevil)
  • (crypto) Update LibCrypto bindings for LibreSSL 3.5+ (#14872, thanks @straight-shoota)
  • (llvm) Expose LLVM instruction builder for neg and fneg (#14774, thanks @JarnaChao09)
  • (llvm) [experimental] Add minimal LLVM OrcV2 bindings (#14887, thanks @HertzDevil)
  • (llvm) Add LLVM::Builder#finalize (#14892, thanks @JarnaChao09)
  • (llvm) Support LLVM 19.1 (#14842, thanks @HertzDevil)
  • (macros) Add Crystal::Macros::TypeNode#has_inner_pointers? (#14847, thanks @HertzDevil)
  • (macros) Add HashLiteral#has_key? and NamedTupleLiteral#has_key? (#14890, thanks @kamil-gwozdz)
  • (numeric) Implement floating-point manipulation functions for BigFloat (#11007, thanks @HertzDevil)
  • (runtime) Stop & start the world (undocumented API) (#14729, thanks @ysbaddaden)
  • (runtime) Add Pointer::Appender#to_slice (#14874, thanks @straight-shoota)
  • (serialization) Add URI.from_json_object_key? and URI#to_json_object_key (#14834, thanks @nobodywasishere)
  • (serialization) Add URI::Params::Serializable (#14684, thanks @Blacksmoke16)
  • (system) Enable full backtrace for exception in process spawn (#14796, thanks @straight-shoota)
  • (system) Implement System::User on Windows (#14933, thanks @HertzDevil)
  • (system) Implement System::Group on Windows (#14945, thanks @HertzDevil)
  • (system) Add methods to Crystal::EventLoop (#14977, thanks @ysbaddaden)
  • (text) Add underscore_to_space option to String#titleize (#14822, thanks @Blacksmoke16)
  • (text) Support Unicode 16.0.0 (#14997, thanks @HertzDevil)

compiler

  • (cli) Adds initial support for external commands (#14953, thanks @bcardiff)
  • (interpreter) Add Crystal::Repl::Value#runtime_type (#14156, thanks @bcardiff)
  • (interpreter) Implement Reference.pre_initialize in the interpreter (#14968, thanks @HertzDevil)
  • (interpreter) Enable the interpreter on Windows (#14964, thanks @HertzDevil)

Bugfixes

lang

  • Fix Slice.literal for multiple calls with identical signature (#15009, thanks @HertzDevil)
  • (macros) Add location info to some MacroIf nodes (#14885, thanks @Blacksmoke16)

stdlib

  • (collection) Fix Range#size return type to Int32 (#14588, thanks @straight-shoota)
  • (concurrency) Update DeallocationStack for Windows context switch (#15032, thanks @HertzDevil)
  • (concurrency) Fix race condition in pthread_create handle initialization (#15043, thanks @HertzDevil)
  • (files) [regression] Fix File#truncate and #lock for Win32 append-mode files (#14706, thanks @HertzDevil)
  • (files) [breaking] Avoid flush in finalizers for Socket and IO::FileDescriptor (#14882, thanks @straight-shoota)
  • (files) Make IO::Buffered#buffer_size= idempotent (#14855, thanks @jgaskins)
  • (macros) Implement #sort_by inside macros using Enumerable#sort_by (#14895, thanks @HertzDevil)
  • (macros) Fix internal error when calling #is_a? on External nodes (#14918, thanks @HertzDevil)
  • (networking) Use correct timeout for Socket#connect on Windows (#14961, thanks @HertzDevil)
  • (numeric) Fix handle empty string in String#to_f(whitespace: false) (#14902, thanks @Blacksmoke16)
  • (numeric) Fix exponent wrapping in Math.frexp(BigFloat) for very large values (#14971, thanks @HertzDevil)
  • (numeric) Fix exponent overflow in BigFloat#to_s for very large values (#14982, thanks @HertzDevil)
  • (numeric) Add missing @[Link(dll:)] annotation to MPIR (#15003, thanks @HertzDevil)
  • (runtime) Add missing return type of LibC.VirtualQuery (#15036, thanks @HertzDevil)
  • (runtime) Fix main stack top detection on musl-libc (#15047, thanks @HertzDevil)
  • (serialization) [breaking] Remove XML::Error.errors (#14936, thanks @straight-shoota)
  • (specs) [regression] Fix Expectations::Be for module type (#14926, thanks @straight-shoota)
  • (system) Fix return type restriction for ENV.fetch (#14919, thanks @straight-shoota)
  • (system) #file_descriptor_close should set @closed (UNIX) (#14973, thanks @ysbaddaden)
  • (system) reinit event loop first after fork (UNIX) (#14975, thanks @ysbaddaden)
  • (text) Fix avoid linking libpcre when unused (#14891, thanks @kojix2)
  • (text) Add type restriction to String#byte_index offset parameter (#14981, thanks @straight-shoota)

compiler

  • (cli) Add error handling for linker flag sub commands (#14932, thanks @straight-shoota)
  • (codegen) Allow returning Procs from top-level funs (#14917, thanks @HertzDevil)
  • (codegen) Fix CRT static-dynamic linking conflict in specs with C sources (#14970, thanks @HertzDevil)
  • (interpreter) Fix Linux getrandom failure in interpreted code (#15035, thanks @HertzDevil)
  • (interpreter) Fix undefined behavior in interpreter mixed union upcast (#15042, thanks @HertzDevil)
  • (semantic) Fix TopLevelVisitor adding existing ClassDef type to current scope (#15067, thanks @straight-shoota)

tools

  • (dependencies) Fix crystal tool dependencies format flat (#14927, thanks @straight-shoota)
  • (dependencies) Fix crystal tool dependencies filters for Windows paths (#14928, thanks @straight-shoota)
  • (docs-generator) Fix doc comment above annotation with macro expansion (#14849, thanks @Blacksmoke16)
  • (unreachable) Fix crystal tool unreachable & co visiting circular hierarchies (#15065, thanks @straight-shoota)

Chores

stdlib

  • [deprecation] Use Time::Span in Benchmark.ips (#14805, thanks @HertzDevil)
  • [deprecation] Deprecate ::sleep(Number) (#14962, thanks @HertzDevil)
  • (runtime) [deprecation] Deprecate Pointer.new(Int) (#14875, thanks @straight-shoota)

compiler

  • (interpreter) Remove TODO in Crystal::Loader on Windows (#14988, thanks @HertzDevil)
  • (interpreter:repl) Update REPLy version (#14950, thanks @HertzDevil)

Performance

stdlib

  • (collection) Always use unstable sort for simple types (#14825, thanks @HertzDevil)
  • (collection) Optimize Hash#transform_{keys,values} (#14502, thanks @jgaskins)
  • (numeric) Optimize arithmetic between BigFloat and integers (#14944, thanks @HertzDevil)
  • (runtime) [regression] Cache Exception::CallStack.empty to avoid repeat Array allocation (#15025, thanks @straight-shoota)

compiler

  • Avoid unwinding the stack on hot path in method call lookups (#15002, thanks @ggiraldez)
  • (codegen) Reduce calls to Crystal::Type#remove_indirection in module dispatch (#14992, thanks @HertzDevil)
  • (codegen) Compiler: enable parallel codegen with MT (#14748, thanks @ysbaddaden)

Refactor

stdlib

  • (concurrency) Extract select from src/channel.cr (#14912, thanks @straight-shoota)
  • (concurrency) Make Crystal::IOCP::OverlappedOperation abstract (#14987, thanks @HertzDevil)
  • (files) Move #evented_read, #evented_write into Crystal::LibEvent::EventLoop (#14883, thanks @straight-shoota)
  • (networking) Simplify Socket::Addrinfo.getaddrinfo(&) (#14956, thanks @HertzDevil)
  • (networking) Add Crystal::System::Addrinfo (#14957, thanks @HertzDevil)
  • (runtime) Add Exception::CallStack.empty (#15017, thanks @straight-shoota)
  • (system) Refactor cancellation of IOCP::OverlappedOperation (#14754, thanks @straight-shoota)
  • (system) Include Crystal::System::Group instead of extending it (#14930, thanks @HertzDevil)
  • (system) Include Crystal::System::User instead of extending it (#14929, thanks @HertzDevil)
  • (system) Fix: Crystal::SpinLock doesn't need to be allocated on the HEAP (#14972, thanks @ysbaddaden)
  • (system) Don't involve evloop after fork in System::Process.spawn (UNIX) (#14974, thanks @ysbaddaden)
  • (system) Refactor EventLoop interface for sleeps & select timeouts (#14980, thanks @ysbaddaden)

compiler

  • (codegen) Compiler: refactor codegen (#14760, thanks @ysbaddaden)
  • (interpreter) Refactor interpreter stack code to avoid duplicate macro expansion (#14876, thanks @straight-shoota)

Documentation

stdlib

  • (collection) [breaking] Hide Hash::Entry from public API docs (#14881, thanks @Blacksmoke16)
  • (collection) Fix typos in docs for Set and Hash (#14889, thanks @philipp-classen)
  • (llvm) Add @[Experimental] to LLVM::DIBuilder (#14854, thanks @HertzDevil)
  • (networking) Add documentation about synchronous DNS resolution (#15027, thanks @straight-shoota)
  • (networking) Add uri/json to docs_main (#15069, thanks @straight-shoota)
  • (runtime) Add docs about Pointer's alignment requirement (#14853, thanks @HertzDevil)
  • (runtime) Reword Pointer#memcmp's documentation (#14818, thanks @HertzDevil)
  • (runtime) Add documentation for NoReturn and Void (#14817, thanks @nobodywasishere)

Specs

stdlib

  • Remove some uses of deprecated overloads in standard library specs (#14963, thanks @HertzDevil)
  • (collection) Disable Tuple#to_static_array spec on AArch64 (#14844, thanks @HertzDevil)
  • (serialization) Add JSON parsing UTF-8 spec (#14823, thanks @Blacksmoke16)
  • (text) Add specs for String#index, #rindex search for Char::REPLACEMENT (#14946, thanks @straight-shoota)

compiler

  • (codegen) Support return types in codegen specs (#14888, thanks @HertzDevil)
  • (codegen) Fix codegen spec for ProcPointer of virtual type (#14903, thanks @HertzDevil)
  • (codegen) Support LLVM OrcV2 codegen specs (#14886, thanks @HertzDevil)
  • (codegen) Don't spawn subprocess if codegen spec uses flags but not the prelude (#14904, thanks @HertzDevil)

Infrastructure

  • Changelog for 1.14.0 (#14969, thanks @straight-shoota)
  • Update previous Crystal release 1.13.1 (#14810, thanks @straight-shoota)
  • Refactor GitHub changelog generator print special infra (#14795, thanks @straight-shoota)
  • Update distribution-scripts (#14877, thanks @straight-shoota)
  • Update version in shard.yml (#14909, thanks @straight-shoota)
  • Merge release/1.13@1.13.2 (#14924, thanks @straight-shoota)
  • Update previous Crystal release 1.13.2 (#14925, thanks @straight-shoota)
  • Merge release/1.13@1.13.3 (#15012, thanks @straight-shoota)
  • Update previous Crystal release 1.13.3 (#15016, thanks @straight-shoota)
  • [regression] Fix SOURCE_DATE_EPOCH in Makefile.win (#14922, thanks @HertzDevil)
  • (ci) Update actions/checkout action to v4 - autoclosed (#14896, thanks @renovate)
  • (ci) Update LLVM 18 for wasm32-test (#14821, thanks @straight-shoota)
  • (ci) Pin package repos for OpenSSL packages (#14831, thanks @straight-shoota)
  • (ci) Upgrade XCode 15.4.0 (#14794, thanks @straight-shoota)
  • (ci) Update GH Actions (#14535, thanks @renovate)
  • (ci) Add test for OpenSSL 3.3 (#14873, thanks @straight-shoota)
  • (ci) Update GitHub runner to macos-14 (#14833, thanks @straight-shoota)
  • (ci) Refactor SSL workflow with job matrix (#14899, thanks @straight-shoota)
  • (ci) Drop the non-release Windows compiler artifact (#15000, thanks @HertzDevil)
  • (ci) Fix compiler artifact name in WindowsCI (#15021, thanks @straight-shoota)
  • (ci) Restrict CI runners from runs-on to 8GB (#15030, thanks @straight-shoota)
  • (ci) Increase memory for stdlib CI runners from runs-on to 16GB (#15044, thanks @straight-shoota)
  • (ci) Use Cygwin to build libiconv on Windows CI (#14999, thanks @HertzDevil)
  • (ci) Use our own libffi repository on Windows CI (#14998, thanks @HertzDevil)

@github-actions github-actions bot added the bump-formula-pr PR was created using `brew bump-formula-pr` label Oct 9, 2024
@github-actions
Copy link
Contributor

github-actions bot commented Oct 9, 2024

🤖 An automated task has requested bottles to be published to this PR.

Copy link
Member

@carlocab carlocab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This supports LLVM 19.

@github-actions github-actions bot added the CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch. label Oct 9, 2024
@BrewTestBot BrewTestBot enabled auto-merge October 9, 2024 13:26
@BrewTestBot BrewTestBot added this pull request to the merge queue Oct 9, 2024
Merged via the queue into master with commit 1b83eaa Oct 9, 2024
@BrewTestBot BrewTestBot deleted the bump-crystal-1.14.0 branch October 9, 2024 13:33
@carlocab carlocab mentioned this pull request Oct 9, 2024
6 tasks
carlocab added a commit that referenced this pull request Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump-formula-pr PR was created using `brew bump-formula-pr` CI-published-bottle-commits The commits for the built bottles have been pushed to the PR branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants