Skip to content

Commit b821d82

Browse files
committed
Add changelog for 0.12.0
1 parent 2d80f63 commit b821d82

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

docs/Changelog.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,68 @@ sidebar_position: 13
44

55
This page contains the changelogs from all [releases of Pluto](https://github.com/PlutoLang/Pluto/releases).
66

7+
## 0.12.0
8+
- Added postfix ++ operator
9+
- Added \*\* as an integer exponentiation operator (this previously was a deprecated alias for ^)
10+
- Added `protected` class fields
11+
- Added `$object` syntax for table creation
12+
- Added `$include`
13+
- Added `$haltcompiler`
14+
- Trailing commas are now allowed for arguments, parameters, and destructuring
15+
- String interpolation now implicitly calls `tostring` on each interpolation value
16+
- Deprecated the optional 'global' keyword
17+
- Deprecated reassignment of for loop control variables in preparation for Lua 5.5
18+
- Removed the deprecated `<constexpr>` attribute
19+
20+
Type System:
21+
- Added `any` and `nil` type hints
22+
- Added type hinting for multiple return values
23+
- Added complex type hinting for tables to specify fields
24+
- Type hints for `function` type can now also specify the parameters and returns
25+
- Added `$type` syntax for named types (this replaces the constexpr call `$type(x)`)
26+
- Added `$declare` to set the type of a global
27+
- Added `$getproptype` to query the parser's idea of a variable's type
28+
29+
Standard Library:
30+
- Global & Base
31+
- `dumpvar`'s output now includes metatable `__name` where applicable
32+
- Bigint
33+
- Added bigint.abs, bigint.gcd, bigint.isprobableprime, bigint.export, bigint.import
34+
- Added __unm metamethod to bigints
35+
- Bigint operations now accept plain Lua ints as operands
36+
- Crypto
37+
- Added curve25519 to crypto.generatekeypair
38+
- Added crypto.hmac, crypto.fnv1a32, crypto.x25519, crypto.derive
39+
- Added RSA OAEP modes to crypto.encrypt & crypto.decrypt (rsa-sha1, rsa-sha256, rsa-sha384, rsa-sha512)
40+
- Added optional offset parameter to crypto.decompress
41+
- Removed previously-deprecated crypto.hexstream
42+
- FFI
43+
- Added ffi.callback
44+
- IO
45+
- Added io.unique, io.symlink
46+
- Removed previously-deprecated io.copyto
47+
- JSON
48+
- Added MessagePack support to json.encode and json.decode
49+
- Math
50+
- Added math.trunc, math.cbrt, math.hypot
51+
- Added `math.inf` as an alias for `math.huge`
52+
- OS
53+
- Added os.dnsresolve
54+
- Socket
55+
- Added alpn option to socket.starttls
56+
- Added early_data option to client-side socket.starttls
57+
- String
58+
- Added string.span
59+
- Removed previously-deprecated string.find_first_of, string.find_first_not_of, string.find_last_of, string.find_last_not_of, string.lfind
60+
- Table
61+
- Added table.create
62+
- Added table.clone
63+
- UTF8
64+
- utf8.offset now also returns the final position of the codepoint
65+
66+
For Integrators:
67+
- Pulled `luaL_openselectedlibs` from Lua 5.5 so you can now define which Lua and Pluto libraries to load globally + preloaded via bitflags. `luaL_openlibs` is now a macro using this function to the same effect as before.
68+
769
## 0.11.3
870
Fixed some regressions from 0.11.2:
971
- io.isfile and io.isdir erroring on non-existent paths

0 commit comments

Comments
 (0)