Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crystal 1.14.0 #193336

Merged
merged 2 commits into from
Oct 9, 2024
Merged

crystal 1.14.0 #193336

merged 2 commits into from
Oct 9, 2024

Conversation

BrewTestBot
Copy link
Member

@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
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 added this pull request to the merge queue Oct 9, 2024
Merged via the queue into master with commit 1b83eaa Oct 9, 2024
15 checks passed
@BrewTestBot BrewTestBot deleted the bump-crystal-1.14.0 branch October 9, 2024 13:33
carlocab added a commit that referenced this pull request Oct 9, 2024
@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