Difference between revisions of "EiffelStudio 19.12 Releases"

m (beta 19.06 (July 1st 2019): Added a note about fixing a bug in `{EV_GRID_LAYOUT_MANAGER}.row_is_ready_for_identification`.)
m (Bug fixes: Added a note about fixing bug#19596 (test#scoop083).)
 
(34 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
__NOTOC__
 
__NOTOC__
  
= EiffelStudio 19.11.x Releases=
+
= EiffelStudio 19.12.x Releases=
  
 
Beta download: https://ftp.eiffel.com/pub/beta/
 
Beta download: https://ftp.eiffel.com/pub/beta/
  
==beta 19.xx (... 2019)==
+
== 19.12.10.3842 (December 30th 2019, beta 19.12) ==
  
 
===New features===
 
===New features===
 +
* compiler: Supported multiple aliases of the same feature.
 +
* compiler: Added a new validity rule for duplicate alias names specified for the same feature.
 +
* compiler: Added a command-line option to set a preference value: <code lang="text">-preference name value</code>.
 +
* compiler: Added a preference to control processing of new lines when pretty printing:
 +
** keep — keep line breaks unchanged;
 +
** wrap — wrap long constructs (such as expressions) if they do not fit a given line length limit (not supported yet);
 +
** inline — format long expressions on a single line
 +
* compiler: Added a preference to control processing of loops when pretty printing:
 +
** keep — keep loop style unchanged;
 +
** keyword — use keyword-based notation;
 +
** symbolic — use symbolic notation if possible.
  
 
===Improvements===
 
===Improvements===
 +
* library (base): Added features <e>TUPLE.real_32*</e> and <e>TUPLE.real_64*</e>.
 +
* EiffelStudio: Supported auto completion for aliases by providing a list of suitable Unicode operators.
 +
* EiffelStudio: Added a new dialog to insert (Unicode) symbols with activation by <code lang="text">Ctrl+Alt+Space</code>.
 +
* tool (eiffel): Added an option (short version: <code lang="text">-o</code>, long version: <code lang="text">--executable-output</code>) to control how output of the executable is processed.
 +
* library (preferences): Supported selection of a single value in a choice preference.
  
 
===Bug fixes===
 
===Bug fixes===
 +
* EiffelBuild: Fixed regressions (various exceptions) occurring related to value changes and pick-and-drop behavior.
 +
* library (Vision2 demo): Avoided crashing during execution (caused by removal of dead code reachable through reflection).
 +
* tool (eiffel): Prevented compilation of a system with multiple targets unless the required one is specified.
 +
* EiffelStudio: Corrected import of the settings from <code lang=text">.ini</code> files.
 +
* library (net): Ensured <e>{SOCKET}.last_string.count</e> has the expected value when using <e>{SOCKET}.read_stream</e>.
 +
* tool (finish_freezing/espawn): Made the detection of C compiler on Windows more robust.
 +
* library (eiffelweb/wsf): Corrected default value of <code lang="text">SERVER_PORT</code> for HTTPS connection to be 443.
 +
* EiffelStudio: Fixed display of the hidden toolbar items.
 +
* compiler: test#valid082, test#valid083 — Fixed validity checks for export status of operators by using current class rather than target one.
 +
* compiler: test#term218 — Fixed computation of a common ancestor type to avoid an infinite loop when one of element types is a mark-free formal generic type.
 +
* library (base): Removed redefinitions in implementations of <e>CURSOR_TREE</e> that violated VDRS(4) because a feature was effected rather than redefined.
 +
* compiler: bug#19596 (test#scoop083) — Fixed a bug that might cause a SCOOP program to crash when a separate call is passed an address of a variable.
  
 
===Features removed===
 
===Features removed===
  
 
===User changes===
 
===User changes===
 +
* EiffelStudio: reorganized and simplified the breakpoint context menu
 +
* EiffelStudio: the version update checker is using the new notification system.
  
 
===Developer changes===
 
===Developer changes===
 +
* compiler: Removed support for <e>infix</e> and <e>prefix</e> features.
 +
* library(eiffelweb/wsf): Improved WSF_FILE_SYSTEM_HANDLER to redirect "/subdir" on directory to "/subdir/" so that relative URLs are correctly handled.
 +
* library(eiffelweb/wsf): Improved the CGI handler from wsf_extension.
 +
* compiler: Reordered <code lang="text">VFAV</code> rules to match most recent version of the standard.
  
 +
== 19.09.10.3472 (September 10th 2019, beta 19.08) ==
  
==beta 19.07 (July 31st 2019)==
+
===Bug fixes===
 +
* EiffelStudio: Fixed a bug causing an exception when showing a context menu.
 +
 
 +
== 19.08.10.3451 (September 2nd 2019, beta 19.08)==
  
 
===New features===
 
===New features===
* compiler: Added support for manifest immutable strings, once manifest immutable strings, and immutable string constants. Examples: <code>{IMMUTABLE_STRING_32} "Unicode string..."</code>, <code>once {IMMUTABLE_STRING_8} "once value"</code>, <code>id: IMMUTABLE_STRING_8 = "abc"</code>.
+
* EiffelStudio: Added a first version of a dialog to insert a Unicode symbol.
  
 
===Improvements===
 
===Improvements===
*compiler: test#valid297, test#valid298 — Changed rules how export status of features is computed to follow the standard to avoid CAT calls: a feature could be made available only to more classes, not fewer.
+
* EiffelStudio: Recorded acceptance of a GPL license immediately, so that the next instance of EiffelStudio does not repeat the licensing question even when the first one is still running.
 +
* library (base): Changed signature of <e>{IO_MEDIUM}.put_string</e> and associated features to accept <e>READABLE_STRING_8</e> instead of <e>STRING_8</e>.
 +
* library (api_wrapper): Supported non-ASCII library names.
  
 
===Bug fixes===
 
===Bug fixes===
* editor: bug#19527 — Fixed issue with verbatim strings followed by a character.
+
* EiffelBuild: Fixed a bug that caused an exception when editing text value of a field.
* editor: bug#19527 — Fixed editor issue with manifest strings ending with <code>%%</code> such as <code>"foo%%"</code>.
+
* EiffelBuild: Fixed a bug that caused an exception when loading a project that was moved from its original folder.
  
 
===Features removed===
 
===Features removed===
  
 
===User changes===
 
===User changes===
 +
* library (base): Marked <e>{READABLE_STRING_GENERAL}.as_string_8</e> as obsolete to avoid hidden conversion from 32-bit strings to 8-bit ones and from immutable 8-bit strings to mutable ones.
 +
* library (base): Marked <e>{INTERNAL}.type_name</e> as obsolete with a suggestion to use <e>type_name_32</e> instead.
  
 
===Developer changes===
 
===Developer changes===
  
==beta 19.06 (July 1st 2019)==
+
== 19.07.10.3368 (July 31st 2019, beta 19.07)==
  
 
===New features===
 
===New features===
* compiler: Added support for full integer syntax in manifest character and manifest string syntax. Which means that: decimal <code>%/8704/</code>, hexadecimal <code>%/0x2200/</code>, octal <code>%/0c21000/</code> and binary <code>%/0b0010001000000000/</code> can be used in manifest character such as <code>{CHARACTER_32} '%/0x2200/'</code>, and also in manifest string such as <code>{STRING_32} "for all %/0x2200/"</code>.
+
* compiler: Added support for manifest immutable strings, once manifest immutable strings, and immutable string constants. Examples: <code>{IMMUTABLE_STRING_32} "Unicode string..."</code>, <code>once {IMMUTABLE_STRING_8} "once value"</code>, <code>id: IMMUTABLE_STRING_8 = "abc"</code>.
* library (base): Added a class <code>DYNAMIC_TABLE</code> with a feature <code>remove</code> that is implemented by descendants supporting removal of table items. In particular, <code>ARRAYED_LIST</code> redeclares it as <code>remove_i_th</code> that is more efficient than a sequence of calls to features <code>goto_i_th</code>, <code>remove</code>.
+
 
* library (base): Added Unicode aliases <code>∋</code>, <code>⊆</code> and <code>⊇</code> to features <code>has</code>, <code>is_subset</code> and <code>is_superset</code> respectively in descendants of classes <code>SET</code> and <code>SUBSET</code>.
+
===Improvements===
 +
*compiler: test#valid297, test#valid298 — Changed rules how export status of features is computed to follow the standard to avoid CAT calls: a feature could be made available only to more classes, not fewer.
  
 
===Bug fixes===
 
===Bug fixes===
*library (vision): Fixed a bug in <code>{EV_GRID_LAYOUT_MANAGER}.row_is_ready_for_identification</code> where an expression similar to <code>attached x /= Void</code> was used instead of <code>attached x</code>.
+
* editor: bug#19527 — Fixed issue with verbatim strings followed by a character.
 +
* editor: bug#19527 — Fixed editor issue with manifest strings ending with <code>%%</code> such as <code>"foo%%"</code>.
 +
 
 +
== 19.06.10.3318 (July 1st 2019, beta 19.06)==
 +
 
 +
===New features===
 +
* compiler: bug#17597 (test#syntax065) — Supported non-decimal character codes in manifest strings, so that decimal <code>%/8704/</code>, hexadecimal <code>%/0x2200/</code>, octal <code>%/0c21000/</code> and binary <code>%/0b0010001000000000/</code> can be used in a manifest string, e.g. <code>{STRING_32} "for all %/0x2200/"</code>.
 +
* library (base): Added a class <code>DYNAMIC_TABLE</code> with a feature <code>remove</code> that is implemented by descendants supporting removal of table items. In particular, <code>ARRAYED_LIST</code> redeclares it as <code>remove_i_th</code> that is more efficient than a sequence of calls to features <code>goto_i_th</code>, <code>remove</code>.
 +
* library (base): Added Unicode aliases <code>∋</code>, <code>⊆</code> and <code>⊇</code> to features <code>has</code>, <code>is_subset</code> and <code>is_superset</code> respectively in descendants of classes <code>SET</code> and <code>SUBSET</code>.
  
 
===Developer changes===
 
===Developer changes===
 
* library (preferences): Removed previous duplication with preferences_xml.ecf and preferences_reg.ecf that was causing conflicts. Now the default preferences storage is XML, except on Windows where it is Registry keys. And it is possible to override that default for Windows, using the custom variable <code lang="xml"><custom name="pref_default_storage" value="xml"/></code>.
 
* library (preferences): Removed previous duplication with preferences_xml.ecf and preferences_reg.ecf that was causing conflicts. Now the default preferences storage is XML, except on Windows where it is Registry keys. And it is possible to override that default for Windows, using the custom variable <code lang="xml"><custom name="pref_default_storage" value="xml"/></code>.
 
* library (EiffelWeb): Improved the simple WSF proxy component with support for X-Forwarded-For ..., and Forwarded header.
 
* library (EiffelWeb): Improved the simple WSF proxy component with support for X-Forwarded-For ..., and Forwarded header.

Latest revision as of 03:54, 12 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 19.12.x Releases

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

19.12.10.3842 (December 30th 2019, beta 19.12)

New features

  • compiler: Supported multiple aliases of the same feature.
  • compiler: Added a new validity rule for duplicate alias names specified for the same feature.
  • compiler: Added a command-line option to set a preference value: -preference name value.
  • compiler: Added a preference to control processing of new lines when pretty printing:
    • keep — keep line breaks unchanged;
    • wrap — wrap long constructs (such as expressions) if they do not fit a given line length limit (not supported yet);
    • inline — format long expressions on a single line
  • compiler: Added a preference to control processing of loops when pretty printing:
    • keep — keep loop style unchanged;
    • keyword — use keyword-based notation;
    • symbolic — use symbolic notation if possible.

Improvements

  • library (base): Added features TUPLE.real_32* and TUPLE.real_64*.
  • EiffelStudio: Supported auto completion for aliases by providing a list of suitable Unicode operators.
  • EiffelStudio: Added a new dialog to insert (Unicode) symbols with activation by Ctrl+Alt+Space.
  • tool (eiffel): Added an option (short version: -o, long version: --executable-output) to control how output of the executable is processed.
  • library (preferences): Supported selection of a single value in a choice preference.

Bug fixes

  • EiffelBuild: Fixed regressions (various exceptions) occurring related to value changes and pick-and-drop behavior.
  • library (Vision2 demo): Avoided crashing during execution (caused by removal of dead code reachable through reflection).
  • tool (eiffel): Prevented compilation of a system with multiple targets unless the required one is specified.
  • EiffelStudio: Corrected import of the settings from .ini files.
  • library (net): Ensured {SOCKET}.last_string.count has the expected value when using {SOCKET}.read_stream.
  • tool (finish_freezing/espawn): Made the detection of C compiler on Windows more robust.
  • library (eiffelweb/wsf): Corrected default value of SERVER_PORT for HTTPS connection to be 443.
  • EiffelStudio: Fixed display of the hidden toolbar items.
  • compiler: test#valid082, test#valid083 — Fixed validity checks for export status of operators by using current class rather than target one.
  • compiler: test#term218 — Fixed computation of a common ancestor type to avoid an infinite loop when one of element types is a mark-free formal generic type.
  • library (base): Removed redefinitions in implementations of CURSOR_TREE that violated VDRS(4) because a feature was effected rather than redefined.
  • compiler: bug#19596 (test#scoop083) — Fixed a bug that might cause a SCOOP program to crash when a separate call is passed an address of a variable.

Features removed

User changes

  • EiffelStudio: reorganized and simplified the breakpoint context menu
  • EiffelStudio: the version update checker is using the new notification system.

Developer changes

  • compiler: Removed support for infix and prefix features.
  • library(eiffelweb/wsf): Improved WSF_FILE_SYSTEM_HANDLER to redirect "/subdir" on directory to "/subdir/" so that relative URLs are correctly handled.
  • library(eiffelweb/wsf): Improved the CGI handler from wsf_extension.
  • compiler: Reordered VFAV rules to match most recent version of the standard.

19.09.10.3472 (September 10th 2019, beta 19.08)

Bug fixes

  • EiffelStudio: Fixed a bug causing an exception when showing a context menu.

19.08.10.3451 (September 2nd 2019, beta 19.08)

New features

  • EiffelStudio: Added a first version of a dialog to insert a Unicode symbol.

Improvements

  • EiffelStudio: Recorded acceptance of a GPL license immediately, so that the next instance of EiffelStudio does not repeat the licensing question even when the first one is still running.
  • library (base): Changed signature of {IO_MEDIUM}.put_string and associated features to accept READABLE_STRING_8 instead of STRING_8.
  • library (api_wrapper): Supported non-ASCII library names.

Bug fixes

  • EiffelBuild: Fixed a bug that caused an exception when editing text value of a field.
  • EiffelBuild: Fixed a bug that caused an exception when loading a project that was moved from its original folder.

Features removed

User changes

  • library (base): Marked {READABLE_STRING_GENERAL}.as_string_8 as obsolete to avoid hidden conversion from 32-bit strings to 8-bit ones and from immutable 8-bit strings to mutable ones.
  • library (base): Marked {INTERNAL}.type_name as obsolete with a suggestion to use type_name_32 instead.

Developer changes

19.07.10.3368 (July 31st 2019, beta 19.07)

New features

  • compiler: Added support for manifest immutable strings, once manifest immutable strings, and immutable string constants. Examples: {IMMUTABLE_STRING_32} "Unicode string...", once {IMMUTABLE_STRING_8} "once value", id: IMMUTABLE_STRING_8 = "abc".

Improvements

  • compiler: test#valid297, test#valid298 — Changed rules how export status of features is computed to follow the standard to avoid CAT calls: a feature could be made available only to more classes, not fewer.

Bug fixes

  • editor: bug#19527 — Fixed issue with verbatim strings followed by a character.
  • editor: bug#19527 — Fixed editor issue with manifest strings ending with %% such as "foo%%".

19.06.10.3318 (July 1st 2019, beta 19.06)

New features

  • compiler: bug#17597 (test#syntax065) — Supported non-decimal character codes in manifest strings, so that decimal %/8704/, hexadecimal %/0x2200/, octal %/0c21000/ and binary %/0b0010001000000000/ can be used in a manifest string, e.g. {STRING_32} "for all %/0x2200/".
  • library (base): Added a class DYNAMIC_TABLE with a feature remove that is implemented by descendants supporting removal of table items. In particular, ARRAYED_LIST redeclares it as remove_i_th that is more efficient than a sequence of calls to features goto_i_th, remove.
  • library (base): Added Unicode aliases , and to features has, is_subset and is_superset respectively in descendants of classes SET and SUBSET.

Developer changes

  • library (preferences): Removed previous duplication with preferences_xml.ecf and preferences_reg.ecf that was causing conflicts. Now the default preferences storage is XML, except on Windows where it is Registry keys. And it is possible to override that default for Windows, using the custom variable <custom name="pref_default_storage" value="xml"/>.
  • library (EiffelWeb): Improved the simple WSF proxy component with support for X-Forwarded-For ..., and Forwarded header.