Den 30. oktober blev version 0.10.0 af konsolinterpretatoren og indbyggede biblioteker af sproget udgivet Pluto – en alternativ implementering af Lua 5.4 med mange ændringer og forbedringer i syntaksen, standardbiblioteket og interpreter.
Projektets deltagere udvikler også biblioteket Soup og et enkelt system til at samle projekter i C++ Sun. Projekterne er skrevet i C++ og distribueres under MIT-licensen.
Ændringslog:
- tilføjet kædede sammenligninger (f.eks. 1 <= i <= #t);
- privatmetoder er blevet tilføjet til klasser;
- private felter og metoder kan nu erklæres og tilgås hvor som helst i klassen;
- nu bestemmer Pluto automatisk, om det skal inkludere eller udelukke inkompatible nøgleord afhængigt af deres brug;
- do kan nu bruges i stedet for then og begin;
- if-udtryk er ikke længere forældede, men kræver brug af nøgleordet end (f.eks. print(if a then b else c end));
- operatoren $define kræver nu tildeling;
- rettet indlæsning af Lua C-moduler i Linux;
- tilføjet canvas-bibliotek;
- tilføjet ffi-bibliotek;
- tilføjet regex-bibliotek (uafhængig implementering i Soup-biblioteket);
- tilføjet funktionen assert.contains;
- tilføjet funktionerne bigint.eq, bigint.lt og bigint.le;
- tilføjet funktionerne crypto.ripemd160, crypto.exportkey, crypto.importkey og crypto.decompress;
- tilføjet funktionerne string.tohex og string.fromhex;
- tilføjet funktionerne table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues og table.chunk;
- tilføjet funktionerne socket.getpeer, socket.peek, socket.getside, socket.istls og socket.isopen;
- en valgfri argument limit er blevet tilføjet til funktionen string.split;
- pseudo-navne io.cwd og io.chdir er blevet tilføjet til funktionen io.currentdir;
- socket.starttls kan nu bruges i server-sokler;
- optimering af json.encode med brug af __order;
- i funktionerne crypto.encrypt, crypto.decrypt og crypto.sign er behandlingen af ugyldige RSA-private nøgler blevet rettet.
Kilde: linux.org.ru
