Releases: moonsharp-devs/moonsharp
Releases · moonsharp-devs/moonsharp
0.9.6
- Support for registration of generic type definitions (e.g.
List<>
) - Support for registration of generic extension methods (beware using this on iOS)
- Support for registered multidimensional arrays
- Support for user-defined member descriptors
- Support for calling members with
__call
metamethod through aScript.Call
method - Revised support for registered array types (was breaking on some Mono versions)
- Fixed: indexers not working on multiple base type dispatch
0.9.4
- Interop with enums
- Async methods on .NET 4.x (normal and PCL) supporting async/await
- Revised standard descriptors architecture for better extensibility
- Improved support for nested types
- Improved error messages when an invalid member access is made
- Interop support improvements for value types passed as userdata
- Interop support for events (with limitations)
- Interop support for varargs (ParamArray) functions
- Improved interop with const and readonly fields
- Improved interop with mixed access properties
- DynValue.ToDynamic method for easier use on .NET 4.x (normal and PCL)
- Extended support for iterating over coroutines with a for..each loop
- Adjusted constructors visibily for StandardUserDataPropertyDescriptor and StandardUserDataFieldDescriptor
- Partial support to directly use a Lua coroutine as a Unity3D coroutine
- ScriptLoaderBase and all its child can optionally ignore the LUA_PATH global
- The REPL interpreter and ReplInterpreterScriptLoader now consider the LUA_PATH_5_2 environment variable
- Fixed a bug on Unity3D where UnityAssetsScriptLoader was not available on WSA apps
- Fixed a bug where using AutoRegistration break automatic delegates interop
- Fixed some issues on explicitely registered collections (See github issue #88)
- Fixed documentation issues
- Workaround a Unity3D bug where optimized access on a const field crashed the editor
0.9.2
- Support for lambda style anonymous function as done by metalua (
|x,y| x*y for function(x,y) return x*y end
) - Support for interop with overloaded methods (see note 1 below)
- Support for interop with fields (see note 2 below)
- Support for interop with methods having ref/out parameters (see note 2 below)
- Support for interop with C# indexers (incl. language extension)
- Support for interop with overloaded operators and metamethods on userdata
- Proper REPL interpreter and facilities implemented
- FIXED: % operator was calling the __div metamethod instead of __mod
Note 1: overloaded methods add computational complexity at every call to dispatch to the correct method.
While caching exists to improve performance, please try to avoid that.
Note 2: setting a field and methods with ref/out paramenters at the moment always use reflection, whatever
the InteropAccessMode is. Use properties and/or methods returning DynValue tuples for faster access.
0.9.0
- Removed ANTLR dependencies
- Improved performances at load methods
- string.dump implemented
- Bytecode serialization supported
- Goto statements supported
- Hex floats support
- Tail call optimization support
- Invalid comparison functions in table.sort now correctly report errors
- Better coverage of error messages at the lexer level
- I/O streams are now customizable.
- Support for conversions to List, IList, T[], Dictionary<K,V> and other generic collection types
- Support for customizable type converters
- Constructors can be called on userdata (by calling a fictitious __new method on a static userdata)
- tonumber() supports all bases between 2 and 10 (thanks jerneik)
- Fixed a bug where the debugger connected to the wrong hostname [Flash security is perverted]
- Fixed a potential memory leak and other hypotetical issues when a deep nested break is executed
- Compatibility with mono --full-aot (which should include iOS support on Unity / Xamarin)
- Test suite fixed for an issue where the wrong optimization mode on userdata is chosen
- A lot of reordered things in code.. a lot of easily repairable breaking changes, sorry
- Extended XML help coverage
- Version for portable.NET 4.x and .NET 4.x frameworks
- Tested on Windows Store Apps (win8/8.1)
- Tested on Windows Phone 8.1
- Tested on Silverlight 5
- Tested on iOS (minor issues still to be solved)
0.8.5.1
- Vastly improved type descriptors - #39
- Fixed: Varargs not supported on main chunk - #46
- Fixed: pcall returns only the first return value - #47
- Fixed: Threading check not working properly - #42
- Fixed: Exception ctor overloads revised for potential obscure bugs - #40
- Fixed: String patterns do not support \0 characters - %z must be used instead. - #29
MoonSharp 0.5.5
- Optimized parsing stage
- Performance statistics for diagnostics
MoonSharp 0.5.0
This is the first release on Moon#.
Changes from v0.2 are too many to list exactly, but include:
- Suport for metatables
- pcall
- Standard library
- Coroutines
- Marshalling of C# objects as userdata