Changes between Version 2 and Version 3 of ReleaseNotes_0.9.5
- Timestamp:
- 12/07/13 19:40:04 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseNotes_0.9.5
v2 v3 3 3 '''This release has not been made yet. The release notes are being built up on this wiki page.''' 4 4 5 2013-1 1- to-do5 2013-12- to-do 6 6 7 7 To get Cobra 0.9.5, visit [http://cobra-language.com/downloads/ Downloads]. … … 20 20 == Language == 21 21 22 * foo 23 * bar 22 * Added modifier sections in type declarations. For example: 23 {{{ 24 #!cobra 25 class C 26 27 private, shared 28 29 def foo 30 pass 31 32 def bar 33 pass 34 35 def baz 36 pass 37 }}} 38 39 * Support optional and named parameters. For example: 40 {{{ 41 class X 42 43 def main 44 .show('foo') 45 .show('bar', 5) 46 .show('baz', count = 3) 47 .show(s='can', count = 2) 48 49 def show(s as String, count as int = 2) 50 for i in count, print s 51 print 52 }}} 24 53 25 54 26 55 == Compiler == 27 56 28 * foo 29 * bar 57 * Provide improved error checking on arguments of initializer/constructor calls. 58 * Error checking enhancement: Confusing message on missed `of` in generics call. 59 * Fixed: An unfinished assignment statement causes an internal error instead of a normal error message ("unexpected end of file"). 60 * Fixed: Internal error for dynamic argument on a method overload. 61 * Fixed: Internal error if source file ends in the middle of a comma separated expression. 62 * Fixed: Cobra internal error when mixin declared after class. 63 * Fixed: In libraries, a field and property that differ only by case of a type with the same name triggers an internal compiler error. 64 * Fixed: Token on line after end of docstring causes parser confusion and 'useless error'. 65 * Fixed: Calling a method with an underscore name from within an initializer/constructor that is overloaded, causes an internal compiler error. 66 * Fixed: The compiler gracefully handles I/O exceptions when trying to delete intermediate files, but not unauthorized access exceptions. 67 * Fixed: If the compiler cannot delete an intermediate file, no warning is recorded. 68 * Fixed: Cobra gives a false parse error if there is a blank line after a doc string and before the get section of a property. 69 * Fixed: Using a namespace as a generic parameter can cause an internal error. 70 * Fixed: Raising a `shared` event causes an internal compiler error. 71 * Fixed: An anonymous method inside a method with a local variable named `result` causes a false compilation error. 72 * Fixed: Some CLR libraries cause an internal error when read by the compiler, specifically static readonly generics. 73 * Fixed: Some object creation expressions can cause an internal compiler error if one or more of the arguments has an error. 30 74 31 75 32 76 == Library / Run-time == 33 77 34 * foo 35 * bar 78 * Changed Cobra's Set<of T> to inherit from .NET 4's HashSet<of T>. 79 * Added new Process extension methods: 80 {{{ 81 #!cobra 82 def runAndCaptureOutput as ProcessOutput? 83 def runAndCaptureOutput(verbose as false) as ProcessOutput? 84 }}} 85 The return value can be queried for .standardOutput, .errorOutput and .combinedOutput. 86 * In `CobraCommand.find`, check the C: drive if an attempted file system path is not found on the current drive. 87 * New compiler API improvements. See changeset:2987 changeset:2990 changeset:3014 changeset:3016 88 * Fixed: Accessing Keywords.groups in Cobra.Compiler throws an exception 89 * Added `INode.goToDefinitionLocation` for IDEs. 36 90 37 91 38 92 == Command Line == 39 93 40 * foo41 * bar94 * Enhanced -lib: option to accept {!EnvironmentVariables} and {@latest}. 95 * Minor tweaks to -native-compiler-arg command line option. Now singular. Was always an accumulator. 42 96 43 97 44 98 == Installer == 45 99 46 * foo 47 * bar 100 * There is no explicit -net4 option as .NET 4.0 and higher is now the base requirement. 101 * Verify that libraries installed in the GAC have the correct version number. 102 * Locate the gacutil that comes with Visual Studio 2012. 103 * Added installer support for Windows 8.1 SDK. 104 * Fixed: When the installer is testing that hello.cobra can be compiled with the new compiler, it does not respect any -platform argument that was passed to the installer, resulting in an error. 48 105 49 106 50 107 == Other == 51 108 52 * foo 53 * bar 109 * Added MonoDevelop solution file for the Cobra compiler. 110 * Added msbuild/xbuild support. For example, there is now a CobraCompiler ToolTask. See also changeset:3052 111 * There have been plenty of documentation improvements through the wiki. See StandardLibraryExtensionMethods, which will lead to other documentation pages. 54 112 55 113 … … 58 116 Cobra is a community-driven, open source project under the MIT license. For this release, thanks go to: 59 117 60 * foo 61 * bar 118 * hopscc 119 * nerdzero 120 * dwilliamii 121 * Chasm 122 * DelphiGuy 123 * Jonno 62 124 63 125 Additional people contributed through testing and discussion.