Difference between revisions of "EiffelStudio 20.05 Releases"

(New features)
m (Improvements: Added a note of support for mapping of string classes in libraries.)
(12 intermediate revisions by 2 users not shown)
Line 11: Line 11:
 
===New features===
 
===New features===
 
* EiffelStudio: Added the new Wrap_c tool.
 
* EiffelStudio: Added the new Wrap_c tool.
* EiffelStudio: Added command line option  `-reset_ide_layout` to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).
+
* EiffelStudio: Added command line option  <code>-reset_ide_layout</code> to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).
* New `wrap_yaml` library is an Eiffel binding of YAML C API using WrapC tool. LibYAML is a YAML parser and emitter library. https://iron.eiffel.com/repository/20.05/package/67922189-E85C-4375-A4C3-7779E6000739
+
* library (base): Added <e>READABLE_STRING</e> and <e>IMMUTABLE_STRING</e> as aliases to sized versions of string classes.
* New `wrap_sdl` library is an Eiffel binding of SDL API using WrapC tool. Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games. https://iron.eiffel.com/repository/20.05/package/46827915-EF60-46E2-B953-BC0FE61CB8C6
+
* compiler: supported a mapping from <e>STRING</e> (and variations) to <e>STRING_32</e> (and variations).
* New `wrap_libusb` library is an Eiffel binding of libusb C API using WrapC tool. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. https://iron.eiffel.com/repository/20.05/package/DDB3B029-7254-47BE-BBC9-78EAFC432821
+
* library: multiple wrappers for C libraries
* New `wrap_quirc` is an Eiffel binding of quirc C API using WrapC tool. Quirc is a C library for scanning QR codes. https://iron.eiffel.com/repository/20.05/package/0D27165B-283D-426D-B188-66B4742561D6
+
{|
* New `wrap_lz4` library is an Eiffel binding for lz4 - Extremely fast compression library. https://iron.eiffel.com/repository/20.05/package/62E8BE93-F29C-4F84-BF28-7F66350F4368
+
!Wrapper
* New `wrap_libqrencode` library is an Eiffel binding of libqrencode using WrapC tool. Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness. https://iron.eiffel.com/repository/20.05/package/D7DE54E6-377F-4643-BFBD-683431455385
+
!Description of C library
* New `wrap_libgit2` library is an Eiffel binding of libgit2 C library using WrapC tool.  libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. https://iron.eiffel.com/repository/20.05/package/9619DCEA-F6D5-41C9-9256-B52DBC389436
+
|-
* New `wrap_gsl` library is an Eiffel binding for GNU GSL C library. The GNU Scientific Library (GSL) is a collection of routines for numerical computing. https://iron.eiffel.com/repository/20.05/package/ACF5FAB2-A405-42D0-8D46-137B3E1E901B
+
|[https://iron.eiffel.com/repository/20.05/package/67922189-E85C-4375-A4C3-7779E6000739 wrap_yaml]
* New `wrap_tidy` library is an Eiffel binding for HTML tidy library. Libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of Tidy's power to your favorite tools. libtidy is used today in desktop applications, web servers, and more. https://iron.eiffel.com/repository/20.05/package/9EBBF105-A717-4403-BFF7-BE26D28B0ADC
+
|LibYAML is a YAML parser and emitter library.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/46827915-EF60-46E2-B953-BC0FE61CB8C6 wrap_sdl]
 +
|Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/DDB3B029-7254-47BE-BBC9-78EAFC432821 wrap_libusb]
 +
|libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/0D27165B-283D-426D-B188-66B4742561D6 wrap_quirc]
 +
|Quirc is a C library for scanning QR codes.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/62E8BE93-F29C-4F84-BF28-7F66350F4368 wrap_lz4]
 +
|Extremely fast compression library.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/D7DE54E6-377F-4643-BFBD-683431455385 wrap_libqrencode]
 +
|Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/9619DCEA-F6D5-41C9-9256-B52DBC389436 wrap_libgit2]
 +
|libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/ACF5FAB2-A405-42D0-8D46-137B3E1E901B wrap_gsl]
 +
|The GNU Scientific Library (GSL) is a collection of routines for numerical computing.
 +
|-
 +
|[https://iron.eiffel.com/repository/20.05/package/9EBBF105-A717-4403-BFF7-BE26D28B0ADC wrap_tidy]
 +
|Libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of HTML Tidy's power to your favorite tools. libtidy is used today in desktop applications, web servers, and more.
 +
|}
  
 
===Improvements===
 
===Improvements===
 
* EiffelStudio: Added Unicode support in the editor search facilities.
 
* EiffelStudio: Added Unicode support in the editor search facilities.
 
* EiffelStudio: Improved account sign in solution.
 
* EiffelStudio: Improved account sign in solution.
* tools (eiffel):  
+
* tools (eiffel): Improved detection of application targets.
 +
* compiler (code analyzer): Avoided false positives for unneeded parentheses around expressions (<code lang="text">CA023</code>).
 +
