Release notes for EiffelStudio 6.2

Graphical environment

What's new

  • Added new contract editor tool to ease edition of contracts on routines and classes.
  • Added Eiffel Information System which let you connect external documentation to your Eiffel code and vice versa.
  • Added ability to avoid comment duplication by using the <Precursor> in your descendant comment to reuse the parent one which is shown in all our formatter tools..
  • Added new light batch compiler ecb. It provides the same features as ec when using the batch mode. Currently projects compiled with ec are not compatible with those compiled with ecb. The main difference between the two is that ec is compiled with exception trace and multithreading support which could slow down the compiler by a factor of 20 to 40% depending on your platform.
  • Added experimental unit testing tool.


  • Error list tool now supports multiple selection, for better copy to clipboard usage.
  • Enhanced some errors to report better context information.
  • Optimized adding of items to the Error List by circumventing an expensive search when adding single items.


  • Error list items context now shows the full group name but after CLASS.feature because it is of lesser importance.
  • Restructured layout of user files to support unification and user-override files of Eiffel compiler installation files. Relocated default Eiffel projects location into the user files folder (windows and mac only).

Bug fixes

  • Fixed the EiffelCOM wizard so that it generates C code that compiles.


  • Click here for the compiler release notes.


Graphical environment

  • New breakpoint editor, which centralizes in a unique dialog the parameters of the breakpoint.
  • Added tag support for breakpoints.
  • Added new "When hits.." actions (such as enable/disable breakpoints, start/stop execution recording, and others...).
  • Better breakpoints tool, to see, sort or filter the breakpoints
  • Enhanced execution record and replay mechanism. This allows to record the execution, and replay the recording in EiffelStudio and see/browse the recorded values, and the calls executed.
  • Better dialog to change the layout of the Objects tool grid. It is possible to easily change the order of 'Current, arguments, locals, ...'.
  • Added a toggle button, to ignore or not the breakpoints.
  • Added dropdown menu on the "[Start]" button to have quicker access to useful features.

Debugger engine

  • Watch tool: added support for "create .." expression.


  • Click here for the EiffelBuild release notes.



  • Changed signature of {SPECIAL}.same_items and {SPECIAL}.all_default to take an extra argument. Our analysis shows that it was only used by ARRAY and that it should be harmless. If you have a compilation error, simply add 0 as first argument of your call.
  • Changed physical_size in INTERNAL to return the real allocated size of an object along with its header size.
  • Added deep_physical_size in INTERNAL to compute the size of an object and all its dependencies.
  • Improved speed of read_stream in FILE so that it used underlying fread once rather than calling getc for each requested character. Our benchmarks show that you can save up to 2s for 1000 calls.
  • Added an assigner routine for item in ARRAY2. This might break descendant classes of ARRAY2 redefining item.
  • Updated code toward Void-safety.


  • Fixed bug in {SOCKET}.read_stream where if there was a socket error, then it would cause a precondition violation in C_STRING.


  • Added support for DEBUG_OUTPUT for DATE, TIME and DATE_TIME objects making it easier to debug code based on them.
  • Fixed bug where duration in days between two dates overlapping a leap year would yield a result off by +1 or -1.
  • 10% speed improvement on certain date operations (can be seen on eweasel test#time002).



  • Fixed a bug in {WEL_REGISTRY}.enumerate_key where the routine would go in an infinite loop if the key name was larger than 64 characters.

Click here to check out what was new in other versions