-
-
Notifications
You must be signed in to change notification settings - Fork 76
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
5500d07
commit 10f4ab1
Showing
1 changed file
with
85 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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! |