EiffelStudio 19.12 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.
EiffelStudio 19.12.x Releases
Beta download: https://ftp.eiffel.com/pub/beta/
19.12.10.3823 (30/12/2019)
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.
Improvements
- library (base): Added features
TUPLE.real_32*
andTUPLE.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
. - tools (eiffel): Added an option (short version:
-o
, long version:--executable-output
) to control how output of the executable is processed.
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.
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
andprefix
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 acceptREADABLE_STRING_8
instead ofSTRING_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 usetype_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 featureremove
that is implemented by descendants supporting removal of table items. In particular,ARRAYED_LIST
redeclares it asremove_i_th
that is more efficient than a sequence of calls to featuresgoto_i_th
,remove
. - library (base): Added Unicode aliases
∋
,⊆
and⊇
to featureshas
,is_subset
andis_superset
respectively in descendants of classesSET
andSUBSET
.
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.