Repository navigation
Releases: mmcdole/lunar
Release list
Lunar v0.1.3
Lunar v0.1.3 fixes heap-limit enforcement while garbage collection is stopped, improves table access and native call entry, and reorganizes the runtime and tests.
- Enforce
Options.MaxHeapByteswhile garbage collection is stopped. #11 - Reduce repeated work in table access and dynamic key classification. #13, #18
- Reuse reserved stack windows for fixed native calls and remove redundant stack clearing. #15
- Organize runtime files and tests by subsystem, share nested call validation, and remove unused helpers. The library's public API is unchanged.
- Remove unsupported CBOR benchmark execution modes and simplify table traversal in the benchmark adapter.
- Add PUC Lua comparisons and update benchmark reports.
The cleanup showed an approximately 8% spectral-norm slowdown on the local default build relative to the code immediately before the cleanup. Source and linker experiments strongly support binary placement sensitivity; changing function alignment removed the gap in the diagnostic build. The cleanup retains the default build settings. See the measurements and limitations.
Lunar v0.1.2
Lunar v0.1.2 fixes a panic in tail calls through __call and adds Table.Tree() conversion.
- Fix a Go panic in tail calls through
__callwhen the caller fills its value stack. #9 - Add
Table.Tree()to convert supported Lua tables into nested Go maps and slices. #6 - Improve compiler errors for local-variable and upvalue limits, and correct error line numbers for generic
foriterator calls. #5 - Add the official Lua 5.1 conformance suite with documented exclusions and platform adjustments. #5
Lunar v0.1.1
Lunar v0.1.1 fixes a compiler panic in binary expressions after large constant pools.
- Keeps function-call results in the correct register position when a numeric constant must spill beyond the RK range.
- Adds regression coverage for #2.
Lunar v0.1.0
Lunar v0.1.0 is the first public release.
- Adds Lua 5.2-style goto and labels to Lunar's Lua 5.1 language, with lexical-scope checks and correct captured-upvalue handling.
- Finalizes the embedding APIs, including construction-time standard-library selection through Options.Libraries and explicit script loading through ScriptLoader.