EiffelStudio 23.09 Releases

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 green or in red (for breaking changes). 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.

Beta download: https://account.eiffel.com/downloads/channel/beta

Stable download: https://account.eiffel.com/downloads/channel/stable

EiffelStudio (September 2023)


  • dotnet: added compilation support for .NETCore (net6.0, net7.0) (see the online documentation for current limitations).
  • dotnet: removed support for .NET frameworks older than v4.0


  • studio: using the environment variable `ES_CLOUD_PREFERRED_HTTP_CLIENT`, the user can force EiffelStudio to use the "curl" executable instead of libcurl or EiffelNet for the cloud account webapi client.
  • Compiler: the compiler creates required directory recursively, including the `-project_path ..` location if it does not exist.
  • studio: fixed the behavior of EiffelStudio when the user tries to compile first inside a read-only directory, and then to select a better one. EiffelStudio was still reporting the permission denied until EiffelStudio is relaunched.
  • various minor bug fixes

Libraries Bug fixes

  • EiffelBase: fixed the implementation of `SPECIAL.same_items` when Current and other is the same object (noticed when using same_items with immutable string objects built from `shared_substring` function).
  • EiffelBase: fixed assertions on `TRAVERSABLE_SUBSET` and `LINEAR_SUBSET`
  • EiffelBase: fixed implementation of `disjoint` and `symdif` from class `SUBSET_STRATEGY_GENERIC`.
  • EiffelBase: fixed implementation of `move_item` from `LINEAR_SUBSET`
  • http_client: fixed the `connect_timeout` implementation for the "libcurl" case.

Libraries Improvements

  • http_client: added an new implementation of http_client library using the `curl` executable (in addition to `libcurl`, `net`, there is now `curl`)
  • http_client: when using DEFAULT_HTTP_CLIENT, it is possible to use `{HTTP_CLIENT}.force_default_client (READABLE_STRING_GENERAL)` to start testing with a specific implementation, instead of using first `libcurl`, then `net`, then `curl`.

BETA (August 2023)

  • IDE: Added more information in the debugger output (modified environment variables, and timestamp for launched,stopped and quit events)
  • dotnet: Added support for renaming and prefixing .NET classes based on namespaces (instead of assemblies)
  • various bug fixes related to Autotest.

BETA (April 2023)

New features

  • IDE: Added "Toggle comment" to comment/uncomment current line/selection. The associated accelerator is Ctrl+/ .


  • IDE: Improved the impact of the zoom factor on EiffelStudio tools (especially features tool and errors&warnings tool)

Bug fixes

  • compiler: fixed a bug in {CONF_MODIFIED_VISITOR}.handle_class that caused random behavior of test#incr263 by unexpectedly flipping a state flag.
  • syntax_updaer: Corrected a bug with conversion of an old ECF when an option was set to a default, but this default was different in the new ECF version, by setting an explicit value instead.
  • EiffelBase: Fixed code iterating directly on the READABLE_STRING_(8|32).area by starting at the expected `area_lower` instead of 0. Otherwise strings created by IMMUTABLE_STRING_(8|12).shared_substring (...) were not correctly processed by those converters.
  • IDE: Fixed the uncomment of Eiffel lines when there was more than one block "--".
  • .Net (framework): Fixing location of dotnet (framework) executable in SDKs (resgen, ...)

Feature removed

  • IDE: removed "Recompile overrides" command and associated menu/toolbar/shortcut entries because override clusters should be always recompiled, including "quick_melt" compilation mode.

Libraries Improvements

  • EiffelBase: Made classes immune to default string/character size.
  • EiffelWEL: Improved the memory management for WEL_GDIP_IMAGE.
  • CMS: Updated feed management to restore the `title` if set in the feed aggregration (potentially update the description as well).
  • CMS: added basic CMS node management
  • Gobo-Project: Updated to Gobo Eiffel version 22.01 (added gecc, geimage and gedoc)

User changes

  • IDE: import previous credential when installing a new EiffelStudio version.
  • IDE: Updated color management when dark colors are used
    • added various preferences to let the user choose its own colors for many UI and text elements.
    • Use preferences for debugger tool\'s colors, so that user can choose their own colors.

Developer changes

  • .Net: moved .Net consumer `emdc.exe` under `%ISE_EIFFEL%\studio\spec\%ISE_PLATFORM%\bin\emdc.exe`.
  • .Net: added new .Net consumer `nemdc` tool to `%ISE_EIFFEL%\studio\spec\%ISE_PLATFORM%\bin\netcore` directory.
  • Code template: added a new `to_utf_8_string_8.e` code template.