Skip to content

Commit

Permalink
Draft Release 1.13.0
Browse files Browse the repository at this point in the history
  • Loading branch information
straight-shoota committed Jun 14, 2024
1 parent 5500d07 commit 10f4ab1
Showing 1 changed file with 85 additions and 0 deletions.
85 changes: 85 additions & 0 deletions _releases/2024-07-09-1.13.0-released.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
title: Crystal 1.13.0 is released!
version: 1.13.0
date: 2024-07-09
author: straight-shoota
---
We are announcing a new Crystal release with several new features and bug fixes.

Pre-built packages are available on [GitHub Releases](https://github.com/crystal-lang/crystal/releases/tag/1.13.0)
and our official distribution channels.
See [crystal-lang.org/install](https://crystal-lang.org/install/) for
installation instructions.

## Stats

This release includes [XX changes since 1.12.2](https://github.com/crystal-lang/crystal/pulls?q=is%3Apr+milestone%3A1.13.0)
by ZZZ contributors. We thank all the contributors for all the effort put into
improving the language! ❤️

## Changes

Below we list the most remarkable changes in the language, compiler and stdlib.
For more details, visit the [full changelog](https://github.com/crystal-lang/crystal/releases/tag/1.13.0).

### OpenSSL Default Configuration

The `OpenSSL` bindings previously included some explicit overrides for the default settings of the SSL library. This can be useful to improve the security level when working with older library versions. But it has the opposite effect with newer library versions and hinders the application of more restrictive default configurations.
We removed overrides for cipher suites ([#14655](https://github.com/crystal-lang/crystal/pull/14655)) and ECDH curve ([#14656](https://github.com/crystal-lang/crystal/pull/14656)). The TLS Server compatibility level recommendations from Mozilla are deprecated as well. They didn't even work correctly before ([#14657](https://github.com/crystal-lang/crystal/pull/14657)).
`OpenSSL` now uses the default configuration of the SSL library. Explicit overrides in user code are still possible of course.

_Thanks @ysbaddaden_

### Language

- _(semantic)_ Allow rescuing exceptions that include a module ([#14553](https://github.com/crystal-lang/crystal/pull/14553), thanks @Blacksmoke16)

### Bugfixes

- _(collection)_ **[breaking]** Never raise `IndexError` in `#[]?(Range)` ([#14444](https://github.com/crystal-lang/crystal/pull/14444), thanks @HertzDevil)
- _(collection)_ **[breaking]** Fix `Set#to_a(&)` ([#14519](https://github.com/crystal-lang/crystal/pull/14519), thanks @meatball133)
-

### Macros

- _(macros)_ Add AST node methods for macro-related nodes ([#14492](https://github.com/crystal-lang/crystal/pull/14492), thanks @HertzDevil)
- _(macros)_ Add macro methods for `Select` ([#14600](https://github.com/crystal-lang/crystal/pull/14600), thanks @HertzDevil)
- _(macros)_ Add `TypeNode#private?`, `#public?` and `#visibility` ([#11696](https://github.com/crystal-lang/crystal/pull/11696), thanks @Hadeweka)

### Runtime Tracing

_(runtime)_ runtime tracing ([#14659](https://github.com/crystal-lang/crystal/pull/14659), thanks @ysbaddaden)

### `WaitGroup`

* _(concurrency)_ Add WaitGroup synchronization primitive ([#14167](https://github.com/crystal-lang/crystal/pull/14167), thanks @ysbaddaden)

### Compiler

- _(codegen)_ Add compiler flags `-Os` and `-Oz` to optimize binary size ([#14463](https://github.com/crystal-lang/crystal/pull/14463), thanks @ysbaddaden)
- _(codegen)_ Add compiler support for AVR architecture (Arduino) ([#14393](https://github.com/crystal-lang/crystal/pull/14393), thanks @ysbaddaden)

### Multi-Theading and Event Loop

### Misc


* _(collection)_ Add `Array#insert_all` ([#14486](https://github.com/crystal-lang/crystal/pull/14486), thanks @summer-alice)

- _(codegen)_ **[breaking]** Remove `CRYSTAL_LIBRARY_RPATH` and delay-load helper ([#14598](https://github.com/crystal-lang/crystal/pull/14598), thanks @HertzDevil)

### Deprecations

* _(files)_ **[deprecation]** Move `File.readable?`, `.writable?`, `.executable?` to `File::Info` ([#14484](https://github.com/crystal-lang/crystal/pull/14484), thanks @straight-shoota)

---

> **THANKS:**
> We have been able to do all of this thanks to the continued support of [84codes](https://www.84codes.com/) and every other [sponsor](/sponsors).
> To maintain and increase the development pace, donations and sponsorships are
> essential. [OpenCollective](https://opencollective.com/crystal-lang) is
> available for that.
>
> Reach out to [[email protected]](mailto:[email protected])
> if you’d like to become a direct sponsor or find other ways to support Crystal.
> We thank you in advance!

0 comments on commit 10f4ab1

Please sign in to comment.