Release notes for EiffelStudio 6.3

Graphical environment

What's new

  • Innovative testing tools let you automatically test your software, extract test cases from failed execution as well as manually creating your own test cases.
  • Added brace matching in the editor.
  • Added ability to automatically license your Eiffel classes each time you save a class.
  • Added the argument_parser library which provides an easy way to manipulate command line arguments.
  • Added a new version of the EiffelNet library with IPv6 support. Because it has some breaking changes, the library is called net_ipv6 and can be, in most cases, be used in place of the original EiffelNet library.


  • Improved the library choice dialog which can also be customized to include your own locations.
  • Added support for note keyword and the updated variant keyword location in a loop through the environment.
  • You can remove errors from the Warning and Error list tool which is practical when fixing many errors at once.
  • Improved the problem report submission dialog.
  • Better messaging about the installed C/C++ compiler on Windows.
  • Improved cursor rendering colors, so that in all background colors.


Bug fixes

  • Code completion works even if the obsolete is keyword is missing.
  • Fixed an installation issue of the enterprise/evaluation release of EiffelStudio on Windows Vista.
  • Properly refreshes the Feature tool after a save or a compilation.
  • Fixed browsing of .NET classes in EiffelStudio.


  • Click here for the compiler release notes.


Graphical environment

  • Watch tool:
    • Changed the shortcut to move up/down expression (Shift+Alt+Up|Down). This can be changed in preferences.
    • Multiple expressions can be moved up/down at the same time (instead of just one)
    • Added export to/import from a file the expressions' text
    • Pasting multi-lines text into the "..." expression cell, will create one expression per line.
  • Interface: various bug fixes

Debugger engine

  • added support for self initialized attributes
  • fixed major issue of the dotnet debugger on Win32 (and potentially on win64 too)
  • fixed retrieving of stack value when invariant is violated (now a _invariant stack will appear in the call stack to help debugging)


  • Click here for the EiffelBuild release notes.



  • EiffelBase has been rewritten to be Void safe. To use the void safe version, one has to use the base-safe.ecf configuration file of EiffelBase. Not all libraries are void safe, so the void safe version can only be used for code that does not depend on other libraries. EiffelStudio 6.4 should provide void safe version of all libraries provided in EiffelStudio.
  • Added sleep to EXECUTION_ENVIRONMENT and made sleep from THREAD_CONTROL obsolete.
  • Added read_xxx_thread_aware in IO_MEDIUM so that reading a file is not blocking in a multithreaded context.
  • Added the notion of read-only and immutable strings (respectively READABLE_STRING_8/32 and IMMUTABLE_STRING_8/32). Because READABLE_STRING_8 is deferred, some code using expression of the form STRING + SYSTEM_STRING in .NET mode will not compile anymore. Instead one has to do STRING + create {STRING}.make_from_cil (SYSTEM_STRING).
  • Added {READABLE_STRING_GENERAL}.same_string to compare any kind of strings together.
  • Added ability to stop and start the Eiffel tracing mechanism from code using the new TRACING_SETTING class.
  • Changed the default assigner for {TABLE}.item from put to force a new feature of TABLE. This allows the bracket operator on HASH_TABLE to work properly, that is to say hash_table [i] := j will indeed insert 'j' at key 'i' even if key 'i' is already present. Before it was silently doing nothing since it was using put.
  • Fixed eweasel test#list012 which showed an invariant violation after twining a SORTED_TWO_WAY_LIST and then modifying the copy by adding an element. This introduces a breaking change in all descendants of SORTED_TWO_WAY_LIST.


  • EiffelNet can select on 256 ports at the same time
  • Fixed on Unix improper handling of EWOULDBLOCK and EINPROGRESS error on Unix which would raise an exception instead of silently ignoring the error as it is done on Windows.
  • New library for IPv6 support.


  • Fixed an issue with the library when redirecting inputs/outputs of the child process. Sometime we would be missing some characters and cause a memory corruption at the same time.


Click here to check out what was new in other versions