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.12.0 #168465

Merged
merged 2 commits into from
Apr 9, 2024
Merged

crystal 1.12.0 #168465

merged 2 commits into from
Apr 9, 2024

Conversation

BrewTestBot
Copy link
Member

@BrewTestBot BrewTestBot commented Apr 9, 2024

Created by brew bump


Created with brew bump-formula-pr.

  • resource blocks have been checked for updates.
release notes
## [1.12.0] (2024-04-09)

Features

lang

  • Allow multiple parameters and blocks for operators ending in = (#14159, thanks @HertzDevil)

stdlib

  • (concurrency) MT: reduce interleaved backtraces in spawn unhandled exceptions (#14220, thanks @ysbaddaden)
  • (concurrency) Fix: opening/reading from fifo/chardev files are blocking the thread (#14255, thanks @ysbaddaden)
  • (concurrency) Fix: Atomics and Locks (ARM, AArch64, X86) (#14293, thanks @ysbaddaden)
  • (files) Add IO::FileDescriptor::Handle (#14390, thanks @straight-shoota)
  • (macros) Add macro methods for lib-related nodes (#14218, thanks @HertzDevil)
  • (macros) Add macro methods for Primitive (#14263, thanks @HertzDevil)
  • (macros) Add macro methods for TypeOf (#14262, thanks @HertzDevil)
  • (macros) Add macro methods for Alias (#14261, thanks @HertzDevil)
  • (macros) Add macro methods for Asm and AsmOperand (#14268, thanks @HertzDevil)
  • (macros) Relax delegate's setter detection (#14282, thanks @HertzDevil)
  • (numeric) Add BigRational#%, #tdiv, #remainder (#14306, thanks @HertzDevil)
  • (runtime) [experimental] Add ReferenceStorage for manual allocation of references (#14270, thanks @HertzDevil)
  • (runtime) Add MSVC invalid parameter handler (#14313, thanks @HertzDevil)
  • (system) Add Signal#trap_handler? (#14126, thanks @stakach)
  • (system) Thread: set name (#14257, thanks @ysbaddaden)
  • (system) Add Process.on_terminate (#13694, thanks @stakach)
  • (time) Add support for Etc/UTC time zone identifier without tzdb (#14185, thanks @femto)

compiler

  • Add CRYSTAL_CONFIG_CC compiler config (#14318, thanks @straight-shoota)
  • (cli) Respect NO_COLOR in the compiler (#14260, thanks @HertzDevil)
  • (cli) Respect --static on Windows (#14292, thanks @HertzDevil)
  • (cli) Allow --single-module and --threads for eval and spec (#14341, thanks @HertzDevil)
  • (codegen) Add --frame-pointers to control preservation of frame pointers (#13860, thanks @refi64)
  • (codegen) x86-64 Solaris / illumos support (#14343, thanks @HertzDevil)
  • (interpreter) Support @[Link]'s DLL search order in the interpreter on Windows (#14146, thanks @HertzDevil)
  • (interpreter) Automatically detect MSVC tools on Windows interpreter (#14391, thanks @HertzDevil)
  • (parser) Allow calling #[]= with a block using method syntax (#14161, thanks @HertzDevil)
  • (semantic) Change short_reference for top-level macros to ::foo (#14203, thanks @femto)

tools

  • Add crystal tool flags (#14234, thanks @straight-shoota)
  • (formatter) Add more whitespace around ProcLiterals (#14209, thanks @HertzDevil)

Bugfixes

lang

  • (macros) Remove extra newline in top-level FunDef's string representation (#14212, thanks @HertzDevil)
  • (macros) Remove T* and T[N] macro interpolation behavior inside libs (#14215, thanks @HertzDevil)

stdlib

  • (collection) Fix Hash#update when default block also adds given key (#14417, thanks @HertzDevil)
  • (collection) Fix Hash#put_if_absent putting duplicate keys (#14427, thanks @HertzDevil)
  • (concurrency) Reserve stack space on non-main threads for crash recovery on Windows (#14187, thanks @HertzDevil)
  • (concurrency) Add memory barrier to Mutex#unlock on aarch64 (#14272, thanks @jgaskins)
  • (concurrency) init schedulers before we spawn fibers (#14339, thanks @ysbaddaden)
  • (files) Make FileUtils.mv work across filesystems on Windows (#14320, thanks @HertzDevil)
  • (llvm) Use correct string size for LLVM::Type#inline_asm (#14265, thanks @HertzDevil)
  • (llvm) Fix System V ABI for packed structs with misaligned fields (#14324, thanks @HertzDevil)
  • (networking) OpenSSL 3.x reports unexpected EOF as SSL error (#14219, thanks @ysbaddaden)
  • (numeric) Make equality between Complex and other numbers exact (#14309, thanks @HertzDevil)
  • (numeric) Fix #hash for the Big* number types (#14308, thanks @HertzDevil)
  • (runtime) Do not allocate memory in the segmentation fault signal handler (#14327, thanks @HertzDevil)
  • (runtime) Fix crash stack trace decoding on macOS (#14335, thanks @HertzDevil)
  • (runtime) Crystal::RWLock should be a struct (#14345, thanks @ysbaddaden)
  • (runtime) Fix min_by? in IOCP event loop #run_once (#14394, thanks @straight-shoota)
  • (serialization) XML::Reader: Disallow attributes containing null bytes (#14193, thanks @HertzDevil)
  • (serialization) Always call LibXML.xmlInitParser when requiring XML libraries (#14191, thanks @HertzDevil)
  • (system) Fix macro Crystal::LIBRARY_PATH.split when cross-compiling (#14330, thanks @HertzDevil)
  • (system) Add SA_RESTART flag to sigaction syscall (#14351, thanks @ysbaddaden)
  • (text) Add Nil return type restriction to String::Formatter#consume_substitution (#14430, thanks @straight-shoota)

compiler

  • (cli) build --no-codegen output file name error (#14239, thanks @apainintheneck)
  • (codegen) Do not handle inline assembly with "intel" flag as AT&T syntax (#14264, thanks @HertzDevil)
  • (codegen) [breaking] Respect alignments above alignof(Void*) inside union values (#14279, thanks @HertzDevil)
  • (codegen) Fix stack corruption in union-to-union casts (#14289, thanks @HertzDevil)
  • (codegen) Don't copy DLL to output directory if file already exists (#14315, thanks @HertzDevil)
  • (codegen) Fix Proc#call that takes and returns large extern structs by value (#14323, thanks @HertzDevil)
  • (codegen) Never discard ivar initializer inside .allocate and .pre_initialize (#14337, thanks @HertzDevil)
  • (codegen) Use separate names for constant and class variable internals (#14445, thanks @HertzDevil)
  • (interpreter) fix fiber's resumable property (#14252, thanks @ysbaddaden)
  • (interpreter) Ensure all constants only have one initializer in the interpreter (#14381, thanks @HertzDevil)
  • (interpreter) Handle NaN comparisons in the interpreter (#14441, thanks @HertzDevil)
  • (interpreter) Check UInt16#to_u8 for overflow in the interpreter (#14436, thanks @HertzDevil)
  • (interpreter) Fix interpreter internal overflow for UInt128#to_f32 and #to_f32! (#14437, thanks @HertzDevil)
  • (parser) Fix name locations of FunDef and External nodes (#14267, thanks @HertzDevil)
  • (parser) Fix end locations of Alias nodes (#14271, thanks @HertzDevil)

tools

  • (formatter) Fix format for asm with comments (#14278, thanks @straight-shoota)
  • (formatter) Fix formatter for white space in a.[b] syntax (#14346, thanks @straight-shoota)
  • (formatter) Fix formatter on call without parentheses followed by doc comment (#14354, thanks @straight-shoota)
  • (formatter) Do not remove the whitespace in foo () when formatting (#14439, thanks @HertzDevil)

Chores

stdlib

  • (concurrency) [deprecation] Drop flag openbsd6.2 (#14233, thanks @straight-shoota)
  • (files) [deprecation] Deprecate timeout setters with Number arguments (#14372, thanks @straight-shoota)

compiler

  • (codegen) Drop pinning Dwarf version 2 for android (#14243, thanks @straight-shoota)

Performance

stdlib

  • (collection) Optimize hash lookup in Enumerable#group_by (#14235, thanks @straight-shoota)
  • (concurrency) Use per-scheduler stack pools (let's recycle) (#14100, thanks @ysbaddaden)

compiler

  • (codegen) on demand distribution to forked processes (#14273, thanks @ysbaddaden)
  • (interpreter) Use Fiber::StackPool in the interpreter (#14395, thanks @HertzDevil)

Refactor

stdlib

  • (files) Replace some Microsoft C runtime funs with Win32 equivalents (#14316, thanks @HertzDevil)
  • (files) Move timeout properties to Socket and IO::FileDescriptor (#14367, thanks @straight-shoota)
  • (files) Add type restrictions to #unbuffered_* implementations (#14382, thanks @straight-shoota)
  • (networking) Refactor HTTP::Client timeout ivars to Time::Span (#14371, thanks @straight-shoota)
  • (networking) Refactor Socket#system_receive to return Address (#14384, thanks @straight-shoota)
  • (networking) Refactor #system_connect without yield (#14383, thanks @straight-shoota)
  • (numeric) Add Crystal::Hasher.reduce_num and #number (#14304, thanks @HertzDevil)
  • (runtime) Refactor and add comments to IOCP #run_once (#14380, thanks @straight-shoota)
  • (specs) [deprecation] Move most of spec runner's state into Spec::CLI (#14170, thanks @HertzDevil)
  • (specs) Add Spec::Formatter#should_print_summary? (#14397, thanks @HertzDevil)

compiler

  • Ensure Crystal::Visitor#visit returns Bool (#14266, thanks @HertzDevil)
  • (parser) Add Token::Kind#unary_operator? (#14342, thanks @straight-shoota)
  • (parser) Add Lexer#wants_def_or_macro_name (#14352, thanks @straight-shoota)

Documentation

stdlib

  • (collection) Fix docs :inherit: pragma for Indexable#first (#14296, thanks @lachlan)
  • (collection) Fix Hash.new(initial_capacity, &block) doc to use relevant example (#14429, thanks @lachlan)
  • (crypto) Improve OpenSSL module documentation (#14410, thanks @summer-alice)
  • (numeric) Enhance docs for Int#downto (#14176, thanks @jkthorne)
  • (runtime) Document builtin constants (#14276, thanks @straight-shoota)
  • (runtime) Fix Pointer#+(offset: Int64) doc parameter name typo (#14428, thanks @lachlan)
  • (runtime) Improve documentation for at_exit handler conditions (#14426, thanks @straight-shoota)
  • (system) Fix typo in Signal docs (#14400, thanks @joshrickard)
  • (text) Fix Colorize.enabled?'s documentation (#14258, thanks @HertzDevil)

Specs

stdlib

  • Fix spelling in spec/std/uri/params_spec.cr (#14302, thanks @jbampton)
  • (files) Refactor expectations with SpecChannelStatus to be explicit (#14378, thanks @straight-shoota)
  • (files) Move some IO::FileDescriptor specs to the correct file (#14431, thanks @HertzDevil)
  • (system) Always preserve the environment for specs that modify ENV (#14211, thanks @HertzDevil)
  • (system) Ensure Windows time zone specs request SeTimeZonePrivilege properly (#14297, thanks @HertzDevil)
  • (text) Add single source of UTF-8 test sequences for specs (#14433, thanks @HertzDevil)
  • (time) Fix requires for time/time_spec.cr and time/format_spec.cr (#14385, thanks @HertzDevil)

compiler

  • Remove the prelude from some compiler specs (#14336, thanks @HertzDevil)
  • (interpreter) Fix: don't run thread specs with the interpreter (#14287, thanks @ysbaddaden)
  • (interpreter) Add pending_interpreted (#14386, thanks @HertzDevil)
  • (interpreter) Remove spec/interpreter_std_spec.cr (#14399, thanks @HertzDevil)
  • (semantic) Enable @[Primitive(:va_arg)] semantic spec on Windows (#14338, thanks @HertzDevil)

Infrastructure

  • Changelog for 1.12.0 (#14232, thanks @straight-shoota)
  • Remove filtering of already mentioned PRs (#14229, thanks @straight-shoota)
  • Mention RFC process in contribution instructions (#14291, thanks @straight-shoota)
  • Drop Nikola sponsor mention from Readme (#14290, thanks @straight-shoota)
  • Enhance changelog script to pull milestone info from GitHub (#14230, thanks @straight-shoota)
  • Add shard.yml (#14365, thanks @straight-shoota)
  • Update vendored dependencies (#14373, thanks @straight-shoota)
  • Fix Milestone JSON bindings in github-changelog helper (#14404, thanks @straight-shoota)
  • Make repository configurable for reusable github-changelog (#14407, thanks @straight-shoota)
  • Use link refs for PR links in changelog (#14406, thanks @straight-shoota)
  • Implement pagination for GitHub API in github-changelog helper (#14412, thanks @straight-shoota)
  • Add scripts/update-changelog.sh (#14231, thanks @straight-shoota)
  • Update distribution-scripts (#14457, thanks @straight-shoota)
  • Change some line endings from CRLF to LF (#14299, thanks @HertzDevil)
  • Update copyright year in NOTICE.md (#14329, thanks @HertzDevil)
  • Install system dependencies in the Windows GUI installer (#14328, thanks @HertzDevil)
  • Skip building llvm_ext.cc on LLVM 18 or above (#14357, thanks @HertzDevil)
  • (ci) Update previous Crystal release 1.11.0 (#14189, thanks @straight-shoota)
  • (ci) Update previous Crystal release 1.11.1 (#14224, thanks @straight-shoota)
  • (ci) Update previous Crystal release - 1.11.2 (#14251, thanks @straight-shoota)
  • (ci) Update GH Actions (#14246, thanks @renovate)
  • (ci) Upgrade resource_class for test_preview_mt (#14274, thanks @straight-shoota)
  • (ci) Upgrade from old machine images approaching EOL (#14275, thanks @straight-shoota)
  • (ci) Update Windows library versions (#14355, thanks @HertzDevil)
  • (ci) Update cachix/install-nix-action action to v26 (#14375, thanks @renovate)
  • (ci) Update shards 0.18.0 (#14411, thanks @straight-shoota)
  • (ci) Support LLVM 18.1 (#14277, thanks @HertzDevil)
  • (ci) Use Makefile.win for Shards on Windows CI (#14414, thanks @HertzDevil)

@github-actions github-actions bot added the bump-formula-pr PR was created using `brew bump-formula-pr` label Apr 9, 2024
crystal: shards 0.18.0

Signed-off-by: Rui Chen <[email protected]>
@chenrui333 chenrui333 force-pushed the bump-crystal-1.12.0 branch from 7a8328a to b0817b8 Compare April 9, 2024 19:28
Copy link
Contributor

github-actions bot commented Apr 9, 2024

@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 Apr 9, 2024
@BrewTestBot BrewTestBot enabled auto-merge April 9, 2024 22:33
@BrewTestBot BrewTestBot added this pull request to the merge queue Apr 9, 2024
Merged via the queue into master with commit 55b03bb Apr 9, 2024
14 checks passed
@BrewTestBot BrewTestBot deleted the bump-crystal-1.12.0 branch April 9, 2024 22:41
@github-actions github-actions bot added the outdated PR was locked due to age label May 9, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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. outdated PR was locked due to age
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants