Wiki

Changes between Version 2 and Version 3 of ReleaseNotes_0.9.5

Show
Ignore:
Timestamp:
12/07/13 19:40:04 (11 years ago)
Author:
Charles
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseNotes_0.9.5

    v2 v3  
    33'''This release has not been made yet. The release notes are being built up on this wiki page.''' 
    44 
    5 2013-11- to-do 
     52013-12- to-do 
    66 
    77To get Cobra 0.9.5, visit [http://cobra-language.com/downloads/ Downloads]. 
     
    2020== Language == 
    2121 
    22  * foo 
    23  * bar 
     22 * Added modifier sections in type declarations. For example: 
     23{{{ 
     24#!cobra 
     25class 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{{{ 
     41class 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}}} 
    2453 
    2554 
    2655== Compiler == 
    2756 
    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. 
    3074 
    3175 
    3276== Library / Run-time == 
    3377 
    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 
     82def runAndCaptureOutput as ProcessOutput? 
     83def runAndCaptureOutput(verbose as false) as ProcessOutput? 
     84}}} 
     85The 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. 
    3690 
    3791 
    3892== Command Line == 
    3993 
    40  * foo 
    41  * bar 
     94 * Enhanced -lib: option to accept {!EnvironmentVariables} and {@latest}. 
     95 * Minor tweaks to -native-compiler-arg command line option. Now singular. Was always an accumulator. 
    4296 
    4397 
    4498== Installer == 
    4599 
    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. 
    48105 
    49106 
    50107== Other == 
    51108 
    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. 
    54112 
    55113 
     
    58116Cobra is a community-driven, open source project under the MIT license. For this release, thanks go to: 
    59117 
    60  * foo 
    61  * bar 
     118 * hopscc 
     119 * nerdzero 
     120 * dwilliamii 
     121 * Chasm 
     122 * DelphiGuy 
     123 * Jonno 
    62124 
    63125Additional people contributed through testing and discussion.