EiffelStudio 18.11 Releases
Revision as of 06:53, 3 October 2018 by Alexander Kogtenkov (Talk | contribs) (→User changes: Added a note about making creation procedures of several classes secret.)
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.11.x Releases
Beta download: https://ftp.eiffel.com/pub/beta/18.11/
18.11.xx.yyyy ()
New features
- library (wel): Added features to draw multiple lines and polygons, to fill polygons, and to enable anti-aliasing when using GDI+. Added features to set dash styles and line joins for a pen when using GDI+.
- compiler: Used assertion expressions as assertion tags when the tags are absent to improve diagnostics of assertion violations. For example, an untagged assertion with an expression
is_valid
is considered as having a tagis_valid
. - library (base): Added to
HASH_TABLE
a featuredefinite_item
that always returns an existing element assuming that the key is in the table (the feature has the corresponding precondition).
Improvements
- library (uuid): Marked
{UUID_GENERATOR}.generate_uuid
as a class feature and made the code of the class SCOOP-compatible. - library (base): Updated
CHARACTER_PROPERTIES
to use Unicode 11.0.0 instead of 10.0.0. - compiler: Implemented direct code generation for
{CHARACTER_8}.minus
and{CHARACTER_32}.minus
. - EiffelStudio (diagram): Improved scaling of client-supplier lines in a diagram tool by allowing for a minimum width of 3 pixels and proportional increase of nested lines width and arrow size to the overall line width.
- library (base): Added a new class
EMPTY_ITERATION_CURSOR
that can be used to implement iteration cursors for structures without any elements. - library (base): Added an inheritance link from
CONTAINER
toITERABLE
, so that all containers can be iterated over using an across loop. Most notable additions are queues, trees and files. Potential incompatibility: a descendant of a deferred container class of the library may need to implement a featurenew_cursor
. - library (base): All features of
HASH_TABLE
that accepteddetachable G
in the arguments now takeG
.
Bug fixes
- code analyzer: test#codeanalysis031 — Fixed a bug when a previously assigned variable was reported as unread (CA020) when it was both a target of a creation instruction and an argument to the corresponding creation procedure.
- compiler: bug#19449 (test#final120, test#final126, test#runtime001) — Fixed a C code generation bug that could lead to wrong results of an equality test for references in particular cases in finalized mode when the right-hand side expression triggers GC.
- runtime: bug#19242 (test#runtime022, test#runtime023) - Fixed a bug that could lead to object heap corruption when an argument or a local of an expanded type with (recursively nested) reference attributes is passed to a feature that triggers GC.
- EiffelStudio: Fixed a bug that caused creation of generated files at a higher level than requested and using wrong names (such as
Documentationtest.xml
instead ofDocumentation/test.xml
) when exporting to XMI. - EiffelStudio (diagram): Fixed a bug that might cause an exception when performing multiple switching from an item with an existing diagram to another one in a diagram tool or when switching between BON and UML views multiple times.
- EiffelStudio (diagram): Corrected style of client-supplier links to be drawn as a double-lines in a cluster view of BON diagrams.
- compiler: Fixed a potential bug that might cause incorrect code generation for parenthesis alias after incremental recompilation if the origin of the alias changes.
- EiffelStudio (address bar): Allowed entering Unicode characters in the class field of the address bar (before any Unicode input was discarded).
- EiffelStudio (context menu): bug#19469 — Fixed a bug that might result in an exception trace when trying to invoke a context menu on a class name in the project that has not been successfully compiled.
- EiffelStudio (template manager): Fixed a bug that might cause access on void target if no template declarations are found.
Feature removed
User changes
- library (base): Removed a feature
sequential_search
fromBILINEAR
. - library (base): Made creation procedures secret for regular feature calls for the following classes: