Skip to content

Releases: wippyai/go-lua

v1.5.21

Choose a tag to compare

@wolfy-j wolfy-j released this 10 Sep 03:00
0525373
  • Infer generic parameters nested inside metatypes and preserve those parameters through substitution.
  • Select a unique most-specific fixed-arity overload for contextual typing while retaining safe union fallback for ambiguous, incomparable, and variadic candidates.
  • Preserve the refined return type of assert-style helpers when their truthy success effect matches the normal return value.
  • Narrow optional and falsy return expansions structurally, including generic instantiations and channel-select flows, without introducing recursive-type loops.
  • Add order-independence, ambiguity, variadic, assertion, generic, and channel regression coverage.

v1.5.20

Choose a tag to compare

@wolfy-j wolfy-j released this 09 Sep 22:34
68150e5
  • Resolve indexed writes at their full field path so later element assignments cannot corrupt earlier field reads or widen a field to its enclosing record.
  • Preserve declared map value domains across aliases, branches, loops, bracket paths, guarded optionals, and placeholder refinement.
  • Fence register-propagation peepholes at resolved jump targets so erased casts and non-nil assertions cannot make short-circuit results skip their consumer.
  • Add regression coverage across constructor fields, assignments, keys, calls, arithmetic, concatenation, comparisons, casts, assertions, and both short-circuit arms.

v1.5.19

Choose a tag to compare

@wolfy-j wolfy-j released this 02 Sep 15:25
e324f6d
  • Preserve sole root and tail-called Go frames across coroutine yields so Resume and ResumeInto report ResumeYield instead of false successful completion.
  • Return resume arguments correctly through direct Go entry functions, Lua tail calls, nested coroutine.resume, and coroutine.wrap.
  • Restore parent/current-thread state and terminate the child when a resume encounters a canceled context.
  • Contain invalid yielded-thread state with an explicit run error and consistent thread cleanup.
  • Add regression coverage across default, 128-slot, and 384-slot registries, forced registry growth, repeated thread reuse, zero/one/multiple resume values, and cancellation before start or after yield.
  • Keep existing tail-call and coroutine performance stable with unchanged allocation counts.

v1.5.18

Choose a tag to compare

@wolfy-j wolfy-j released this 31 Aug 21:57
5d134c1
  • Fix the compiler's LOADNIL peephole so it cannot merge across jump targets, preventing generic-for or nil expressions from reading uninitialized registers.
  • Make direct xpcall catch errors and invoke message handlers consistently under DoString and API PCall.
  • Clear protected-call continuation metadata when error paths discard frames, preventing stale continuations from corrupting later Go-backed calls.
  • Preserve yielding Go-call continuations through tail-returned pcall wrappers and return results correctly from resumed root Go functions.
  • Restore Lua upvalue capture in inspected stack frames.
  • Add Wippy-shaped resumed-thread/register-pressure coverage across baseline and configured registry sizes.

v1.5.17

Choose a tag to compare

@wolfy-j wolfy-j released this 19 Aug 17:05
3673903
  • Accept valid large encoded manifests while retaining explicit decoder resource ceilings and malformed-length rejection.\n- Add large-manifest round-trip and corrupted collection-length coverage.\n- Restore executable cross-platform CI, repository-wide lint, race, fuzz, and benchmark validation.

v1.5.16

Choose a tag to compare

@wolfy-j wolfy-j released this 17 Apr 16:11

Changes since v1.5.15:

  • Harden runtime type validation system (#25)
  • Fixture-based test harness with 331 suites and type system gap tracking (#26)
  • Fix parser: allow void return type with named parameters in record fields (#27)
  • Fix constraint solver non-determinism and test isolation (#28)
  • Parser void return completion and qualified type fixtures (#29)
  • Apply gofmt

v1.5.15

Choose a tag to compare

@wolfy-j wolfy-j released this 20 Mar 16:08
  • annotated type assertion fixes
  • pool yieldState reset

v1.5.13

Choose a tag to compare

@wolfy-j wolfy-j released this 12 Mar 01:54
dc6e8db

What's Changed

  • Implement yield across call boundaries by @wolfy-j in #23

Full Changelog: v1.5.12...v1.5.13

v1.5.12

Choose a tag to compare

@wolfy-j wolfy-j released this 03 Mar 22:30
fdc60c6
  • this version removes original float value allocator to reduce overall overhead for actor and exclude cases where scalar values had to be externalized when send from one process to another

v1.5.11

Choose a tag to compare

@wolfy-j wolfy-j released this 21 Feb 18:12

This update introduces a set of optimizations around memory allocations and CPU churn for typechecking system. Specifically memoization of dominant types and pre-allocated buckets for CFG.

Expected 1200% performance gain on heavy linting.