Difference between revisions of "EiffelStudio 18.07 Releases"

m (Improvements: Added a note about marking features from Base as class ones.)
Line 9: Line 9:
 
===New features===
 
===New features===
 
*compiler: Supported extension of project targets from a different project (ECF).
 
*compiler: Supported extension of project targets from a different project (ECF).
 +
*EiffelStudio: added auto-import (and auto-export) for the execution parameters using the file <code lang="text">$target_name.$system_name.dbg.profiles.xml</code> located in same folder as the .ecf file.
 +
*compiler: allow target to extend a target from another .ecf <code lang="xml"><target name="foo" extends="bar" extends_location="another.ecf"> ... </code>.
 +
*compiler: added support to ecf condition with custom value comparisons based on case-sensitive, case-insensitive, regular expression and wildcard.
 +
*debugger: the string display debugger viewer includes information about current caret position.
 +
*debugger: added a json debugger viewer (similar to the xml viewer).
  
 
===Improvements===
 
===Improvements===
Line 22: Line 27:
 
*EiffelStudio: Indicated whether a feature is a class one with special icons in various tools.
 
*EiffelStudio: Indicated whether a feature is a class one with special icons in various tools.
 
*library: Marked many features of Base library as class ones to make them usable for non-object calls.
 
*library: Marked many features of Base library as class ones to make them usable for non-object calls.
 +
*EiffelStudio: improved auto completion for "|." and ".." cases.
 +
*library: added <e>EXECUTION_ENVIRONMENT.available_cpu_count</e>
  
 
===Feature removed===
 
===Feature removed===
Line 39: Line 46:
 
*EiffelStudio: Made sure message counters in the error panel are updated when messages are removed by a user.
 
*EiffelStudio: Made sure message counters in the error panel are updated when messages are removed by a user.
 
*library: test#thread024 - Fixed a bug in the implementation of <e>PROCEDURE</e> and <e>FUNCTION</e> classes that might cause memory corruption, access on void target or access on an invalid address when using agents in a system with any concurrency option turned on.
 
*library: test#thread024 - Fixed a bug in the implementation of <e>PROCEDURE</e> and <e>FUNCTION</e> classes that might cause memory corruption, access on void target or access on an invalid address when using agents in a system with any concurrency option turned on.
 +
*EiffelStudio: Fixed Pick and Drop from `Precursor` tokens.
 +
  
 
===User changes===
 
===User changes===
 +
*EiffelStudio: in the completion window, complete code with a single click action, and show tooltip when mouse is over the entry.
 +
*EiffelStudio: show auto completion window, even if there is a unique entry.
  
 
===Developer changes===
 
===Developer changes===
 
*eweasel: Ignored end-of-line differences when comparing output files.
 
*eweasel: Ignored end-of-line differences when comparing output files.
 
*compiler: Updated configuration file (ECF) schema version.
 
*compiler: Updated configuration file (ECF) schema version.

Revision as of 23:58, 15 May 2018

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 18.05.x Releases

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

18.05.x.y

New features

  • compiler: Supported extension of project targets from a different project (ECF).
  • EiffelStudio: added auto-import (and auto-export) for the execution parameters using the file $target_name.$system_name.dbg.profiles.xml located in same folder as the .ecf file.
  • compiler: allow target to extend a target from another .ecf <target name="foo" extends="bar" extends_location="another.ecf"> ....
  • compiler: added support to ecf condition with custom value comparisons based on case-sensitive, case-insensitive, regular expression and wildcard.
  • debugger: the string display debugger viewer includes information about current caret position.
  • debugger: added a json debugger viewer (similar to the xml viewer).

Improvements

  • eweasel: Supported Unicode in paths, arguments and environment.
  • code analyzer: test#codeanalysis027 — Supported more expressions when checking for CA071 (comparison to itself): Result, Current, Precursor, non-object call.
  • code analyzer: test#codeanalysis027 — Supported object (tilde) equality when checking for CA071 (comparison to itself).
  • code analyzer: test#codeanalysis028 — Supported conditional expressions when checking for CA046 (inequality used in if-then-else-end) in addition to conditional instructions.
  • EiffelStudio: Supported localized output from precompilation process (in case EiffelStudio is started in the environment with a non-English locale).
  • compiler: Reported source code context for class-level errors when this information is available.
  • compiler: Taken a condition into account when processing a precompile to allow for using different precompiles with different settings and for making such uses optional.
  • code analyzer: test#codeanalysis029 — Extended the rule CA017 (an empty conditional) to check for an empty compound after elseif or else parts.
  • compiler: Changed rules for class features. Now any non-static external and constant feature automatically gets a class postcondition if there are no explicit contracts. Redeclaration into or merging with a class feature requires a precursor either to be a class feature or to have no contracts.
  • EiffelStudio: Indicated whether a feature is a class one with special icons in various tools.
  • library: Marked many features of Base library as class ones to make them usable for non-object calls.
  • EiffelStudio: improved auto completion for "|." and ".." cases.
  • library: added EXECUTION_ENVIRONMENT.available_cpu_count

Feature removed

  • compiler: Removed an unused setting msil_assembly_compatibility from ECF (Eiffel configuration file).

Bug fixes

  • compiler: Fixed issues that caused link errors when using run-time in DLL (rather than statically linked).
  • code analyzer: test#codeanalysis027 — Avoided reporting expressions involving computation (e.g. function calls) by CA071 (comparison to itself).
  • code analyzer: test#codeanalysis028 — Avoided false positives for CA046 (inequality used in if-then-else-end) when elseif parts are present.
  • EiffelStudio: Disabled editing read-only library settings.
  • compiler: bug#17297, test#valid255 — Supported detection of VHPR(5) violations for arbitrary ancestors, not just for immediate parents. Breaking change for classes that inherit different generic derivations of the same class.
  • compiler: test#valid255 — Fixed a recompilation issue when first compilation fails and parents of the classes are changed.
  • code analyzer: test#codeanalysis029 — Avoided false positives for CA017 (an empty conditional) when there are non-empty elseif or else parts.
  • compiler: Specified source code class when reporting VUCR to show source code correctly.
  • library: bug#19436 (test#utf003) — Fixed several issues in the implementation of UTF_CONVERTER.is_valid_utf_16 (premature end of validation, infinite looping on certain inputs, access on index outside valid bounds).
  • library: Fixed a bug in the implementation of {WEL_API}.cwin_read_file and {WEL_API}.cwin_write_file that may cause GC in multi-threaded environment to hang on Windows because ReadFile and WriteFile were not marked as blocking.
  • EiffelStudio: Made sure message counters in the error panel are updated when messages are removed by a user.
  • library: test#thread024 - Fixed a bug in the implementation of PROCEDURE and FUNCTION classes that might cause memory corruption, access on void target or access on an invalid address when using agents in a system with any concurrency option turned on.
  • EiffelStudio: Fixed Pick and Drop from `Precursor` tokens.


User changes

  • EiffelStudio: in the completion window, complete code with a single click action, and show tooltip when mouse is over the entry.
  • EiffelStudio: show auto completion window, even if there is a unique entry.

Developer changes

  • eweasel: Ignored end-of-line differences when comparing output files.
  • compiler: Updated configuration file (ECF) schema version.