Release notes for EiffelStudio 7.0

Graphical environment

What's new

  • EiffelRibbon: a Windows specific library and tool to add a ribbon to your EiffelVision2 applications.
  • Debian packages available for downloads.
  • Added external contributions: Decimal library, Json parser, arbitrary precision mathematics, encryption (SHA1, MD5, x509, ...).
  • Added previews of libraries: sqlite3, regular expression, ...
  • Added a command line option "-tests" to run all associated Autotest tests from the command line.


  • Better integration with the latest Linux Desktop environments: Unity from Ubuntu and KDE 4.0.
  • SCOOP speed improvements.
  • Added support for .NET 4.0 runtime.


  • BIT type is now obsolete.
  • Location of precompiled libraries has been moved to a user specific directory that can be referenced via the $ISE_PRECOMP variable in your project configurations. This addresses some permission issues depending on how and under which user EiffelStudio was installed.

Bug fixes

  • Fixed a display issue of Unicode characters when reporting an error. (bug#17661).
  • Fixed a pick and drop issue where it could be confused (e.g. select ARRAY in editor, switch to clickable format, try to pick various elements, it would always pick BOOLEAN instead) (bug#17666).
  • Fixed issue with pick and drop of a feature from an override class whose position is further away than the original class would not scroll to this feature (bug#17406).
  • Fixed some issues of window positioning when using EiffelStudio with multiple monitors.
  • Fixed a case where you could have 2 editor panes open on the same class.


  • Click here for the compiler release notes.


.NET debugging

  • It is now possible to use the EiffelStudio debugger to debug Eiffel applications targeted to Microsoft .Net 4.0.

Caution: Currently, to debug Eiffel targeted to Microsoft .Net 4.0, it is necessary to set the preference "debugger.dotnet.keep_stepping_info_dotnet_feature" to "False" in order to avoid problems when using the debugger's "Step into" command.

Graphical environment

  • Fixed a problem with missing tool content when an assertion violation was ignored.
  • Instances of classes IMMUTABLE_STRING_* are now correctly displayed in the debugger's tools.
  • Added a toolbar button for the "Attach" command.
  • The exception trace is now included when watch evaluation fails due to an internal error.
  • Fixed various issues in which the debugger is unable to retrieve information about an object, especially from the current object.
  • Fixed various watch evaluation issues involving argument variables.

Developer changes

  • The {DB_BREAKABLE_POINT_INFO}.text is no longer truncated, allowing the retention of the full line of Eiffel code.


  • Click here for the EiffelBuild release notes.



  • Prevented creation of instances of PROCEDURE, FUNCTION, and PREDICATE using a creation instruction. An agent has to be created via the agent expression provided at the language level.
  • Fixed a potential reporting of version mismatch when there is a mismatch but actually no version changes.
  • Added TABLE_ITERATOR and TABLE_ITERATION_CURSOR to provide a common way for TABLE like datastructure to iterate over using the new across loop.
  • Improved speed of replace_substring_all when replacing a smaller string by a larger one.
  • Added support for string searches of a STRING_32 string (previously it was limited to STRING_8).
  • Fixed {IMMUTABLE_STRING_XX}.shared_substring which would not be properly processed by many string operations (e.g. item, item_code, code, ...).
  • Changed the behavior of {STRING_XX}.twin to create a new string where the capacity is set to the count of the twinned strings and not to its capacity. In scenarios where a large buffer is used but a frequent twin is used it has a big impact on speed and memory usage.
  • Fixed an issue with {FILE}.read_to_string which would not change the hash_code of the string given as argument.
  • Improved speed of HASH_TABLE lookups.
  • Added {POINTER}.is_default_pointer.
  • Excluded class BIT_REF from the default setup. In order to use type BIT one has to define a variable USE_BIT.
  • Made {LINKED_STACK}.duplicate void-safe, made a postcondition in {INTERVAL}.intersection void-safe.



  • Added support for INTEGER_xx and NATURAL_xx datatypes.
  • Added support for transactions in the MySQL handle.
  • Various speed improvements for SQL queries.
  • Added support for multiple database connections.
  • Added support for immutable and unicode strings.
  • Added support for GUID type.
  • Added support of DECIMAL type.

Argument parser

  • Made feature {ARGUMENT_BASE_PARSER}.copyright deferred.

Click here to check out what was new in other versions