Repository navigation
Releases: kriol-lang/kriol
Releases · kriol-lang/kriol
Release list
v1.16.2-alpha+build1
Version 1.16.2 Alpha - Build 1 A patch release that brings Kriol to macOS: a release build for Apple silicon, an installer that sets it up, and the build and test fixes that make it work. - **Kriol now ships for macOS on Apple silicon.** Each release includes a `macos-arm64` archive that runs on a Mac without Homebrew. It does not compile to WebAssembly yet. (#20, @edilson14; @anaximeno) - **`install.sh` installs on macOS.** It picks the right archive for the machine, also from a shell running under Rosetta, and says clearly when there is no build for the platform. Linking programs needs the Xcode Command Line Tools (`xcode-select --install`). (@anaximeno) - **`install.sh` verifies what it downloads** against the release `SHA256SUMS.txt`, and stops before extracting a truncated or swapped archive. (#21, @kidiatoliny) - The runtime bitcode now embeds with Apple clang, which rejects `#embed` files that start with a byte above 0x7F. (@anaximeno) - The C and C++ compilers given to CMake are no longer replaced by the newest clang found. (@anaximeno) - `run_tests.sh` runs on macOS. (#20, @edilson14; @anaximeno) - A contributing guide is now available in CONTRIBUTING.md. (@anaximeno) Thanks to everyone who contributed to this release: - @edilson14 - @kidiatoliny - @anaximeno
v1.16.1-alpha+build2
Version 1.16.1 Alpha - Build 2 A patch release of correctness fixes in the semantic analyser and the code generator, plus a fix that makes the Windows test suite report real results again. - **Recursive record fields no longer crash the compiler.** A `molda` field whose type is the record being declared, directly or through an array, is rejected with its own diagnostic, and a field of unknown type is no longer added to the record. (#14, @kidiatoliny) - **Global initializers that read later globals are rejected,** including through a function call or mutual recursion, reported once per global. (#19, @kidiatoliny) - **Generated globals are prefixed with `kriol.g.`,** so a Kriol global name can no longer clash with a C library or runtime symbol. (#17, @kidiatoliny) - **The source name string moved to `__kriol.source_name`,** keeping it out of the user function namespace. (#18, @kidiatoliny) - **Record storage sizes are computed once** instead of per use, and saturate instead of overflowing on doubling chains. (#16, @kidiatoliny) - **The Windows test fixtures are no longer read as CRLF.** The runners check out with `core.autocrlf=true` and the repository had no `.gitattributes`, so every `.stdout` and `.stdin` fixture arrived with CRLF line endings while `run_tests.ps1` normalized only what a program wrote. The exact comparison failed for every test whose fixture contains a newline. Fixtures are now marked as binary, and a fixture is normalized when read. (@anaximeno) - The Windows CI test step now fails when `run_tests.ps1` fails, instead of having its exit status overwritten by the commands that follow it. (#15, @kidiatoliny) - A failed Windows program test reports why: that it did not compile and the compiler diagnostics, that it timed out, or its exit status, its stderr and the line of its output that differs from the fixture. (@anaximeno) - The README links the four-minute presentation video. (@anaximeno) - A changelog is now kept in CHANGELOG.md. Thanks to everyone who contributed to this release: - @kidiatoliny - for the fixes to the semantic analyser, the code generator and the Windows CI step - @anaximeno
v1.16.0-alpha+build2
Version 1.16.0 Alpha - Build 2
v1.14.0-alpha+build1
Version 1.14.0 Alpha - Build 1
v1.13.1-alpha+build1
Version 1.13.1 Alpha - Build 1
v1.13.0-alpha+build1
Version 1.13.0 Alpha - Build 1
v1.10.0-alpha+build2
Version 1.10.0 Alpha - Build 2
v1.9.2-alpha+build1
Version 1.9.2 Alpha
v1.9.1-alpha+build1
Version 1.9.1 Alpha
v1.9.0-alpha+build1
Version 1.9.0 Alpha