30. října byl vydán 0.10.0 konzolový interpret a vestavěná knihovna jazyka Pluto – alternativní implementace jazyka Lua 5.4 s mnoha změnami a vylepšeními v syntaxi, standardní knihovně a interpretovi.
Účastníci projektu také vyvíjejí knihovnu Soup a jednoduchý systém pro sestavování projektů v C++ Sun. Projekty jsou napsány v jazyce C++ a distribuovány pod licencí MIT.
Seznam změn:
- bylo přidáno řetězcové porovnání (např. 1 <= i <= #t);
- do tříd byly přidány soukromé metody;
- soukromá pole a metody lze nyní deklarovat a odkazovat na ně kdekoli v třídě;
- nyní Pluto automaticky určuje, zda zahrnout nebo vyloučit nekompatibilní klíčová slova v závislosti na jejich použití;
- do nyní lze použít místo then a begin;
- výrazy if již nejsou zastaralé, ale vyžadují použití klíčového slova end (například print(if a then b else c end));
- operátor $define nyní vyžaduje přiřazení;
- opraveno načítání modulů Lua C v Linuxu;
- byla přidána knihovna canvas;
- byla přidána knihovna ffi;
- byla přidána knihovna regex (nezávislá implementace v knihovně Soup);
- byla přidána funkce assert.contains;
- byly přidány funkce bigint.eq, bigint.lt a bigint.le;
- byly přidány funkce crypto.ripemd160, crypto.exportkey, crypto.importkey a crypto.decompress;
- byly přidány funkce string.tohex a string.fromhex;
- byly přidány funkce table.findindex/findkey, table.back, table.keys, table.modget, table.modset, table.slice, table.countvalues a table.chunk;
- byly přidány funkce socket.getpeer, socket.peek, socket.getside, socket.istls a socket.isopen;
- do funkce string.split byl přidán volitelný argument limit;
- k funkci io.currentdir byly přidány aliasy io.cwd a io.chdir;
- socket.starttls nyní lze použít v serverových socketech;
- optimalizace json.encode s použitím __order;
- ve funkcích crypto.encrypt, crypto.decrypt a crypto.sign byla opravena zpracování neplatného soukromého klíče RSA.
Zdroj: linux.org.ru
