This release includes 2 breaking changes for platform teams planning a safe upgrade.
Published 18d
Build & Package
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
aot-compiler
compiler
c++
cpp20
lua
luajit
+2 more
native
transpiler
Summary
AI summaryBroad release touches 0.2.0] - 2026-07-08, Refactored, 55824b4, and 44fcbb9.
Full changelog
[0.2.0] - 2026-07-08
New Contributors
- @take-cheeze made its first contribution in https://github.com/samyeyo/clx/pull/7
Changed
- Replaces NaN tagging based Value to shadow types memory with inline string support (55824b4)
- Added full support for 64 bits integers (55824b4)
- New numeric dispatch helpers (add/sub/mul/div with Int64 fast path) (55824b4)
- Updates CacheSlot for table inline caching (55824b4)
- shadow type Values migration (badb4d2)
- improved native arithmetic with int64_t code emission (badb4d2)
- improved CacheSlot implementation (badb4d2)
- faster function arguments implementation (badb4d2)
- C++ compiler is now the one used to build clx (4d87603)
- use std::from_chars() for integer parsing (fb2c741)
- Refactored LTable to use a new hash table implementation with improved memory management (5409c3b)
- Updated memory allocation and deallocation strategies for hash table entries (5409c3b)
- Removed clx_* prefix in C++ API for better clarity and consistency (5409c3b)
- Updated with new clx C++ API (b06f157)
- Updated codegen to use new clx C++ API (ec4df84)
- clx C++ API now support coroutine management functions (5409c3b)
Added
- Enables assembler ARM64 context switching to replace the broken ucontext shim on Darwin ARM64 (55824b4)
- add ARM64 coroutine context switching via clx_coro_switch(), conditional on APPLE && aarch64 (9a37ebd)
- coroutines implementation now in runtime.cpp (e1afaf1)
- added support for macOS ARM64 context switching (e1afaf1)
- add SIMD helpers for cross-platform performance optimization (b72701a)
- Add clx -o shorthand for --output flag (4d87603)
- Add coroutine.close() support and update documentation for coroutine functions (7a882e5)
- Add tests for coroutine.close() functionality (d3d6594)
- Add coroutine close functionality and refactor coroutine management using new clx C++ API (bc07f91)
- Implement read_line and read_all functions for improved file handling in io module (d8f6fc4)
- Add built-in function lookup and refactor intrinsic calls (44fcbb9)
- Introduced
lookup_builtinfunction to map module and function names to C++ function names (44fcbb9) - Updated
IntrinsicCallstructure to use C++ function names instead of integer identifiers (44fcbb9) - Refactored intrinsic function parsing in the
Parserto utilize a map for better readability and maintainability (44fcbb9) - Enhanced the
yields_numberfunction to exclude specific intrinsic functions from number checks (44fcbb9) - nil-comparison disqualification in function parameters (47e3d00)
- pure numeric array detection before disqualification (47e3d00)
- optimization for simple record tables and function parameter record arrays (47e3d00)
- stack-based traversal of function bodies detecting arithmetic on params, with call-chain propagation (47e3d00)
- adds param_names filter so function parameters don't leak into g_native_numbers (47e3d00)
- enhanced string handling functions to optimize for inline strings (4cb6c2e)
- introduced SIMD optimizations for strings (4cb6c2e)
- Add tests for coroutine.close functionality (d3d6594)
- Add executable permission to shell scripts (2c9f468)
- Add .gitattributes to enforce LF line endings (f008cf6)
- Add robots.txt to allow all user agents (7990e69)
Fixed
- Remove CLX_MUSTTAIL macro definition for Clang compatibility (7a60bd2)
- remove CLX_MUSTTAIL macro definitions from code emitter (a2a56e6)
- enhance compiler detection, path searching, and linking for Apple platforms (7e84049)
- add _XOPEN_SOURCE definition for Apple builds (21dbcad)
- suppress deprecated declaration warnings for Apple builds (1f466fd)
- Fix function call in math_tointeger for consistency with naming conventions (e69d38b)
- Fix GitHub link in footer to correct URL (bcdb0a4)
- fix minifier: drop inline css/js minification (9809d19)
Refactored
- Refactor table functions to improve consistency in version handling (94bc75e)
- Refactor string handling functions for improved consistency and performance (57c94dd)
- Refactor pack_require and luastd_package functions for improved readability and consistency (44d2742)
- Refactor time wrapper functions to remove 'clx_' prefix for consistency (7b527cf)
- Refactor function names to use 'lua_' prefix for consistency in base module (cf24988)
- Remove commented line in test_api function for clarity (a93e67b)
- Remove Bitwise Operations section from index.html (old implementation) (0b365b3)
- Remove bitwise operations section from runtime.md (old implementation) (0f813e7)
Documentation
- updated with new clx ValueTypes aliases (26ef75b)
- updated for clx 0.2.0 (396f269 and 9ff2daa)
- fixed the command to run tests (4a20cae)
- Updated clx C++ API documentation and webpage (1d342bb)
Build
- add ARM64 coroutine assembly for macOS and set defines for current used compiler (6cb22d8)
- update script permissions and add platform-specific linker flags (1f66c72)
- Use NMakefile generator on Windows (a2c60e2)
- Now static CRT is used for clx.exe when using MSVC, libs use dynamic CRT (2296a17)
Benchmarks
- Benchmark batch script now uses only luajit for *_luajit.lua files (00503d0)
- Add --fast option in benchmarks/run.bat (00503d0)
- Increase default value of N in benchmarks for better consistency (0507629)
- Updated benchmarks result (5a51606)
Website
- Publish website (51c5433)
- use python minifier instead of html-minifier-terser (ae5a711)
- version inline next to clx logo (5e7afe4)
- Fixed github link (a5f3ab0)
Breaking Changes
- Removed clx_* prefix in C++ API (old names no longer valid)
- Removed CLX_MUSTTAIL macro definition for Clang compatibility
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Clx
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]