EiffelStudio 17.11 Releases

(Redirected from EiffelStudio ChangeLog)

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in red. The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.

EiffelStudio 17.11.x Releases

Beta download: https://ftp.eiffel.com/pub/beta/17.11/


New features

  • EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.
  • compiler: Supported typed manifest arrays of the form {ARRAY [FOO]} <<bar, qux>> that allow for explicit specification on the array type (see more at eiffel.org).
  • compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at eiffel.org).


  • EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.
  • EiffelStudio: Moved error code in the error list to a dedicated column.
  • EiffelStudio: Supported filtering of error messages by free text.
  • library (Base): Updated CHARACTER_PROPERTIES to use Unicode 10.0.0 instead of 6.2.0.
  • compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.

Feature removed

Bug fixes

  • compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.
  • compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., if foo then "bar" else 5 end).
  • library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by ARGUMENTS_32 started with a white space.
  • EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.

User changes

  • compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no VWCE error anymore (more details are available at eiffel.org).
  • compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.

Developer changes