forked from Saltarelle/SaltarelleCompiler
/
history.txt
107 lines (90 loc) · 6.06 KB
/
history.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
1.5.2
Don't swallow exceptions in async void methods.
Fixed assigning to the backing field of an event.
Fixed issue using async methods in certain cases when not using the VS .targets file.
The variable declared in a foreach statement is now considered declared inside the loop (only matters when capturing it, breaking change in C#5.0)
Fixed issue causing the "N" format specifier to forget the minus sign for small negative numbers.
1.5.1
Fixed issue using "this" in async methods.
1.5.0
Added Support for AMD (AsyncModuleAttribute)
Added support for generating executables, which will invoke the static Main entry point (command line -t:exe, task property TargetType).
Allow invalid identifiers in [ScriptName] and similar attribute. This will generate indexing expressions rather than dot-notation for those members.
foreach over ElementCollection and List<T> will now use a for loop. The [EnumerateAsArrayAttribute] controls this behaviour.
Casting undefined to another type now returns undefined (instead of throwing an error).
Can now specify PreseveMemberCase(false) on types to ignore the effect of a PreserveMemberCaseAttribute on the assembly.
Node.js support: mscorlib works in Node, and there is a Node.js import library.
Allow members other than methods in [GlobalMethods] classes. All members in such classes will be treated as gloabls (or module globals).
Added support for CommonJS require
1.4.0
Implemented support for async/await.
Fixed problem assigning an object creation with initializers to a by-reference variable.
Fixed problems causing compilation error when using a default constructor constarint on a type parameter.
Fixed invoking method implemented as inline code with type parameters as type arguments.
Can now specify custom implementations for methods/properties that override/implement [NonScriptable] base members.
Fixed bug when assigning to a property of type dynamic when the property owner is not dynamic.
Fixed error when using 'x is Function'
Array utility methods are now typed extension methods in the System namespace rather than untyped instance methods on Array.
Fixed issue causing Type.cast calls to be generated for [Imported] generic types.
Fixed type ordering issue when inheriting from a type that uses [IgnoreGenericArguments].
Support multidimensional arrays.
Fixed ordering of type to prevent unnecessary (and sometimes problematic) Type.registerNamespace calls
1.3.0
Support empty ScriptName for NamedValues enum.
Added MinValue/MaxValue members to integer types.
Added members necessary to compile iterator blocks returning IEnumerable.
Fixed internal error when inheriting from generic type.
Added conditions to project imports to work with NuGet package restore.
Fixed problem invoking method on a class decorated with a [MixinAttribute].
Fixed compilation of expression lambda containing a single property assignment.
Fixed issue causing the property assignment to erroneously happen unconditionally in the statements "a && (P = b)" and "a || (P = b)".
Conditional expressions now only declare the temporary variable once.
Ensure that the RHS of a coalescing operator is not evaluated if the LHS is null
Added support for [ExpandParams] and [BindThisToFirstParameter] attributes on delegates.
1.2.5
Refactored the handling of inline code. This means that unnecessary parentheses should no longer appear when using certain methods. It also means that the {,arg} modifier is removed ({*arg} now knows what to do), and inline code is verified to be syntactically valid.
Re-added types Queue<T> and Stack<T> to the RTL
1.2.4
ImportedAttribute now also counts as IgnoreGenericArgument by default (Script# compatibility issue).
Fixed an issue causing object initializers to be ignored for constructors defined as inline code.
Fixed issue causing enum fields not to be included in the enum type.
1.2.3
Fixed metadata bug causing jQuery.ExtendXX methods not to work
Added a PreserveMemberCaseAttribute that can be used to prevent camel-casing of members in an assembly or a type.
1.2.2
Conversions between JsDate and DateTime are now explicit. Should solve issues involving nullable DateTimes.
1.2.1
Support constructors with a single 'params object[]' parameter for imported types to create a name-value collection.
Renamed MutableDateTime to JsDate.
Fixed issue causing instantiation of generic types with named constructors to not work (#18).
1.2.0
Fixed compiling instance methods on serializable types.
Insert parentheses around number when a member is being accessed (eg. (1).member).
Removed implicit conversion of char to string because that caused issues with csc. Added error message when char is boxed because this is very unlikely to yield undesired behaviour.
Serializable types no longer have to be sealed (but they still cannot use virtual/override)
Fixed issue with Visual Studio IntelliSense
Fixed issue that causes s.IndexOf("x", 1) to be compiled to s.indexOf(String.fromCharCode('/'), 1)
Fixed issue using static members through subclasses of the declaring type.
Added new assembly-level ScriptSharpCompatibiliyAttribute.
Added equality and inequality operators to System.DateTime.
Some fixes to System.String
1.1.4
Fixed NuGet dependency versions. Installing Runtime will now always install the latest version of the compiler and so on.
1.1.3
Fixed issue cloning generic delegates (eg. Func, Action).
1.1.2
Fixed issue causing incorrect code to be generated when duplicate using directives were specified. Also added code to ensure an internal error is raised under similar circumstances.
RegexMatch has a Length property and is convertible to string[]
DateTime.ParseExact and ParseExactUtc metadata updated to return DateTime? (which they always actually have in script)
1.1.1
Added type NotSupportedException (required for the iterator blocks feature).
1.1.0
Use !! for dynamic conversions to bool.
Fixed internal error when implementing properties/events that are [NonScriptable]
Implemented support for iterator blocks (yield)
Minification improvements
DateTime is now an immutable struct, MutableDateTime is a mutable date class.
1.0.1
Fixed project URL and included history in NuGet packages.
1.0.0
Initial version