EiffelStudio 22.05 Releases

Revision as of 12:34, 24 May 2022 by Jfiat (Talk | contribs)

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 (May 2022)


  • source control tool: UI enhancement (zoom support for grid and text, diff from any file in a repo),
  • estudio(debugger): Updated debugger tools to better support editor zoom factor.
  • wrapc: Updated wrapc/src/support/wrapc_wizard_function_generator.e class to extract only functions definitions. Added code to extract callbacks in the future.
  • source control tool: Implemented post commit operations handling via the commit dialog (mostly git push for now)
  • estudio(unix): fixed potential infinite recursion with modeless dialog
  • source control tool: added "add" and "delete" scm operations

Bug fixes

  • source control tool: fixed commit with message having double quotes, quotes, backquote for code.
  • source control tool: Ensure any scm operation has output message. Improved the revert operation for git, by resetting added or deleted files.
  • library(json): If no serializer has specific handling for strings, use as default JSON_STRING.
  • iron: make sure temporary (archive) file are removed once it is uploaded.

And all from previous BETA

BETA (April 2022)

New features


  • source control: added "add" and "delete" scm operations
  • source control: many minor UI improvements
  • studio: added support for `{CLASS_NAME}.feature_name` in Eiffel comments.
  • studio: include the feature indexing notes in clickable view.

Bug fixes

  • compiler: ignore unexpected BOM character in .ecf file (fixed a crash of the compiler, if such BOM was wrongly added).
  • compiler: Fixed bug#19838 (test#valid299) by looking through all routine IDs rather than using the first one to handle anchors on merged features.
  • source control: Fixed usage of temp file for SVN and GIT commit, needed for multi-lines commit log.
  • C compilation: Fixed crash of espawn and finish_freezing due to VS2022, and added support for VS2022.
  • studio: fixed the output of creation expression in clickable view (missing end keyword, ..).
  • tool(eiffel): added support for remote targets to the `eiffel` script tool.
  • tool(compile_all): added support for remote targets.

Feature removed

Libraries Improvements

  • library(jwt): Adjust token sub string (related to header, payload, and signature), to avoid unwanted spaces.
  • library(base): Added routines to convert INTEGER_* and NATURAL_* to binary and octal string representations.
  • library(web): if the port is already binded, the standalone httpd server will try for about 2 minutes before giving up and reporting the error. See the `max_bind_attempts` configuration. (note: mostly used on Linux during debugging session).
  • library(json): Added a new JSON_PATH following JSON Path specification
  • library(cms): Fixed various issues caused when the CMS url is subfolder (not at the domain.tld/ root).
  • library(json): Added JSON_STREAM_WRITER interface to generate JSON content.
  • library(json): Added JSON_EQUALITY_TESTER providing helper functions to compare JSON contents.
  • library(cms): Added a back-end page to list emails sent to a specific user. Various minor UI improvements.

User changes

Developer changes

  • wrapc: Updated feature {EWG_C_AST_PRIMITIVE_TYPE}.corresponding_eiffel_type
    • Mapping `unsigned` (it's a shorthand of `unsigned int`) as `NATURAL` in Eiffel.
    • Mapping `unsigned char` as `NATURAL` in Eiffel.
  • environment: support absolute path for EC_NAME, so it can use full path to the ec executable.
  • compiler: Exit with -1 and unsuccessful workbench compilation (only when a system was open).