0.506
Changes
- Fix some cases where type checking would overflow the native stack
- Improve autocomplete behavior when assigning a partially written function call (not currently exposed through command line tools)
- Improve autocomplete type inference feedback for some expressions where previously the type would not be known
- Improve quantification performance during type checking for large types
- Improve type checking for table literals when the expected type of the table is known because of a type annotation
- Fix type checking errors in cases where required module has errors in the resulting type
- Fix debug line information for multi-line chained call sequences (#255)
- lua_ref can no longer be used with LUA_REGISTRYINDEX to prevent mistakes when migrating Lua FFI (#247)
- Fix assertions and possible crashes when executing script code indirectly via metatable dispatch from lua_equal/lua_lessthan/lua_getfield/etc. (#259)
- Fix flamegraph scripts to run under Python 2
Community contributions
- Add luaL_checkboolean and luaL_optboolean by @MathematicalDessert in #221
- Expand vectors to 4 components using compile time switch by @petrihakkinen in #214
- Removed LUALIB_API from source file method bodies by @KaleidoDeer in #235
- Add LUA_GCCOUNTB option for lua_gc by @petrihakkinen in #254
- Fix luaL_sandbox leaving a value on the stack by @petrihakkinen in #253
- Allow reconfiguring VM defaults via build defines by @kunitoki in #260
- Fix luau_load 'env' to work with absolute stack index & add lua_absindex by @petrihakkinen in #263
- Add lua_isvector, luaL_checkvector and luaL_optvector by @petrihakkinen in #261
Breaking changes
This release introduces a small breaking change in lua.h (only relevant for embedders) to improve compatibility with Lua/LuaJIT:
lua_newuserdata
now takes 2 arguments;lua_newuserdatatagged
should be used if the third argument was non-0.