Version 9 (modified by Charles, 9 years ago)


Cobra 0.9.0 Release Notes

Since the last release there are almost too many improvements to list. You can browse the revision log online if you care too.

Some highlights just from the last few months include:


  • Support multiple test sections in methods and properties.
  • Added new try...catch...get expression.
  • Throw an UnpackException? for multi-target assignment (target1, target2 = source) if there is a mismatch in the number of source items and targets
  • Support unpacking the new Pair classes in assignments and for loops.
  • Enhance the treatment of == and <> between objects to fall back to a strongly type .equals method if a strongly typed .compareTo method is not available.
  • Added support for namespace doc strings.
  • Improved error checking and improved error messages.
  • Bug fixes.


  • Renamed "Cobra.Lang" to "Cobra.Core"
  • New MultiList? class.
  • New Pair<of TA, TB> and Pair<of T> clasess.
  • Improved the default formatting of the trace statement (which is also configurable).
  • Added CobraCore.operatingSystemDescription as String.
  • Added Stack.clone extension method that preserves the ordering of the stack elements.
  • Added String.limitLength(maxLength as int, suffix as String?) as String extension method.
  • Added GtkSourceView sample program.
  • A Cobra.Compiler library is now always provided during installation.
  • Bug fixes.

Command Line

  • Command line: -native-compiler: The absolute path to the native compiler is no longer required. A simple "csc.exe" or "dmcs" will suffice if it is in the system PATH.
  • Added -clr-platform option (like C#'s -platform option).
  • For "cobra -about", show the path that cobra.exe comes from.


  • Added new How To: Customize Object Equality.
  • Kickstarted Cobra Koans.
  • Expanded the wiki.
  • Continued discussion and support in the forums.


  • Improved the output of the @help directive.
  • Improved the installer in numerous ways.
  • Expanded the test suite.
  • Advanced the JVM back-end (could still use open source volunteers).
  • Bumped the Mono requirement from 2.4 to 2.6 based on a survey about VM versions.

See Also