0.6.0
Added
-
Added a
roblox
built-inIf you're familiar with Remodel, this new built-in contains more or less the same APIs, integrated into Lune.
There are just too many new APIs to list in this changelog, so head over to the wiki to learn more! -
Added a
serde
built-inThis built-in contains previously available functions
encode
anddecode
from thenet
global.
The plan is for this built-in to contain more serialization and encoding functionality in the future. -
require
has been reimplemented and overhauled in several ways:- New built-ins such as
roblox
andserde
can only be imported usingrequire("@lune/roblox")
,require("@lune/serde")
, ... - Previous globals such as
fs
,net
and others can now also be imported usingrequire("@lune/fs")
,require("@lune/net")
, ... - Requiring a script is now completely asynchronous and will not block lua threads other than the caller.
- Requiring a script will no longer error when using async APIs in the main body of the required script.
All new built-ins will be added using this syntax and new built-ins will no longer be available in the global scope, and current globals will stay available as globals until proper editor and LSP support is available to ensure Lune users have a good development experience. This is the first step towards moving away from adding each library as a global, and allowing Lune to have more built-in libraries in general.
Behavior otherwise stays the same, and requires are still relative to file unless the special
@
prefix is used. - New built-ins such as
-
Added
net.urlEncode
andnet.urlDecode
for URL-encoding and decoding strings
Changed
- Renamed the global
info
function toprintinfo
to make it less ambiguous
Removed
- Removed experimental
net.encode
andnet.decode
functions, since they are now available usingrequire("@lune/serde")
- Removed option to preserve default Luau require behavior