v0.1.0
What's Changed
Added
- Core Lua state management with
Statewrapper - High-level idiomatic Zig API through
Luastruct - Luau compiler integration for source-to-bytecode compilation
- Type system integration with automatic conversions:
- Zig functions wrapped as callable Lua functions
- Optional types (
?T) mapping to Lua nil values - Tuples converted to Lua tables with array semantics
- Support for vectors and primitive types
- Table operations:
- Create, set, and get table values
- Call table functions with automatic type handling
- Global environment access via
lua.globals()
- Reference system (
Ref) for holding Lua values across function calls - Function references for direct Lua function access
- UserData support:
- Register Zig structs as Lua userdata
- Automatic method binding with compile-time generation
- Light userdata support
- Custom allocator support through
Lua.init() - JIT code generation with
enable_codegen() - Standard library loading functions
- Debug utilities:
- Stack dumping with
dumpStack() - Custom assert handler support
- Stack dumping with
- Build system:
- Automatic discovery and compilation of Luau source files
- Multiple build targets (library, compiler, analyzer, docs)
- Code formatting checks
- Documentation generation
- Unit test suite with memory leak detection
- Continuous integration with coverage reporting
New Contributors
Full Changelog: https://github.com/mxpv/luaz/commits/v0.1.0