Version
- Tags:
- Release
Release notes for EiffelStudio 18.11
- Contents
- Graphical environment
- Compiler
- Libraries
- Tools
- Examples
Graphical environment
- The debugger marks a class routine with a special icon in the call stack and prevents using non-class features in the watch tool inside a class routine.
- The completion popup dialog shows the associated target class (if any) at the top of the dialog.
- The class tool displays description of classes (if enabled).
- The diagram tool has improved drawing of figures and connectors.
- After refactoring, the editor restores current position as expected.
- A project can be recompiled from scratch from the Project menu.
- Editor tabs can be exported and imported via the hidden experimental menu Service > Import/Export tabs... ( ).
Compiler
- Assertion expressions are used as tags for assertions without explicit tags.
- Concurrency and void-safety project settings can be overridden when compiling from the command line.
- Project settings can use conditions based on void safety level.
- Checks for void safety of object initialization take into account an assigner command.
- Exception traces in final and workbench mode use the same breakpoint indexes.
- Several code-generation and run-time bugs are fixed.
Libraries
- All container classes are now
ITERABLE that allows for iterating over them with theacross loop and simplifies conversions between different types of containers. for descendant classes that did not implementnew_cursor . -
duplicate ,duplicate_all and related features of container classes are now obsolete to simplify inheritance from these classes in the future. The affected effective classes now have the featuremake_from_iterable . - Figures in Vision can be drawn with anti-aliasing (on Windows).
-
HASH_TABLE now takes arguments of typeG instead ofdetachable G and introduces a featuredefinite_item of typeG (in addition to the existing featureitem of typedetachable G ). - OpenSSL binding uses
OpenSSL 1.1.1a
and supports new asymmetric algorithms (RSA). - JWT (JSON Web Token) supports custom JWT algorithms. The associated extension library provides RSA signing algorithms.
- Performance of the JSON parser is improved by 40% on large regular files.
- The new function
JSON_VALUE.chained_item (a_key): JSON_VALUE allows for expressionsjson @ "person" @ "address" @ "city" to get associated JSON value. - ROC CMS implements protection against cross-site scripting attacks.
- EiffelWeb adopts nanoseconds timeout precision and supports suffixes
ns
,us
,ms
,s
for the standalone connector in the initialization file. - EiffelWeb correctly uses the setting
socket.timeout
for httpd (before the misuse of the setting caused high CPU usage for WebSocket). - Creation procedures of some container classes are now secret. for clients of the classes.
Tools
- Code analyzer does not report false positives for the rules about an unread variable (
CA020
) and replacement of a regular loop with an iterative form (CA024
).
Examples
-
processor_pool demonstrates how a pool of active SCOOP processors can be used to execute tasks from passive regions.
See change log for more details.
Back to Release Notes