0.5.0
Added
-
Added auto-generated API reference pages and documentation using GitHub wiki pages
-
Added support for
query
innet.request
parameters, which enables usage of query parameters in URLs without having to manually URL encode values. -
Added a new function
fs.move
to move / rename a file or directory from one path to another. -
Implemented a new task scheduler which resolves several long-standing issues:
- Issues with yielding across the C-call/metamethod boundary no longer occur when calling certain async APIs that Lune provides.
- Ordering of interleaved calls to
task.spawn/task.defer
is now completely deterministic, deferring is now guaranteed to run last even in these cases. - The minimum wait time possible when using
task.wait
and minimum delay time usingtask.delay
are now much smaller, and only limited by the underlying OS implementation. For most systems this meanstask.wait
andtask.delay
are now accurate down to about 5 milliseconds or less.
Changed
- Type definitions are now bundled as part of the Lune executable, meaning they no longer need to be downloaded.
lune --generate-selene-types
will generate the Selene type definitions file, replacinglune --download-selene-types
lune --generate-luau-types
will generate the Luau type definitions file, replacinglune --download-luau-types
- Improved accuracy of Selene type definitions, strongly typed arrays are now used where possible
- Improved error handling and messages for
net.serve
- Improved error handling and messages for
stdio.prompt
- File path representations on Windows now use legacy paths instead of UNC paths wherever possible, preventing some confusing cases where file paths don't work as expected
Fixed
- Fixed
process.cwd
not having the correct ending path separator on Windows - Fixed remaining edge cases where the
task
andcoroutine
libraries weren't interoperable - Fixed
task.delay
keeping the script running even if it was cancelled usingtask.cancel
- Fixed
stdio.prompt
blocking all other lua threads while prompting for input