[[Property:modification_date|Fri, 04 Jan 2019 15:52:42 GMT]] [[Property:publication_date|Mon, 26 Nov 2018 10:45:37 GMT]] [[Property:uuid|4452B417-C538-49AF-960F-C3C2473A3AF8]] [[Property:title|Release notes for EiffelStudio 18.11]] [[Property:link_title|18.11]] [[Property:weight|-1]] ==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...'' ({{Key|Ctrl+Alt+D}}). ==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 the across loop and simplifies conversions between different types of containers. {{Inline-Warning|Potential incompatibility}} for descendant classes that did not implement new_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 feature make_from_iterable. * Figures in Vision can be drawn with anti-aliasing (on Windows). * HASH_TABLE now takes arguments of type G instead of detachable G and introduces a feature definite_item of type G (in addition to the existing feature item of type detachable 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 expressions json @ "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. {{Inline-Warning|Potential incompatibility}} 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 [https://dev.eiffel.com/EiffelStudio_18.11_Releases change log] for more details.