* library (base): Updated character properties to use Unicode 13.0.0.
 +
* library: Updated some libraries to be compilable when <e>STRING</e> (and variants) is mapped to <e>STRING_32</e> (and variants): base, base_extension, time, base_process, process, net, diff, wel, testing.
  
 
===Libraries Improvements===
 
===Libraries Improvements===
Line 44: Line 72:
 
* library (feed): Improved RSS2 and ATOM implementation for validation.
 
* library (feed): Improved RSS2 and ATOM implementation for validation.
 
* library (xml): Escape any non ASCII character.
 
* library (xml): Escape any non ASCII character.
* compiler:  
+
* compiler: test#final134 — Fixed a bug that may cause memory corruption in finalized mode when a feature with an argument of a reference type has a single instruction with a single call which is instance-free and uses the argument.
 +
* compiler: test#exec347 — Fixed a bug that might cause memory corruption or a crash if the application uses a feature argument as an anchor without using the argument value.
 +
* EiffelStudio: Fixed bugs causing clickable formats to report an error when restricted or symbolic forms of loops are used.
 +
* EiffelStudio: Fixed rendering of symbolic forms of loops in a clickable format and stepping through them in the debugger.
  
 
===Features removed===
 
===Features removed===

Revision as of 06:50, 2 June 2020

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.


EiffelStudio 20.05.x Releases

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

20.05._._ (../../2020, beta 20.05)

New features

  • EiffelStudio: Added the new Wrap_c tool.
  • EiffelStudio: Added command line option -reset_ide_layout to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).
  • library (base): Added READABLE_STRING and IMMUTABLE_STRING as aliases to sized versions of string classes.
  • compiler: supported a mapping from STRING (and variations) to STRING_32 (and variations).
  • library: multiple wrappers for C libraries
Wrapper Description of C library
wrap_yaml LibYAML is a YAML parser and emitter library.
wrap_sdl Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games.
wrap_libusb libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc.
wrap_quirc Quirc is a C library for scanning QR codes.
wrap_lz4 Extremely fast compression library.
wrap_libqrencode Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness.
wrap_libgit2 libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings.
wrap_gsl The GNU Scientific Library (GSL) is a collection of routines for numerical computing.
wrap_tidy Libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of HTML Tidy's power to your favorite tools. libtidy is used today in desktop applications, web servers, and more.

Improvements

  • EiffelStudio: Added Unicode support in the editor search facilities.
  • EiffelStudio: Improved account sign in solution.
  • tools (eiffel): Improved detection of application targets.
  • compiler (code analyzer): Avoided false positives for unneeded parentheses around expressions (CA023).
  • library (base): Updated character properties to use Unicode 13.0.0.
  • library: Updated some libraries to be compilable when STRING (and variants) is mapped to STRING_32 (and variants): base, base_extension, time, base_process, process, net, diff, wel, testing.

Libraries Improvements

  • library (sqlite3): Updated SQLite3 C code to version 3.31.1 - 2020-01-27.
  • library (eiffelweb): Improved web form html generation, especially for select and type checkbox
  • library (smarty): Added support for manifest string in condition, such as {if expression="$foo ~'bar'"} ...{/if} .
  • library (cms): improved database connection, and error handling during connection.
  • library (wikitext): Updated wikitext xhtml generator to follow recommendations from https://validator.w3.org/
  • library (curl): Updated cURL binaries using static linking of Microsoft's C RunTime (CRT) to avoid dependency on vcruntime140.dll.
  • library (base): Moved built-in routines to ISE_RUNTIME, and also from WEL_IDENTIFIED to IDENTIFIED_ROUTINES.
  • library (base): Added support for simpler Unicode output in the console based on new `PLAIN_TEXT_FILE.put_string_32`.
  • library(cms): Improved authentication implementation.

Bug fixes

  • EiffelStudio: When forcing the reload of current editor (Ctrl-R), open a confirmation dialog if file is modified.
  • EiffelStudio: Fixed display of variables and type mappings in project settings.
  • EiffelStudio: Improved the code completion popup dialog (filter, Unicode, ...)
  • library (feed): Improved RSS2 and ATOM implementation for validation.
  • library (xml): Escape any non ASCII character.
  • compiler: test#final134 — Fixed a bug that may cause memory corruption in finalized mode when a feature with an argument of a reference type has a single instruction with a single call which is instance-free and uses the argument.
  • compiler: test#exec347 — Fixed a bug that might cause memory corruption or a crash if the application uses a feature argument as an anchor without using the argument value.
  • EiffelStudio: Fixed bugs causing clickable formats to report an error when restricted or symbolic forms of loops are used.
  • EiffelStudio: Fixed rendering of symbolic forms of loops in a clickable format and stepping through them in the debugger.

Features removed

User changes

Developer changes

  • library(curl): better error message.
  • library(curl): added SFTP example.
  • library(gobo): updated to Gobo 19.11