We are releasing the second patch release of the 1.2 series.
In this patch release we included 15 PRs since the 1.2.1 release by 5 contributors.
Fixes
We have fixed three regressions in the compiler, two of them related to debug mode:
- Virtual metaclasses missed a type restriction (#11397) since 1.2.0.
- Debug locations were missing for some const and class var read calls (#11417). This only affected
--debug
builds since 1.2.0. - Debug locations were missing for some union types (#11390). This only affected
--debug
builds since 1.2.1.
Among the other bug fixes, #11344 fixed a long-standing codegen bug for passing structs in the x86_64 ABI.
Support for OpenSSL 3 and LibreSSL
We added support for binding against OpenSSL 3.0 (#11360) and restored support for LibreSSL (#11400), which can both be used as alternatives to OpenSSL 1.x.
Support for DWARF 5
We also added support for DWARF 5 when reading debug info for stack traces (#11399). GCC 11 uses this version by default, so we’re set for that.
Unrelated to DWARF 5 support, stack traces now show the filenames of shared libraries (#11408).
We have been able to do all of this thanks to the continued support of 84codes, Nikola Motor Company and every other sponsor. To maintain and increase the development pace, donations and sponsorships are essential. OpenCollective is available for that. Reach out to crystal@manas.tech if you’d like to become a direct sponsor or find other ways to support Crystal. We thank you in advance!