<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jvelilla</id>
		<title>EiffelStudio: an EiffelSoftware project - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jvelilla"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/Special:Contributions/Jvelilla"/>
		<updated>2026-05-14T09:50:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15911</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15911"/>
				<updated>2020-12-07T12:53:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* EiffelStudio 20.11.x Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* compiler: supported once classes.&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added pretty printer notification.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
* studio: Updated Features tools, collapsing inheritance sub-tree by default.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
* base_extension: Added  class TOPOLOGICAL_SORTER used to produce a total order on a set of elements having only a partial order.&lt;br /&gt;
* base_extension (unstable): extended with library classes for Graphs, B-Trees and union-find, based on the thesis work [https://www.research-collection.ethz.ch/handle/20.500.11850/149025 Extending the Eiffel Library for data structures and algorithms: EiffelBase]&lt;br /&gt;
&lt;br /&gt;
===New libraries===&lt;br /&gt;
* Multiple new wrappers for C libraries:&lt;br /&gt;
{| style=&amp;quot;border: solid 1px #ccc;&amp;quot;&lt;br /&gt;
!Wrapper&lt;br /&gt;
!Description of C library&lt;br /&gt;
|-&lt;br /&gt;
|[https://iron.eiffel.com/repository/20.11/package/99BB5A06-CBC6-4C32-952A-9BD014E135B2 wrap_mpack]&lt;br /&gt;
|mpack is a C implementation of an encoder and decoder for the [MessagePack](https://msgpack.org/) serialization format.&lt;br /&gt;
|-&lt;br /&gt;
|[https://iron.eiffel.com/repository/20.11/package/691C5109-A19B-47B7-8976-4E60AEB4FD87 wrap_cairo]&lt;br /&gt;
|Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window&lt;br /&gt;
System (via both Xlib and XCB), quartz, win32, and image buffers, as well as PDF, PostScript, and SVG file output. Experimental backends&lt;br /&gt;
include OpenGL, BeOS, OS/2, and DirectFB.&lt;br /&gt;
|-&lt;br /&gt;
|[https://iron.eiffel.com/repository/20.11/package/B3D0D18C-84CE-4021-98A5-E2E84C8722A6 wrap_rsvg]&lt;br /&gt;
|This is librsvg - A small library to render Scalable Vector Graphics (SVG), associated with the GNOME Project. It renders SVG files to Cairo surfaces. Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to the screen or to generate output for printing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15909</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15909"/>
				<updated>2020-12-03T12:30:03Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Libraries improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
* studio: Updated Features tools, collapsing inheritance sub-tree by default.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
* base_extension: Added  class TOPOLOGICAL_SORTER used to produce a total order on a set of elements having only a partial order.&lt;br /&gt;
* base_extension (unstable): extended with library classes for Graphs, B-Trees and union-find, based on the thesis work [https://www.research-collection.ethz.ch/handle/20.500.11850/149025 Extending the Eiffel Library for data structures and algorithms: EiffelBase]&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15908</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15908"/>
				<updated>2020-12-03T12:26:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Libraries improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
* studio: Updated Features tools, collapsing inheritance sub-tree by default.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
* base_extension: Added  class TOPOLOGICAL_SORTER used to produce a total order on a set of elements having only a partial order.&lt;br /&gt;
* base_extension (unstable): extended with library classes for Graphs, B-Trees and union-find, based on the thesis work Extending the Eiffel Library for data structures and algorithms: EiffelBase&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15907</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15907"/>
				<updated>2020-12-03T12:18:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Libraries improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
* studio: Updated Features tools, collapsing inheritance sub-tree by default.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
* base_extension: Added  class TOPOLOGICAL_SORTER used to produce a total order on a set of elements having only a partial order.&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15906</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15906"/>
				<updated>2020-12-03T12:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* User changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
* studio: Updated Features tools, collapsing inheritance sub-tree by default.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15905</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15905"/>
				<updated>2020-12-03T12:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Libraries improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
* uri_launcher: Moved uri_launcher library from Eiffel framework to library/runtime/process/uri_launcher&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15904</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15904"/>
				<updated>2020-12-03T12:10:10Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
* AutoTest: updated to make it compatible with void safety.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15903</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15903"/>
				<updated>2020-12-03T12:09:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Bug fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
* Autotest: Fixed issue, feature call on void target with Autotest Random generator&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15902</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15902"/>
				<updated>2020-12-03T12:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Bug fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
* Autotest: Fixed issue with AutoTest Extracted Test Cases&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15901</id>
		<title>EiffelStudio 20.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.11_Releases&amp;diff=15901"/>
				<updated>2020-12-03T12:03:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.11.xx.yyyy (Month Day 2020) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio (wizards): Added WrapC wizard.&lt;br /&gt;
* EiffelStudio: Added Pretty Printer Notification&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* studio: added a zoom indicator in the Zoom menu.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler (pretty printer): Fixed bug#19667 (test#pretty033) by making sure a space is printed before delayed arguments of an agent.&lt;br /&gt;
* studio: Restore focus to previous focused widget when raising a message notification.&lt;br /&gt;
* eiffel script: fixed cache location when using an ECF file with multiple application targets.&lt;br /&gt;
* studio: fixed the customized formatter editor dialog.&lt;br /&gt;
* studio: fixed crash while using the project settings on linux (bug#19687).&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
* compiler: Dropped support for obsolete syntax with exclamation marks:&lt;br /&gt;
** creation instruction/expression: use &amp;lt;e&amp;gt;create x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;create {FOO} bar.make&amp;lt;/e&amp;gt; instead of &amp;lt;e&amp;gt;!!x&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;!FOO!bar.make&amp;lt;/e&amp;gt;;&lt;br /&gt;
** type attachment marks: use &amp;lt;e&amp;gt;attached&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;detachable&amp;lt;/e&amp;gt; instead of marks &amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; respectively.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* delivery: removed the &amp;quot;experimental&amp;quot; folder from the delivery&lt;br /&gt;
* studio: added scripts (for unices) in tools/spec/../bin to open external editor, launch url, and open terminal.&lt;br /&gt;
&lt;br /&gt;
===Libraries improvements===&lt;br /&gt;
* http: Improved support for RFC 3339 (a profile of ISO 8601)&lt;br /&gt;
* web cms: improved random value generation&lt;br /&gt;
* web cms: improved authentication related to user not yet validated&lt;br /&gt;
* eiffelweb: &amp;quot;application/force-download&amp;quot; is not a standard MIME content type, so use &amp;quot;application_octet_stream&amp;quot; instead as default.&lt;br /&gt;
* web cms: added support for recaptcha v3&lt;br /&gt;
* web cms: improved the custom block module&lt;br /&gt;
* web cms: improved web form manipulation and html generation&lt;br /&gt;
* vision2: added EV_LINK_LABEL and EV_HIGHLIGHT_LINK_LABEL (to mimic web link)&lt;br /&gt;
&lt;br /&gt;
===Libraries bug fixes===&lt;br /&gt;
* sqlite3: fixed SQLITE text containing null character&lt;br /&gt;
* web cms: updated core and authentication modules to remove potential vulnerabilities (js, svg script in url).&lt;br /&gt;
* web cms: fixed a crash of the &amp;quot;roc&amp;quot; installer tool when a module had no &amp;quot;site&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* libraries: removed the *-safe.ecf as they are useless thanks to the notion of capabilities of ecf files.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15850</id>
		<title>EiffelStudio 20.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15850"/>
				<updated>2020-05-27T14:13:42Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.05._._ (../../2020, beta 20.05) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio: Added the new Wrap_c tool.&lt;br /&gt;
* EiffelStudio: Added command line option  `-reset_ide_layout` to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).&lt;br /&gt;
* New `wrap_yaml` library is an Eiffel binding of YAML C API using WrapC tool. LibYAML is a YAML parser and emitter library. https://iron.eiffel.com/repository/20.05/package/67922189-E85C-4375-A4C3-7779E6000739&lt;br /&gt;
* New `wrap_sdl` library is an Eiffel binding of SDL API using WrapC tool. Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games. https://iron.eiffel.com/repository/20.05/package/46827915-EF60-46E2-B953-BC0FE61CB8C6&lt;br /&gt;
* New `wrap_libusb` library is an Eiffel binding of libusb C API using WrapC tool. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. https://iron.eiffel.com/repository/20.05/package/DDB3B029-7254-47BE-BBC9-78EAFC432821&lt;br /&gt;
* New `wrap_quirc` is an Eiffel binding of quirc C API using WrapC tool. Quirc is a C library for scanning QR codes. https://iron.eiffel.com/repository/20.05/package/0D27165B-283D-426D-B188-66B4742561D6&lt;br /&gt;
* New `wrap_lz4` library is an Eiffel binding for lz4 - Extremely fast compression library. https://iron.eiffel.com/repository/20.05/package/62E8BE93-F29C-4F84-BF28-7F66350F4368&lt;br /&gt;
* New `wrap_libqrencode` library is an Eiffel binding of libqrencode using WrapC tool. Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness. https://iron.eiffel.com/repository/20.05/package/D7DE54E6-377F-4643-BFBD-683431455385&lt;br /&gt;
* New `wrap_libgit2` library is an Eiffel binding of libgit2 C library using WrapC tool.  libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. https://iron.eiffel.com/repository/20.05/package/9619DCEA-F6D5-41C9-9256-B52DBC389436&lt;br /&gt;
* New `wrap_gsl` library is an Eiffel binding for GNU GSL C library. The GNU Scientific Library (GSL) is a collection of routines for numerical computing. https://iron.eiffel.com/repository/20.05/package/ACF5FAB2-A405-42D0-8D46-137B3E1E901B&lt;br /&gt;
* New `wrap_tidy` library is an Eiffel binding for HTML tidy library. Libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of Tidy's power to your favorite tools. libtidy is used today in desktop applications, web servers, and more. https://iron.eiffel.com/repository/20.05/package/9EBBF105-A717-4403-BFF7-BE26D28B0ADC&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio: Added Unicode support in the editor search facilities.&lt;br /&gt;
* EiffelStudio: Improved account sign in solution.&lt;br /&gt;
* tools (eiffel): &lt;br /&gt;
&lt;br /&gt;
===Libraries Improvements===&lt;br /&gt;
* library (sqlite3): Updated SQLite3 C code to version 3.31.1 - 2020-01-27.&lt;br /&gt;
* library (eiffelweb): Improved web form html generation, especially for select and type checkbox&lt;br /&gt;
* library (smarty): Added support for manifest string in condition, such as {if expression=&amp;quot;$foo ~'bar'&amp;quot;} ...{/if}  .&lt;br /&gt;
* library (cms): improved database connection, and error handling during connection.&lt;br /&gt;
* library (wikitext): Updated wikitext xhtml generator to follow recommendations from https://validator.w3.org/&lt;br /&gt;
* library (curl): Updated cURL binaries using static linking of Microsoft's C RunTime (CRT) to avoid dependency on vcruntime140.dll.&lt;br /&gt;
* library (base): Moved built-in routines to ISE_RUNTIME, and also from WEL_IDENTIFIED to IDENTIFIED_ROUTINES.&lt;br /&gt;
* library (base): Added support for simpler Unicode output in the console based on new `PLAIN_TEXT_FILE.put_string_32`.&lt;br /&gt;
* library(cms): Improved authentication implementation.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* EiffelStudio: When forcing the reload of current editor (Ctrl-R), open a confirmation dialog if file is modified.&lt;br /&gt;
* EiffelStudio: Fixed display of variables and type mappings in project settings.&lt;br /&gt;
* EiffelStudio: Improved the code completion popup dialog (filter, Unicode, ...)&lt;br /&gt;
* library (feed): Improved RSS2 and ATOM implementation for validation.&lt;br /&gt;
* library (xml): Escape any non ASCII character.&lt;br /&gt;
* compiler: &lt;br /&gt;
&lt;br /&gt;
===Features removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* library(curl): better error message.&lt;br /&gt;
* library(curl): added SFTP example.&lt;br /&gt;
* library(gobo): updated to Gobo 19.11&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15849</id>
		<title>EiffelStudio 20.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15849"/>
				<updated>2020-05-27T13:09:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* 20.05._._ (../../2020, beta 20.05) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.05._._ (../../2020, beta 20.05) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio: Added the new Wrap_c tool.&lt;br /&gt;
* EiffelStudio: Added command line option  `-reset_ide_layout` to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).&lt;br /&gt;
* New `wrap_yaml` library is an Eiffel binding of YAML C API using WrapC tool. LibYAML is a YAML parser and emitter library. https://iron.eiffel.com/repository/20.05/package/67922189-E85C-4375-A4C3-7779E6000739&lt;br /&gt;
* New `wrap_sdl` library is an Eiffel binding of SDL API using WrapC tool. Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games. https://iron.eiffel.com/repository/20.05/package/46827915-EF60-46E2-B953-BC0FE61CB8C6&lt;br /&gt;
* New `wrap_libusb` library is an Eiffel binding of libusb C API using WrapC tool. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. https://iron.eiffel.com/repository/20.05/package/DDB3B029-7254-47BE-BBC9-78EAFC432821&lt;br /&gt;
* New `wrap_quirc` is an Eiffel binding of quirc C API using WrapC tool. Quirc is a C library for scanning QR codes. https://iron.eiffel.com/repository/20.05/package/0D27165B-283D-426D-B188-66B4742561D6&lt;br /&gt;
* New `wrap_lz4` library is an Eiffel binding for lz4 - Extremely fast compression library. https://iron.eiffel.com/repository/20.05/package/62E8BE93-F29C-4F84-BF28-7F66350F4368&lt;br /&gt;
* New `wrap_libqrencode` library is an Eiffel binding of libqrencode using WrapC tool. Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness. https://iron.eiffel.com/repository/20.05/package/D7DE54E6-377F-4643-BFBD-683431455385&lt;br /&gt;
* New `wrap_libgit2` library is an Eiffel binding of libgit2 C library using WrapC tool.  libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. https://iron.eiffel.com/repository/20.05/package/9619DCEA-F6D5-41C9-9256-B52DBC389436&lt;br /&gt;
* New `wrap_gsl` library is an Eiffel binding for GNU GSL C library. The GNU Scientific Library (GSL) is a collection of routines for numerical computing. https://iron.eiffel.com/repository/20.05/package/ACF5FAB2-A405-42D0-8D46-137B3E1E901B&lt;br /&gt;
* New `wrap_tidy` library is an Eiffel binding for HTML tidy library. Libtidy is a C static and dynamic library that developers can integrate into their applications in order to bring all of Tidy's power to your favorite tools. libtidy is used today in desktop applications, web servers, and more.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio: Added Unicode support in the editor search facilities.&lt;br /&gt;
* EiffelStudio: Improved account sign in solution.&lt;br /&gt;
* tools (eiffel): &lt;br /&gt;
&lt;br /&gt;
===Libraries Improvements===&lt;br /&gt;
* library (sqlite3): Updated SQLite3 C code to version 3.31.1 - 2020-01-27.&lt;br /&gt;
* library (eiffelweb): Improved web form html generation, especially for select and type checkbox&lt;br /&gt;
* library (smarty): Added support for manifest string in condition, such as {if expression=&amp;quot;$foo ~'bar'&amp;quot;} ...{/if}  .&lt;br /&gt;
* library (cms): improved database connection, and error handling during connection.&lt;br /&gt;
* library (wikitext): Updated wikitext xhtml generator to follow recommendations from https://validator.w3.org/&lt;br /&gt;
* library (curl): Updated cURL binaries using static linking of Microsoft's C RunTime (CRT) to avoid dependency on vcruntime140.dll.&lt;br /&gt;
* library (base): Moved built-in routines to ISE_RUNTIME, and also from WEL_IDENTIFIED to IDENTIFIED_ROUTINES.&lt;br /&gt;
* library (base): Added support for simpler Unicode output in the console based on new `PLAIN_TEXT_FILE.put_string_32`.&lt;br /&gt;
* library(cms): Improved authentication implementation.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* EiffelStudio: When forcing the reload of current editor (Ctrl-R), open a confirmation dialog if file is modified.&lt;br /&gt;
* EiffelStudio: Fixed display of variables and type mappings in project settings.&lt;br /&gt;
* EiffelStudio: Improved the code completion popup dialog (filter, Unicode, ...)&lt;br /&gt;
* library (feed): Improved RSS2 and ATOM implementation for validation.&lt;br /&gt;
* library (xml): Escape any non ASCII character.&lt;br /&gt;
* compiler: &lt;br /&gt;
&lt;br /&gt;
===Features removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* library(curl): better error message.&lt;br /&gt;
* library(curl): added SFTP example.&lt;br /&gt;
* library(gobo): updated to Gobo 19.11&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15848</id>
		<title>EiffelStudio 20.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_20.05_Releases&amp;diff=15848"/>
				<updated>2020-05-22T13:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 20.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
== 20.05._._ (../../2020, beta 20.05) ==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* EiffelStudio: Added the new Wrap_c tool.&lt;br /&gt;
* EiffelStudio: Added command line option  `-reset_ide_layout` to reset the IDE layout (mostly docking setting for now, usually to recover from bad crash).&lt;br /&gt;
* New `wrap_yaml` library is an Eiffel binding of YAML C API using WrapC tool. LibYAML is a YAML parser and emitter library. https://iron.eiffel.com/repository/20.05/package/67922189-E85C-4375-A4C3-7779E6000739&lt;br /&gt;
* New `wrap_sdl` library is an Eiffel binding of SDL API using WrapC tool. Simple DirectMedia Layer is a cross-platform development library designed to provide low-level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award-winning catalog and many Humble Bundle games. https://iron.eiffel.com/repository/20.05/package/46827915-EF60-46E2-B953-BC0FE61CB8C6&lt;br /&gt;
* New `wrap_libusb` library is an Eiffel binding of libusb C API using WrapC tool. libusb is a C library that provides generic access to USB devices. It is intended to be used by developers to facilitate the production of applications that communicate with USB hardware. It is portable: Using a single cross-platform API, it provides access to USB devices on Linux, macOS, Windows, etc. https://iron.eiffel.com/repository/20.05/package/DDB3B029-7254-47BE-BBC9-78EAFC432821&lt;br /&gt;
* New `wrap_quirc` is an Eiffel binding of quirc C API using WrapC tool. Quirc is a C library for scanning QR codes. https://iron.eiffel.com/repository/20.05/package/0D27165B-283D-426D-B188-66B4742561D6&lt;br /&gt;
* New `wrap_lz4` library is an Eiffel binding for lz4 - Extremely fast compression library. https://iron.eiffel.com/repository/20.05/package/62E8BE93-F29C-4F84-BF28-7F66350F4368&lt;br /&gt;
* New `wrap_libqrencode` library is an Eiffel binding of libqrencode using WrapC tool. Libqrencode is a fast and compact library for encoding data in a QR Code, a 2D symbology that can be scanned by handy terminals such as a smartphone. The capacity of QR Code is up to 7000 digits or 4000 characters and has high robustness. https://iron.eiffel.com/repository/20.05/package/D7DE54E6-377F-4643-BFBD-683431455385&lt;br /&gt;
* New `wrap_libgit2` library is an Eiffel binding of libgit2 C library using WrapC tool.  libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. https://iron.eiffel.com/repository/20.05/package/9619DCEA-F6D5-41C9-9256-B52DBC389436&lt;br /&gt;
* New `wrap_gsl` library is an Eiffel binding for GNU GSL C library. The GNU Scientific Library (GSL) is a collection of routines for numerical computing. https://iron.eiffel.com/repository/20.05/package/ACF5FAB2-A405-42D0-8D46-137B3E1E901B&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio: Added Unicode support in the editor search facilities.&lt;br /&gt;
* EiffelStudio: Improved account sign in solution.&lt;br /&gt;
* tools (eiffel): &lt;br /&gt;
&lt;br /&gt;
===Libraries Improvements===&lt;br /&gt;
* library (sqlite3): Updated SQLite3 C code to version 3.31.1 - 2020-01-27.&lt;br /&gt;
* library (eiffelweb): Improved web form html generation, especially for select and type checkbox&lt;br /&gt;
* library (smarty): Added support for manifest string in condition, such as {if expression=&amp;quot;$foo ~'bar'&amp;quot;} ...{/if}  .&lt;br /&gt;
* library (cms): improved database connection, and error handling during connection.&lt;br /&gt;
* library (wikitext): Updated wikitext xhtml generator to follow recommendations from https://validator.w3.org/&lt;br /&gt;
* library (curl): Updated cURL binaries using static linking of Microsoft's C RunTime (CRT) to avoid dependency on vcruntime140.dll.&lt;br /&gt;
* library (base): Moved built-in routines to ISE_RUNTIME, and also from WEL_IDENTIFIED to IDENTIFIED_ROUTINES.&lt;br /&gt;
* library (base): Added support for simpler Unicode output in the console based on new `PLAIN_TEXT_FILE.put_string_32`.&lt;br /&gt;
* library(cms): Improved authentication implementation.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* EiffelStudio: When forcing the reload of current editor (Ctrl-R), open a confirmation dialog if file is modified.&lt;br /&gt;
* EiffelStudio: Fixed display of variables and type mappings in project settings.&lt;br /&gt;
* EiffelStudio: Improved the code completion popup dialog (filter, Unicode, ...)&lt;br /&gt;
* library (feed): Improved RSS2 and ATOM implementation for validation.&lt;br /&gt;
* library (xml): Escape any non ASCII character.&lt;br /&gt;
* compiler: &lt;br /&gt;
&lt;br /&gt;
===Features removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* library(curl): better error message.&lt;br /&gt;
* library(curl): added SFTP example.&lt;br /&gt;
* library(gobo): updated to Gobo 19.11&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15780</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15780"/>
				<updated>2019-05-21T12:08:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3187 (May 21st 2019, beta 19.05)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: test#exec374 — Made sure that features &amp;lt;e&amp;gt;is_deep_equal&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;is_equal&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;standard_is_equal&amp;lt;/e&amp;gt; for real numbers work the same way as equality tests.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* compiler and run-time: test#final130, test#final131, test#final132 — Ensured that an object of a class that has been removed due to dead code removal cannot be created via reflection, deserialization or storable facilities.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3131 (May 06th 2019, beta 19.04)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Added &amp;quot;Symbols&amp;quot; panel in feature completion dialog (in addition to features, and templates), it lists all available Unicode symbols.&lt;br /&gt;
* studio: Added &amp;quot;Update manager&amp;quot; to handle EiffelStudio update notifications of new releases (beta|stable).&lt;br /&gt;
* library (uri): Added support for IDNA (Internationalized Domain Names in Applications), using Punycode encoding.&lt;br /&gt;
* library (scoop_patterns): Added an example to demonstrate CP_SED_CONTAINER which adds a simple solution to copy an object from a scoop processor to another using SED facilities.&lt;br /&gt;
* library (base): Added features to &amp;lt;e&amp;gt;REAL_32&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;REAL_64&amp;lt;/e&amp;gt; to perform comparison compliant to the standard IEEE 754 (the feature names start with &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ieee_&amp;lt;/code&amp;gt;, e.g. &amp;lt;e&amp;gt;ieee_is_less&amp;lt;/e&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#16555 (test#final088) — Fixed a bug that caused missing void target checks when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: Fixed minor issues with capabilities settings when manually edited, and capability comes before option declaration.&lt;br /&gt;
* wizards: Fixed EiffelWeb wizard execution that was hanging EiffelStudio.&lt;br /&gt;
* compiler: Fixed AST character position for Unicode operator (issue raised when the token has only one Unicode character).&lt;br /&gt;
* compiler: test#exec374 — Made sure comparison of REAL numbers works the same way for classic and .NET mode.&lt;br /&gt;
* compiler: test#exec374 — Corrected code generation for REAL numbers to handle total order as well as IEEE 754 standard as expected.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* compiler: Added a warning &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VD81&amp;lt;/code&amp;gt; for compiling a project when the setting for total order on reals is disabled. {{Recommended | Existing projects should be updated to enable total order on reals because otherwise they will be flagged with an error in the future releases.}}&lt;br /&gt;
* compiler: Unless specified otherwise (explicitly, or implicitly when using project configurations created by an earlier version of EiffelStudio), the setting for total order on reals is enabled by default.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* run-time: Replaced &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;sys_siglist[sig]&amp;lt;/code&amp;gt; by &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;strsignal(sig)&amp;lt;/code&amp;gt; to allow compiling the run-time on wider set of platforms.&lt;br /&gt;
* library (base): Used built-in feature instead of external ones in &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* run-time: Added macros for built-in features for &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* compiler: Made settings dependent on ECF schema version.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3044 (April 02nd 2019, beta 19.03)==&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#15876 (test#final081) — Fixed a bug causing compiler crash when compiling code a redeclaration of an external feature into a constant in finalized mode with inlining.&lt;br /&gt;
* compiler: bug#17957 (test#final111) — Fixed a bug causing incorrect behavior at run-time for a non-object call on a qualified anchored type with a formal generic when inlining is enabled is finalized mode.&lt;br /&gt;
* compiler: bug#19532 (test#final127) — Fixed a bug causing an object call to a wrong feature in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#15853 (test#exec313) — Fixed a bug causing a non-object call to a wrong feature on the type &amp;lt;e&amp;gt;like Curent&amp;lt;/e&amp;gt; in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#19507 (test#scoop082) — Fixed a bug causing incorrect C code generation for a separate instruction in a feature without arguments triggering C compilation errors under certain conditions.&lt;br /&gt;
* compiler: test#final045 — Fixed a bug that caused the compiler to terminate with an exception when finalizing code after incremental changes in the buggy source code using formal generics' creation constrains combined with renaming.&lt;br /&gt;
* studio: bug#19531 Fixed metrics tool by ensuring class browser set the 3rd column text only if it exists.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2945 (March 08th 2019, beta 19.02)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Added the possibility to insert unicode symbols using the IDE feature completion (see $ISE_EIFFEL/eifinit/unicode_symbols.cfg).&lt;br /&gt;
* New &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.temporary_directory_path&amp;lt;/e&amp;gt;.&lt;br /&gt;
* New feature &amp;lt;e&amp;gt;FILE.make_open_temporary(_with_prefix)&amp;lt;/e&amp;gt; to create temporary file or folder. This should be used to replace obsolete &amp;lt;e&amp;gt;FILE_NAME.make_temporary&amp;lt;/e&amp;gt;.&lt;br /&gt;
* Dead code removal detects when instances of classes are not created and removes code associated with them. If a class should be part of the system because it is created indirectly (using reflection or storable mechanism), it should be marked as visible in the project configuration. With this option, executable size becomes 10% smaller on average (on Windows).&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* Optimized code generation in finalized mode for feature calls by considering polymorphic status of calls to routines and attributes separately.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (json): REAL NaN, Negative and Positive Infinity values are serialized as &amp;quot;null&amp;quot; (as JSON has no support for such values)&lt;br /&gt;
* compiler: consider that empty value or unset environment variables represent the same value for ecf variables.&lt;br /&gt;
* compiler: bug#17331 (test#once021) — Fixed a bug causing unresolved symbols at link time when a once-per-object calls a precursor with a formal generic return type.&lt;br /&gt;
* compiler: bug#15874 (test#final080), bug#18012 (test#final113), test#final124 — Fixed a bug that led to ignoring an attribute body when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: bug#19520 remote parent target is not readonly.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* Added output of classes that are empty or removed to the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;REMOVED&amp;lt;/code&amp;gt; in finalized mode.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* Updated contrib/library/gobo to Gobo v4.3 . {{Red|*WARNING:* you may need to add to your ecf file the libraries gobo_(lexical|parse)_skl.ecf -- in addition to gobo_(lexical|parse).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019, beta 19.01)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (WEL): Added features &amp;lt;e&amp;gt;dpi_for_monitor&amp;lt;/e&amp;gt; to get dots per inch (dpi) of a display and &amp;lt;e&amp;gt;set_process_dpi_awaerness_per_monitor&amp;lt;/e&amp;gt; to class &amp;lt;e&amp;gt;WEL_API&amp;lt;/e&amp;gt;&lt;br /&gt;
*compiler: Workbench C code is not generated when performing finalized compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15767</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15767"/>
				<updated>2019-05-06T14:51:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* 19.05.10.3131 (... 2019, beta 19.04) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3131 (May 06th 2019, beta 19.04)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Added &amp;quot;Symbols&amp;quot; panel in feature completion dialog (in addition to features, and templates), it lists all available Unicode symbols.&lt;br /&gt;
* library (uri): Added support for IDNA (Internationalized Domain Names in Applications), using Punycode encoding.&lt;br /&gt;
* library (scoop_patterns): Added an example to demonstrate CP_SED_CONTAINER which adds a simple solution to copy an object from a scoop processor to another using SED facilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#16555 (test#final088) — Fixed a bug that caused missing void target checks when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: Fixed minor issues with capabilities settings when manually edited, and capability comes before option declaration.&lt;br /&gt;
* wizards: Fixed EiffelWeb wizard execution that was hanging EiffelStudio.&lt;br /&gt;
* compiler: Fixed AST character position for Unicode operator (issue raised when the token has only one Unicode character).&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* run-time: Replaced &amp;quot;sys_siglist[sig]&amp;quot; by &amp;quot;strsignal(sig)&amp;quot; .&lt;br /&gt;
* run-time: Updated &amp;quot;eif_built_in.h&amp;quot; for &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt; eif_builtin_REFLECTOR_c_set_dynamic_type, eif_builtin_REFLECTOR_c_new_type_instance_of, eif_builtin_REFLECTOR_c_new_tuple_instance_of, eif_builtin_REFLECTOR_c_new_instance_of&lt;br /&gt;
eif_builtin_REFLECTOR_field_count_of_type, eif_builtin_REFLECTOR_is_tuple_type, eif_builtin_REFLECTOR_is_special_type, eif_builtin_REFLECTOR_is_special_any_type. &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt; eif_builtin_ISE_RUNTIME_set_pointer_field_at, eif_builtin_ISE_RUNTIME_unlock_marking,eif_builtin_ISE_RUNTIME_eif_gen_param_id, eif_builtin_ISE_RUNTIME_generic_parameter_count, eif_builtin_ISE_RUNTIME_field_offset_of_type, eif_builtin_ISE_RUNTIME_field_count_of_type,eif_builtin_ISE_RUNTIME_persistent_field_count_of_type, eif_builtin_ISE_RUNTIME_is_field_expanded_of_type, eif_builtin_ISE_RUNTIME_is_field_transient_of_type, eif_builtin_ISE_RUNTIME_attached_type&lt;br /&gt;
eif_builtin_ISE_RUNTIME_detachable_type, eif_builtin_ISE_RUNTIME_is_attached_type, eieif_builtin_ISE_RUNTIME_type_conforms_to, &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt; eif_builtin_REFLECTED_COPY_SEMANTICS_OBJECT_object_from_address,&lt;br /&gt;
eif_builtin_REFLECTED_COPY_SEMANTICS_OBJECT_dereference&lt;br /&gt;
* EiffelBase (library): Updated classes &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt; with builtin features instead of externals &amp;quot;C&amp;quot; code.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3044 (April 02nd 2019, beta 19.03)==&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#15876 (test#final081) — Fixed a bug causing compiler crash when compiling code a redeclaration of an external feature into a constant in finalized mode with inlining.&lt;br /&gt;
* compiler: bug#17957 (test#final111) — Fixed a bug causing incorrect behavior at run-time for a non-object call on a qualified anchored type with a formal generic when inlining is enabled is finalized mode.&lt;br /&gt;
* compiler: bug#19532 (test#final127) — Fixed a bug causing an object call to a wrong feature in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#15853 (test#exec313) — Fixed a bug causing a non-object call to a wrong feature on the type &amp;lt;e&amp;gt;like Curent&amp;lt;/e&amp;gt; in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#19507 (test#scoop082) — Fixed a bug causing incorrect C code generation for a separate instruction in a feature without arguments triggering C compilation errors under certain conditions.&lt;br /&gt;
* compiler: test#final045 — Fixed a bug that caused the compiler to terminate with an exception when finalizing code after incremental changes in the buggy source code using formal generics' creation constrains combined with renaming.&lt;br /&gt;
* studio: bug#19531 Fixed metrics tool by ensuring class browser set the 3rd column text only if it exists.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2945 (March 08th 2019, beta 19.02)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Added the possibility to insert unicode symbols using the IDE feature completion (see $ISE_EIFFEL/eifinit/unicode_symbols.cfg).&lt;br /&gt;
* New &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.temporary_directory_path&amp;lt;/e&amp;gt;.&lt;br /&gt;
* New feature &amp;lt;e&amp;gt;FILE.make_open_temporary(_with_prefix)&amp;lt;/e&amp;gt; to create temporary file or folder. This should be used to replace obsolete &amp;lt;e&amp;gt;FILE_NAME.make_temporary&amp;lt;/e&amp;gt;.&lt;br /&gt;
* Dead code removal detects when instances of classes are not created and removes code associated with them. If a class should be part of the system because it is created indirectly (using reflection or storable mechanism), it should be marked as visible in the project configuration. With this option, executable size becomes 10% smaller on average (on Windows).&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* Optimized code generation in finalized mode for feature calls by considering polymorphic status of calls to routines and attributes separately.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (json): REAL NaN, Negative and Positive Infinity values are serialized as &amp;quot;null&amp;quot; (as JSON has no support for such values)&lt;br /&gt;
* compiler: consider that empty value or unset environment variables represent the same value for ecf variables.&lt;br /&gt;
* compiler: bug#17331 (test#once021) — Fixed a bug causing unresolved symbols at link time when a once-per-object calls a precursor with a formal generic return type.&lt;br /&gt;
* compiler: bug#15874 (test#final080), bug#18012 (test#final113), test#final124 — Fixed a bug that led to ignoring an attribute body when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: bug#19520 remote parent target is not readonly.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* Added output of classes that are empty or removed to the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;REMOVED&amp;lt;/code&amp;gt; in finalized mode.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* Updated contrib/library/gobo to Gobo v4.3 . {{Red|*WARNING:* you may need to add to your ecf file the libraries gobo_(lexical|parse)_skl.ecf -- in addition to gobo_(lexical|parse).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019, beta 19.01)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (WEL): Added features &amp;lt;e&amp;gt;dpi_for_monitor&amp;lt;/e&amp;gt; to get dots per inch (dpi) of a display and &amp;lt;e&amp;gt;set_process_dpi_awaerness_per_monitor&amp;lt;/e&amp;gt; to class &amp;lt;e&amp;gt;WEL_API&amp;lt;/e&amp;gt;&lt;br /&gt;
*compiler: Workbench C code is not generated when performing finalized compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15766</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15766"/>
				<updated>2019-05-06T14:48:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Developer changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3131 (... 2019, beta 19.04)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Added &amp;quot;Symbols&amp;quot; panel in feature completion dialog (in addition to features, and templates), it lists all available Unicode symbols.&lt;br /&gt;
* library (uri): Added support for IDNA (Internationalized Domain Names in Applications), using Punycode encoding.&lt;br /&gt;
* library (scoop_patterns): Added an example to demonstrate CP_SED_CONTAINER which adds a simple solution to copy an object from a scoop processor to another using SED facilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#16555 (test#final088) — Fixed a bug that caused missing void target checks when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: Fixed minor issues with capabilities settings when manually edited, and capability comes before option declaration.&lt;br /&gt;
* wizards: Fixed EiffelWeb wizard execution that was hanging EiffelStudio.&lt;br /&gt;
* compiler: Fixed AST character position for Unicode operator (issue raised when the token has only one Unicode character).&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* run-time: Replaced &amp;quot;sys_siglist[sig]&amp;quot; by &amp;quot;strsignal(sig)&amp;quot; .&lt;br /&gt;
* run-time: Updated &amp;quot;eif_built_in.h&amp;quot; for &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt; eif_builtin_REFLECTOR_c_set_dynamic_type, eif_builtin_REFLECTOR_c_new_type_instance_of, eif_builtin_REFLECTOR_c_new_tuple_instance_of, eif_builtin_REFLECTOR_c_new_instance_of&lt;br /&gt;
eif_builtin_REFLECTOR_field_count_of_type, eif_builtin_REFLECTOR_is_tuple_type, eif_builtin_REFLECTOR_is_special_type, eif_builtin_REFLECTOR_is_special_any_type. &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt; eif_builtin_ISE_RUNTIME_set_pointer_field_at, eif_builtin_ISE_RUNTIME_unlock_marking,eif_builtin_ISE_RUNTIME_eif_gen_param_id, eif_builtin_ISE_RUNTIME_generic_parameter_count, eif_builtin_ISE_RUNTIME_field_offset_of_type, eif_builtin_ISE_RUNTIME_field_count_of_type,eif_builtin_ISE_RUNTIME_persistent_field_count_of_type, eif_builtin_ISE_RUNTIME_is_field_expanded_of_type, eif_builtin_ISE_RUNTIME_is_field_transient_of_type, eif_builtin_ISE_RUNTIME_attached_type&lt;br /&gt;
eif_builtin_ISE_RUNTIME_detachable_type, eif_builtin_ISE_RUNTIME_is_attached_type, eieif_builtin_ISE_RUNTIME_type_conforms_to, &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt; eif_builtin_REFLECTED_COPY_SEMANTICS_OBJECT_object_from_address,&lt;br /&gt;
eif_builtin_REFLECTED_COPY_SEMANTICS_OBJECT_dereference&lt;br /&gt;
* EiffelBase (library): Updated classes &amp;lt;e&amp;gt;REFLECTOR&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;ISE_RUNTIME&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;REFLECTED_COPY_SEMANTICS_OBJECT&amp;lt;/e&amp;gt; with builtin features instead of externals &amp;quot;C&amp;quot; code.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3044 (April 02nd 2019, beta 19.03)==&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#15876 (test#final081) — Fixed a bug causing compiler crash when compiling code a redeclaration of an external feature into a constant in finalized mode with inlining.&lt;br /&gt;
* compiler: bug#17957 (test#final111) — Fixed a bug causing incorrect behavior at run-time for a non-object call on a qualified anchored type with a formal generic when inlining is enabled is finalized mode.&lt;br /&gt;
* compiler: bug#19532 (test#final127) — Fixed a bug causing an object call to a wrong feature in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#15853 (test#exec313) — Fixed a bug causing a non-object call to a wrong feature on the type &amp;lt;e&amp;gt;like Curent&amp;lt;/e&amp;gt; in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#19507 (test#scoop082) — Fixed a bug causing incorrect C code generation for a separate instruction in a feature without arguments triggering C compilation errors under certain conditions.&lt;br /&gt;
* compiler: test#final045 — Fixed a bug that caused the compiler to terminate with an exception when finalizing code after incremental changes in the buggy source code using formal generics' creation constrains combined with renaming.&lt;br /&gt;
* studio: bug#19531 Fixed metrics tool by ensuring class browser set the 3rd column text only if it exists.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2945 (March 08th 2019, beta 19.02)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Added the possibility to insert unicode symbols using the IDE feature completion (see $ISE_EIFFEL/eifinit/unicode_symbols.cfg).&lt;br /&gt;
* New &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.temporary_directory_path&amp;lt;/e&amp;gt;.&lt;br /&gt;
* New feature &amp;lt;e&amp;gt;FILE.make_open_temporary(_with_prefix)&amp;lt;/e&amp;gt; to create temporary file or folder. This should be used to replace obsolete &amp;lt;e&amp;gt;FILE_NAME.make_temporary&amp;lt;/e&amp;gt;.&lt;br /&gt;
* Dead code removal detects when instances of classes are not created and removes code associated with them. If a class should be part of the system because it is created indirectly (using reflection or storable mechanism), it should be marked as visible in the project configuration. With this option, executable size becomes 10% smaller on average (on Windows).&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* Optimized code generation in finalized mode for feature calls by considering polymorphic status of calls to routines and attributes separately.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (json): REAL NaN, Negative and Positive Infinity values are serialized as &amp;quot;null&amp;quot; (as JSON has no support for such values)&lt;br /&gt;
* compiler: consider that empty value or unset environment variables represent the same value for ecf variables.&lt;br /&gt;
* compiler: bug#17331 (test#once021) — Fixed a bug causing unresolved symbols at link time when a once-per-object calls a precursor with a formal generic return type.&lt;br /&gt;
* compiler: bug#15874 (test#final080), bug#18012 (test#final113), test#final124 — Fixed a bug that led to ignoring an attribute body when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: bug#19520 remote parent target is not readonly.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* Added output of classes that are empty or removed to the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;REMOVED&amp;lt;/code&amp;gt; in finalized mode.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* Updated contrib/library/gobo to Gobo v4.3 . {{Red|*WARNING:* you may need to add to your ecf file the libraries gobo_(lexical|parse)_skl.ecf -- in addition to gobo_(lexical|parse).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019, beta 19.01)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (WEL): Added features &amp;lt;e&amp;gt;dpi_for_monitor&amp;lt;/e&amp;gt; to get dots per inch (dpi) of a display and &amp;lt;e&amp;gt;set_process_dpi_awaerness_per_monitor&amp;lt;/e&amp;gt; to class &amp;lt;e&amp;gt;WEL_API&amp;lt;/e&amp;gt;&lt;br /&gt;
*compiler: Workbench C code is not generated when performing finalized compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15765</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15765"/>
				<updated>2019-05-06T13:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* 19.05.xx.yyyy (... 2019, beta 19.04) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3131 (... 2019, beta 19.04)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Added &amp;quot;Symbols&amp;quot; panel in feature completion dialog (in addition to features, and templates), it lists all available Unicode symbols.&lt;br /&gt;
* library (uri): Added support for IDNA (Internationalized Domain Names in Applications), using Punycode encoding.&lt;br /&gt;
* library (scoop_patterns): Added an example to demonstrate CP_SED_CONTAINER which adds a simple solution to copy an object from a scoop processor to another using SED facilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#16555 (test#final088) — Fixed a bug that caused missing void target checks when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: Fixed minor issues with capabilities settings when manually edited, and capability comes before option declaration.&lt;br /&gt;
* wizards: Fixed EiffelWeb wizard execution that was hanging EiffelStudio.&lt;br /&gt;
* compiler: Fixed AST character position for Unicode operator (issue raised when the token has only one Unicode character).&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* run-time: Replaced &amp;quot;sys_siglist[sig]&amp;quot; by &amp;quot;strsignal(sig)&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
==19.05.10.3044 (April 02nd 2019, beta 19.03)==&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* compiler: bug#15876 (test#final081) — Fixed a bug causing compiler crash when compiling code a redeclaration of an external feature into a constant in finalized mode with inlining.&lt;br /&gt;
* compiler: bug#17957 (test#final111) — Fixed a bug causing incorrect behavior at run-time for a non-object call on a qualified anchored type with a formal generic when inlining is enabled is finalized mode.&lt;br /&gt;
* compiler: bug#19532 (test#final127) — Fixed a bug causing an object call to a wrong feature in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#15853 (test#exec313) — Fixed a bug causing a non-object call to a wrong feature on the type &amp;lt;e&amp;gt;like Curent&amp;lt;/e&amp;gt; in finalized mode when the original feature is an external one.&lt;br /&gt;
* compiler: bug#19507 (test#scoop082) — Fixed a bug causing incorrect C code generation for a separate instruction in a feature without arguments triggering C compilation errors under certain conditions.&lt;br /&gt;
* compiler: test#final045 — Fixed a bug that caused the compiler to terminate with an exception when finalizing code after incremental changes in the buggy source code using formal generics' creation constrains combined with renaming.&lt;br /&gt;
* studio: bug#19531 Fixed metrics tool by ensuring class browser set the 3rd column text only if it exists.&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2945 (March 08th 2019, beta 19.02)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* Added the possibility to insert unicode symbols using the IDE feature completion (see $ISE_EIFFEL/eifinit/unicode_symbols.cfg).&lt;br /&gt;
* New &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.temporary_directory_path&amp;lt;/e&amp;gt;.&lt;br /&gt;
* New feature &amp;lt;e&amp;gt;FILE.make_open_temporary(_with_prefix)&amp;lt;/e&amp;gt; to create temporary file or folder. This should be used to replace obsolete &amp;lt;e&amp;gt;FILE_NAME.make_temporary&amp;lt;/e&amp;gt;.&lt;br /&gt;
* Dead code removal detects when instances of classes are not created and removes code associated with them. If a class should be part of the system because it is created indirectly (using reflection or storable mechanism), it should be marked as visible in the project configuration. With this option, executable size becomes 10% smaller on average (on Windows).&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* Optimized code generation in finalized mode for feature calls by considering polymorphic status of calls to routines and attributes separately.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (json): REAL NaN, Negative and Positive Infinity values are serialized as &amp;quot;null&amp;quot; (as JSON has no support for such values)&lt;br /&gt;
* compiler: consider that empty value or unset environment variables represent the same value for ecf variables.&lt;br /&gt;
* compiler: bug#17331 (test#once021) — Fixed a bug causing unresolved symbols at link time when a once-per-object calls a precursor with a formal generic return type.&lt;br /&gt;
* compiler: bug#15874 (test#final080), bug#18012 (test#final113), test#final124 — Fixed a bug that led to ignoring an attribute body when inlining in finalized mode was enabled.&lt;br /&gt;
* compiler: bug#19520 remote parent target is not readonly.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* Added output of classes that are empty or removed to the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;REMOVED&amp;lt;/code&amp;gt; in finalized mode.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
* Updated contrib/library/gobo to Gobo v4.3 . {{Red|*WARNING:* you may need to add to your ecf file the libraries gobo_(lexical|parse)_skl.ecf -- in addition to gobo_(lexical|parse).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019, beta 19.01)==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (WEL): Added features &amp;lt;e&amp;gt;dpi_for_monitor&amp;lt;/e&amp;gt; to get dots per inch (dpi) of a display and &amp;lt;e&amp;gt;set_process_dpi_awaerness_per_monitor&amp;lt;/e&amp;gt; to class &amp;lt;e&amp;gt;WEL_API&amp;lt;/e&amp;gt;&lt;br /&gt;
*compiler: Workbench C code is not generated when performing finalized compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15746</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15746"/>
				<updated>2019-02-01T19:18:58Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (WEL): Added features &amp;lt;e&amp;gt;dpi_for_monitor&amp;lt;/e&amp;gt; to get dots per inch (dpi) of a display and &amp;lt;e&amp;gt;set_process_dpi_awaerness_per_monitor&amp;lt;/e&amp;gt; to class &amp;lt;e&amp;gt;WEL_API&amp;lt;/e&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15745</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15745"/>
				<updated>2019-02-01T19:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* User changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
* library (base): Marked the class &amp;lt;e&amp;gt;FILE_NAME&amp;lt;/e&amp;gt; as obsolete use class &amp;lt;e&amp;gt;PATH&amp;lt;/e&amp;gt; instead&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15744</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15744"/>
				<updated>2019-02-01T19:08:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* EiffelStudio (dpi): Added basic support for high dpi only on Windows.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15743</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15743"/>
				<updated>2019-02-01T19:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options, &amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;max_proto_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;min_proto_version&amp;lt;/e&amp;gt; for configured version or 0 for auto-configuration of highest/lowest protocol to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15742</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15742"/>
				<updated>2019-02-01T18:54:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] and &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options,&lt;br /&gt;
&amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_SOCKET&amp;lt;/e&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15741</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15741"/>
				<updated>2019-02-01T18:46:59Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here [https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html SSL_CTX_set_options] &amp;lt;e&amp;gt;clear_options&amp;lt;/e&amp;gt; to clear CTX options,&lt;br /&gt;
&amp;lt;e&amp;gt;set_max_protocol_version&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;set_min_protocol_version&amp;lt;/e&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15740</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15740"/>
				<updated>2019-02-01T18:42:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
&lt;br /&gt;
==19.05.10.2756 (February 01st 2019)==&lt;br /&gt;
* Also known as 19.01-beta&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (OpenSSL): Added TLSv1.3 support, added creation procedures &amp;lt;e&amp;gt;make_as_tls_server&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_as_tls_client&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;SSL_CONTEXT&amp;lt;/e&amp;gt; to create flexible TLS capable server/client context, the supported protocols are SSLv3, TLSv1, TLSv1.1, TLSv1.2 and TLSv1.3.&lt;br /&gt;
*library (EiffelNetSSL): Added features &amp;lt;e&amp;gt;set_options&amp;lt;/e&amp;gt; to change the SSL ctx options as defined here &amp;lt;e&amp;gt;https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_options.html&amp;lt;/e&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
* Library (wikitext): accepts absolute path in external wiki link (such as [/path/to/page a page]).&lt;br /&gt;
* Debugger: extended support for local variable stone in relation with the debugger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
* Compiler: fixed compilation with remote target and no root class.&lt;br /&gt;
* EiffelStudio: fixed regression on features tool, when toggling signature display.&lt;br /&gt;
* EiffelStudio: fixed issue on gtk (linux, ...) with code completion that was not focusing back to the editor.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15736</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15736"/>
				<updated>2019-02-01T18:21:27Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
*library (base): Added class features &amp;lt;e&amp;gt;null_path&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;null_name&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15735</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15735"/>
				<updated>2019-02-01T18:19:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;/e&amp;gt; to create temporary files.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15734</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15734"/>
				<updated>2019-02-01T18:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;/e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;e&amp;gt; to create temporary files.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15733</id>
		<title>EiffelStudio 19.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_19.05_Releases&amp;diff=15733"/>
				<updated>2019-02-01T18:18:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 19.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/19.05/&lt;br /&gt;
&lt;br /&gt;
==19.05.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio (error): Added an automated fix for violation of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; that removes the associated feature name from the corresponding subclause &amp;lt;e&amp;gt;redefine&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_open_temporary&amp;lt;e&amp;gt; and &amp;lt;e&amp;gt;make_open_temporary_with_prefix&amp;lt;e&amp;gt; to the class &amp;lt;e&amp;gt;FILE&amp;lt;e&amp;gt; to create temporary files.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
* EiffelStudio (error): Provided location for violations of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS (4)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* EiffelStudio (error): Supported a possibility to open all classes that are fixed automatically in the editor and to remember this choice for all subsequent fixes. The setting is also available in the preferences.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
* library (logging): Fixed a C compiler warning for the call to the feature &amp;lt;code lang=&amp;quot;C&amp;quot;&amp;gt;syslog&amp;lt;/code&amp;gt; that might lead to potential vulnerability if a message has embedded format specifiers.&lt;br /&gt;
* compiler: bug#19437 (test#free025) — Fixed a bug preventing validity checks for class status of features used in unqualified calls in arguments to qualified calls inside a class feature (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VUCR&amp;lt;/code&amp;gt;).&lt;br /&gt;
* compiler: bug#19502 — Fixed a bug with checking target dependency in project settings (ECF) when only the first occurrence of a target was checked though some other dependencies could be invalid instead.&lt;br /&gt;
* compiler: test#valid019, test#valid233, test#vdrs401, test#vdrs402, test#vdrs403 — Added missing checks for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; when a deferred feature listed in the redefine subclause is effected or merged rather than redefined. {{Red|This may trigger &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VDRS(4)&amp;lt;/code&amp;gt; errors for existing code. The automatic fix associated with the bug report is backward compatible with previous versions of EiffelStudio and can be safely applied.}}&lt;br /&gt;
* EiffelStudio: Avoided a crash when all editors are closed during the first compilation of a project.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
* library (vision): Removed references to the obsolete class &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;, and moved conversion between &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;EV_POINTER_STYLE&amp;lt;/e&amp;gt; completely to &amp;lt;e&amp;gt;EV_CURSOR&amp;lt;/e&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15705</id>
		<title>EiffelStudio 18.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15705"/>
				<updated>2018-11-26T23:52:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.11/&lt;br /&gt;
&lt;br /&gt;
==18.11.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*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+.&lt;br /&gt;
*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 &amp;lt;e&amp;gt;is_valid&amp;lt;/e&amp;gt; is considered as having a tag &amp;lt;code&amp;gt;is_valid&amp;lt;/code&amp;gt;.&lt;br /&gt;
*library (base): Added to &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; a feature &amp;lt;e&amp;gt;definite_item&amp;lt;/e&amp;gt; that always returns an existing element assuming that the key is in the table (the feature has the corresponding precondition).&lt;br /&gt;
*compiler: Supported conditions based on current void safety compilation mode.&lt;br /&gt;
*EiffelStudio: Added Export/Imports functionality of editor tabs as text (available in the hidden menu&amp;gt;Service&amp;gt;Import/Export tabs... , Ctrl+Alt+D).&lt;br /&gt;
*library (jwt): Added a new JWT extension libary implemented with openssl to support the JWT algorithms RS256, RS384, and RS512.&lt;br /&gt;
*example (scoop): Added an example &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;processor_pool&amp;lt;/code&amp;gt; to demonstrate how a pool of active processors can be used to execute tasks from passive regions.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_from_iterable&amp;lt;/e&amp;gt; to the classes that exposed a feature &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (except for tree classes).&lt;br /&gt;
*library (vision): Added a feature &amp;lt;e&amp;gt;{EV_DRAWABLE}.set_anti_aliasing&amp;lt;/e&amp;gt; to control whether anti-aliasing should be used when drawing.&lt;br /&gt;
*library (OpenSSL): Updated OpenSSL library with asymmetric algorithms (RSA). Added a new RSA API &amp;lt;e&amp;gt;SSL_RSA&amp;lt;/e&amp;gt; with features to sign and verify with differents SHA algorithms (256, 384 and 512). Added classes to create  keypairs &amp;lt;e&amp;gt;SSL_KEY_PAIR&amp;lt;/e&amp;gt; using PEM and PCKS#1 format.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID_GENERATOR}.generate_uuid&amp;lt;/e&amp;gt; as a class feature and made the code of the class SCOOP-compatible.&lt;br /&gt;
*library (base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 11.0.0 instead of 10.0.0.&lt;br /&gt;
*compiler: Implemented direct code generation for &amp;lt;e&amp;gt;{CHARACTER_8}.minus&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{CHARACTER_32}.minus&amp;lt;/e&amp;gt;.&lt;br /&gt;
*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.&lt;br /&gt;
*library (base): Added a new class &amp;lt;e&amp;gt;EMPTY_ITERATION_CURSOR&amp;lt;/e&amp;gt; that can be used to implement iteration cursors for structures without any elements.&lt;br /&gt;
*library (base): Added an inheritance link from &amp;lt;e&amp;gt;CONTAINER&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt;, so that all containers can be iterated over using an across loop. Most notable additions are queues, trees and files. {{Red|Potential incompatibility: a descendant of a deferred container class of the library may need to implement a feature &amp;lt;e&amp;gt;new_cursor&amp;lt;/e&amp;gt;.}}&lt;br /&gt;
*library (base): Changed signatures of all features of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; that accepted &amp;lt;e&amp;gt;detachable G&amp;lt;/e&amp;gt; in the arguments to take &amp;lt;e&amp;gt;G&amp;lt;/e&amp;gt; instead.&lt;br /&gt;
*library (cms): Improved security (protection against XSS, finer permissions especially related to authentication). Added new &amp;lt;e&amp;gt;SECURITY_HTML_CONTENT_FILTER&amp;lt;/e&amp;gt; content filter.&lt;br /&gt;
*library (json): Improved memory and speed performance of the JSON parser.&lt;br /&gt;
*EiffelStudio (debugger): Improved evaluation of class routine.&lt;br /&gt;
*EiffelStudio: Added an entry ''Compile from scratch'' to ''Project'' menu to do a clean compilation instead of incremental recompilation (not needed in general, except for rare cases when the compiler encounters an internal error due to significant changes to the class structure, or a sequence of recompilations with intermediate compilation errors).&lt;br /&gt;
*EiffelStudio: Added the description note content of class in the class tool (can be enabled/disabled by a toolbar button).&lt;br /&gt;
*EiffelStudio: Changed completion pop-up to show the associated target class (if any) before the list of choices.&lt;br /&gt;
*library (cms): Improved administration for OAuth authentication.&lt;br /&gt;
*library (jwt): Made algorithm support more flexible, and simple to extend with specific algorithm.&lt;br /&gt;
*library (eiffelweb): Adopted nanoseconds timeout precision for EiffelWeb settings (in .ini file, use &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ns&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;us&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ms&amp;lt;/code&amp;gt;, or &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;s&amp;lt;/code&amp;gt; to specify measurement units).&lt;br /&gt;
*library (json): Added a basic serialization component.&lt;br /&gt;
*library (json): Added a feature &amp;lt;e&amp;gt;JSON_VALUE.chained_item (a_key): JSON_VALUE&amp;lt;/e&amp;gt; to be able to do chained calls like &amp;lt;e&amp;gt;json @ &amp;quot;person&amp;quot; @ &amp;quot;address&amp;quot; @ &amp;quot;city&amp;quot;&amp;lt;/e&amp;gt; and to get an associated JSON value (if any) or &amp;lt;e&amp;gt;JSON_NULL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (EiffelStore ODBC): Added support for &amp;lt;e&amp;gt;ODBC.affected_row_count&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (C_library/openssl): Updated OpenSSL library to version 1.1.1a.&lt;br /&gt;
*compiler(debugger): Taken into account assertions breakpoints, even if assertions are discarded in final mode, to make sure the exception trace uses the same stop point numbers in both final and workbench mode.&lt;br /&gt;
*EiffelStudio (debugger): Added notification to the call stack whether the call is a regular one or a non-object one.&lt;br /&gt;
*library (openssl): Updated OpenSSL Asymetric Crypto algorithm with RSA API with new features to sign using different SHA algorithms (256, 384 and 512) and RSA Digest Verification with different algorithms (256, 384, 512).&lt;br /&gt;
*EiffelStudio (error list): Added online help for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VWMA(1)&amp;lt;/code&amp;gt; warning that can be opened the same way as a built-in error/warning explanation.&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID}.is_valid_uuid&amp;lt;/e&amp;gt; as a class feature.&lt;br /&gt;
*EiffelStudio (diagram tool): Used anti-aliasing when drawing (can be disabled via ''Preferences'').&lt;br /&gt;
*EiffelStudio: Made sure changes to ''Preferences'' of a diagram tool are immediately reflected in the diagram.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused creation of generated files at a higher level than requested and using wrong names (such as &amp;lt;code&amp;gt;Documentationtest.xml&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Documentation/test.xml&amp;lt;/code&amp;gt;) when exporting to XMI.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (diagram): Corrected style of client-supplier links to be drawn as a double-lines in a cluster view of BON diagrams.&lt;br /&gt;
*compiler: Fixed a potential bug that might cause incorrect code generation for parenthesis alias after incremental recompilation if the origin of the alias changes.&lt;br /&gt;
*EiffelStudio (address bar): Allowed entering Unicode characters in the class field of the address bar (before any Unicode input was discarded).&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (template manager): Fixed a bug that might cause access on void target if no template declarations are found.&lt;br /&gt;
*code analyzer: test#codeanalysis005 — Avoided false positives for &amp;lt;code&amp;gt;CA024&amp;lt;/code&amp;gt; reported when it is possible to rewrite a regular loop as an across one.&lt;br /&gt;
*compiler: Avoided assertion violation when a file cannot be signed because .NET 3.5 or earlier is not installed on the development machine.&lt;br /&gt;
*compiler: Fixed a bug that could lead to using a wrong routine ID of a parenthesis alias if this routine ID changes during incremental recompilation.&lt;br /&gt;
*compiler: bug#15286 (test#ccomp082), bug#17089 (test#exec332), bug#19490 (test#ccomp091) — Fixed bugs that could cause generation of invalid C code or reporting a wrong result for an object test when both source expression type and target type are expanded and incompatible.&lt;br /&gt;
*compiler: Removed unneeded escaping of characters inside the content of an XML element in project (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;.ecf&amp;lt;/code&amp;gt;) files.&lt;br /&gt;
*library (json): Ensured the &amp;lt;e&amp;gt;JSON_STRING.item&amp;lt;/e&amp;gt; is really UTF-8 encoded (even for characters between 128 and 255).&lt;br /&gt;
*tool (iron): Improved handling of invalid repositories for the iron command-line client.&lt;br /&gt;
*library (svn): Added support for multi-line comments in commit operations.&lt;br /&gt;
*compiler: bug#19456 — Fixed bugs in handling a remote target (especially when the remote target project has no associated UUID).&lt;br /&gt;
*EiffelStudio (refactoring): Made sure editor position is restored after completing a refactoring.&lt;br /&gt;
*compiler: bug#19471 — Fixed a bug cased replacement of undefined variables by empty strings when evaluating redirection location instead of keeping the variables as is.&lt;br /&gt;
*EiffelStudio (wizard): Fixed a default location for EiffelWeb projects used by EiffelWeb wizard.&lt;br /&gt;
*library (cms): Fixed issues with session expiration date.&lt;br /&gt;
*compiler: Supported &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option concurrency:value&amp;lt;/code&amp;gt; and &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option void_safety:value&amp;lt;/code&amp;gt; command-line options to override concurrency and void safety settings when compiling a project.&lt;br /&gt;
*library (eiffelweb): Fixed initialization of &amp;lt;e&amp;gt;socket.timeout&amp;lt;/e&amp;gt; in the standalone connector of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;httpd&amp;lt;/code&amp;gt; and web-socket that was not set before.&lt;br /&gt;
*EiffelBuilder: bug#19470 — Fixed a bug that caused EiffelBuilder on Linux to overwrite EiffelStudio preferences file instead of using its own.&lt;br /&gt;
*compiler: test#attach128 — Fixed a bug that could lead to both false positives and false negatives when checking for void safety rules of object initialization involving assigner commands.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (base): Removed a feature &amp;lt;e&amp;gt;sequential_search&amp;lt;/e&amp;gt; from &amp;lt;e&amp;gt;BILINEAR&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Made creation procedures secret for regular feature calls for the following classes:&lt;br /&gt;
** &amp;lt;e&amp;gt;ARRAYED_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;BINARY_SEARCH_TREE_SET&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (base): Redefined &amp;lt;e&amp;gt;{TABLE}.valid_key&amp;lt;/e&amp;gt; in &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;has&amp;lt;/e&amp;gt; to be consistent with uses of &amp;lt;e&amp;gt;valid_key&amp;lt;/e&amp;gt; in other containers.&lt;br /&gt;
*library (base): Marked &amp;lt;e&amp;gt;{HASH_TABLE}.valid_key&amp;lt;/e&amp;gt; as obsolete with a recommendation to remove calls to it or to replace them with calls to &amp;lt;e&amp;gt;{HASH_TABLE}.has&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Marked the following features as obsolete:&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;SUBSET&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate_all&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill_subtree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_chain&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;DYNAMIC_CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;MULTIARRAY_LIST&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_filled_list&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_LIST&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_node&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_tree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*EiffelStudio (error list): Supported online help for errors/warnings when longer explanations are needed and they do not fit a short built-in text.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15704</id>
		<title>EiffelStudio 18.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15704"/>
				<updated>2018-11-26T23:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.11/&lt;br /&gt;
&lt;br /&gt;
==18.11.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*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+.&lt;br /&gt;
*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 &amp;lt;e&amp;gt;is_valid&amp;lt;/e&amp;gt; is considered as having a tag &amp;lt;code&amp;gt;is_valid&amp;lt;/code&amp;gt;.&lt;br /&gt;
*library (base): Added to &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; a feature &amp;lt;e&amp;gt;definite_item&amp;lt;/e&amp;gt; that always returns an existing element assuming that the key is in the table (the feature has the corresponding precondition).&lt;br /&gt;
*compiler: Supported conditions based on current void safety compilation mode.&lt;br /&gt;
*EiffelStudio: Added Export/Imports functionality of editor tabs as text (available in the hidden menu&amp;gt;Service&amp;gt;Import/Export tabs... , Ctrl+Alt+D).&lt;br /&gt;
*library (jwt): Added a new JWT extension libary implemented with openssl to support the JWT algorithms RS256, RS384, and RS512.&lt;br /&gt;
*example (scoop): Added an example &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;processor_pool&amp;lt;/code&amp;gt; to demonstrate how a pool of active processors can be used to execute tasks from passive regions.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_from_iterable&amp;lt;/e&amp;gt; to the classes that exposed a feature &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (except for tree classes).&lt;br /&gt;
*library (vision): Added a feature &amp;lt;e&amp;gt;{EV_DRAWABLE}.set_anti_aliasing&amp;lt;/e&amp;gt; to control whether anti-aliasing should be used when drawing.&lt;br /&gt;
*library (OpenSSL): Updated OpenSSL library with asymmetric algorithms (RSA). Added a new RSA API &amp;lt;e&amp;gt;SSL_RSA&amp;lt;/e&amp;gt; with features to sign and verify with differents SHA algorithms (256, 384 and 512). Added classes to create&lt;br /&gt;
keypairs &amp;lt;e&amp;gt;SSL_KEY_PAIR&amp;lt;/e&amp;gt; using PEM and PCKS#1 format.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID_GENERATOR}.generate_uuid&amp;lt;/e&amp;gt; as a class feature and made the code of the class SCOOP-compatible.&lt;br /&gt;
*library (base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 11.0.0 instead of 10.0.0.&lt;br /&gt;
*compiler: Implemented direct code generation for &amp;lt;e&amp;gt;{CHARACTER_8}.minus&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{CHARACTER_32}.minus&amp;lt;/e&amp;gt;.&lt;br /&gt;
*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.&lt;br /&gt;
*library (base): Added a new class &amp;lt;e&amp;gt;EMPTY_ITERATION_CURSOR&amp;lt;/e&amp;gt; that can be used to implement iteration cursors for structures without any elements.&lt;br /&gt;
*library (base): Added an inheritance link from &amp;lt;e&amp;gt;CONTAINER&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt;, so that all containers can be iterated over using an across loop. Most notable additions are queues, trees and files. {{Red|Potential incompatibility: a descendant of a deferred container class of the library may need to implement a feature &amp;lt;e&amp;gt;new_cursor&amp;lt;/e&amp;gt;.}}&lt;br /&gt;
*library (base): Changed signatures of all features of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; that accepted &amp;lt;e&amp;gt;detachable G&amp;lt;/e&amp;gt; in the arguments to take &amp;lt;e&amp;gt;G&amp;lt;/e&amp;gt; instead.&lt;br /&gt;
*library (cms): Improved security (protection against XSS, finer permissions especially related to authentication). Added new &amp;lt;e&amp;gt;SECURITY_HTML_CONTENT_FILTER&amp;lt;/e&amp;gt; content filter.&lt;br /&gt;
*library (json): Improved memory and speed performance of the JSON parser.&lt;br /&gt;
*EiffelStudio (debugger): Improved evaluation of class routine.&lt;br /&gt;
*EiffelStudio: Added an entry ''Compile from scratch'' to ''Project'' menu to do a clean compilation instead of incremental recompilation (not needed in general, except for rare cases when the compiler encounters an internal error due to significant changes to the class structure, or a sequence of recompilations with intermediate compilation errors).&lt;br /&gt;
*EiffelStudio: Added the description note content of class in the class tool (can be enabled/disabled by a toolbar button).&lt;br /&gt;
*EiffelStudio: Changed completion pop-up to show the associated target class (if any) before the list of choices.&lt;br /&gt;
*library (cms): Improved administration for OAuth authentication.&lt;br /&gt;
*library (jwt): Made algorithm support more flexible, and simple to extend with specific algorithm.&lt;br /&gt;
*library (eiffelweb): Adopted nanoseconds timeout precision for EiffelWeb settings (in .ini file, use &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ns&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;us&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ms&amp;lt;/code&amp;gt;, or &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;s&amp;lt;/code&amp;gt; to specify measurement units).&lt;br /&gt;
*library (json): Added a basic serialization component.&lt;br /&gt;
*library (json): Added a feature &amp;lt;e&amp;gt;JSON_VALUE.chained_item (a_key): JSON_VALUE&amp;lt;/e&amp;gt; to be able to do chained calls like &amp;lt;e&amp;gt;json @ &amp;quot;person&amp;quot; @ &amp;quot;address&amp;quot; @ &amp;quot;city&amp;quot;&amp;lt;/e&amp;gt; and to get an associated JSON value (if any) or &amp;lt;e&amp;gt;JSON_NULL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (EiffelStore ODBC): Added support for &amp;lt;e&amp;gt;ODBC.affected_row_count&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (C_library/openssl): Updated OpenSSL library to version 1.1.1a.&lt;br /&gt;
*compiler(debugger): Taken into account assertions breakpoints, even if assertions are discarded in final mode, to make sure the exception trace uses the same stop point numbers in both final and workbench mode.&lt;br /&gt;
*EiffelStudio (debugger): Added notification to the call stack whether the call is a regular one or a non-object one.&lt;br /&gt;
*library (openssl): Updated OpenSSL Asymetric Crypto algorithm with RSA API with new features to sign using different SHA algorithms (256, 384 and 512) and RSA Digest Verification with different algorithms (256, 384, 512).&lt;br /&gt;
*EiffelStudio (error list): Added online help for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VWMA(1)&amp;lt;/code&amp;gt; warning that can be opened the same way as a built-in error/warning explanation.&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID}.is_valid_uuid&amp;lt;/e&amp;gt; as a class feature.&lt;br /&gt;
*EiffelStudio (diagram tool): Used anti-aliasing when drawing (can be disabled via ''Preferences'').&lt;br /&gt;
*EiffelStudio: Made sure changes to ''Preferences'' of a diagram tool are immediately reflected in the diagram.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused creation of generated files at a higher level than requested and using wrong names (such as &amp;lt;code&amp;gt;Documentationtest.xml&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Documentation/test.xml&amp;lt;/code&amp;gt;) when exporting to XMI.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (diagram): Corrected style of client-supplier links to be drawn as a double-lines in a cluster view of BON diagrams.&lt;br /&gt;
*compiler: Fixed a potential bug that might cause incorrect code generation for parenthesis alias after incremental recompilation if the origin of the alias changes.&lt;br /&gt;
*EiffelStudio (address bar): Allowed entering Unicode characters in the class field of the address bar (before any Unicode input was discarded).&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (template manager): Fixed a bug that might cause access on void target if no template declarations are found.&lt;br /&gt;
*code analyzer: test#codeanalysis005 — Avoided false positives for &amp;lt;code&amp;gt;CA024&amp;lt;/code&amp;gt; reported when it is possible to rewrite a regular loop as an across one.&lt;br /&gt;
*compiler: Avoided assertion violation when a file cannot be signed because .NET 3.5 or earlier is not installed on the development machine.&lt;br /&gt;
*compiler: Fixed a bug that could lead to using a wrong routine ID of a parenthesis alias if this routine ID changes during incremental recompilation.&lt;br /&gt;
*compiler: bug#15286 (test#ccomp082), bug#17089 (test#exec332), bug#19490 (test#ccomp091) — Fixed bugs that could cause generation of invalid C code or reporting a wrong result for an object test when both source expression type and target type are expanded and incompatible.&lt;br /&gt;
*compiler: Removed unneeded escaping of characters inside the content of an XML element in project (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;.ecf&amp;lt;/code&amp;gt;) files.&lt;br /&gt;
*library (json): Ensured the &amp;lt;e&amp;gt;JSON_STRING.item&amp;lt;/e&amp;gt; is really UTF-8 encoded (even for characters between 128 and 255).&lt;br /&gt;
*tool (iron): Improved handling of invalid repositories for the iron command-line client.&lt;br /&gt;
*library (svn): Added support for multi-line comments in commit operations.&lt;br /&gt;
*compiler: bug#19456 — Fixed bugs in handling a remote target (especially when the remote target project has no associated UUID).&lt;br /&gt;
*EiffelStudio (refactoring): Made sure editor position is restored after completing a refactoring.&lt;br /&gt;
*compiler: bug#19471 — Fixed a bug cased replacement of undefined variables by empty strings when evaluating redirection location instead of keeping the variables as is.&lt;br /&gt;
*EiffelStudio (wizard): Fixed a default location for EiffelWeb projects used by EiffelWeb wizard.&lt;br /&gt;
*library (cms): Fixed issues with session expiration date.&lt;br /&gt;
*compiler: Supported &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option concurrency:value&amp;lt;/code&amp;gt; and &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option void_safety:value&amp;lt;/code&amp;gt; command-line options to override concurrency and void safety settings when compiling a project.&lt;br /&gt;
*library (eiffelweb): Fixed initialization of &amp;lt;e&amp;gt;socket.timeout&amp;lt;/e&amp;gt; in the standalone connector of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;httpd&amp;lt;/code&amp;gt; and web-socket that was not set before.&lt;br /&gt;
*EiffelBuilder: bug#19470 — Fixed a bug that caused EiffelBuilder on Linux to overwrite EiffelStudio preferences file instead of using its own.&lt;br /&gt;
*compiler: test#attach128 — Fixed a bug that could lead to both false positives and false negatives when checking for void safety rules of object initialization involving assigner commands.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (base): Removed a feature &amp;lt;e&amp;gt;sequential_search&amp;lt;/e&amp;gt; from &amp;lt;e&amp;gt;BILINEAR&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Made creation procedures secret for regular feature calls for the following classes:&lt;br /&gt;
** &amp;lt;e&amp;gt;ARRAYED_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;BINARY_SEARCH_TREE_SET&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (base): Redefined &amp;lt;e&amp;gt;{TABLE}.valid_key&amp;lt;/e&amp;gt; in &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;has&amp;lt;/e&amp;gt; to be consistent with uses of &amp;lt;e&amp;gt;valid_key&amp;lt;/e&amp;gt; in other containers.&lt;br /&gt;
*library (base): Marked &amp;lt;e&amp;gt;{HASH_TABLE}.valid_key&amp;lt;/e&amp;gt; as obsolete with a recommendation to remove calls to it or to replace them with calls to &amp;lt;e&amp;gt;{HASH_TABLE}.has&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Marked the following features as obsolete:&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;SUBSET&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate_all&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill_subtree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_chain&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;DYNAMIC_CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;MULTIARRAY_LIST&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_filled_list&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_LIST&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_node&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_tree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*EiffelStudio (error list): Supported online help for errors/warnings when longer explanations are needed and they do not fit a short built-in text.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15703</id>
		<title>EiffelStudio 18.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15703"/>
				<updated>2018-11-26T23:39:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.11/&lt;br /&gt;
&lt;br /&gt;
==18.11.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*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+.&lt;br /&gt;
*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 &amp;lt;e&amp;gt;is_valid&amp;lt;/e&amp;gt; is considered as having a tag &amp;lt;code&amp;gt;is_valid&amp;lt;/code&amp;gt;.&lt;br /&gt;
*library (base): Added to &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; a feature &amp;lt;e&amp;gt;definite_item&amp;lt;/e&amp;gt; that always returns an existing element assuming that the key is in the table (the feature has the corresponding precondition).&lt;br /&gt;
*compiler: Supported conditions based on current void safety compilation mode.&lt;br /&gt;
*EiffelStudio: Added Export/Imports functionality of editor tabs as text (available in the hidden menu&amp;gt;Service&amp;gt;Import/Export tabs... , Ctrl+Alt+D).&lt;br /&gt;
*library (jwt): Added a new JWT extension libary implemented with openssl to support the JWT algorithms RS256, RS384 and RS512.&lt;br /&gt;
*example (scoop): Added an example &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;processor_pool&amp;lt;/code&amp;gt; to demonstrate how a pool of active processors can be used to execute tasks from passive regions.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_from_iterable&amp;lt;/e&amp;gt; to the classes that exposed a feature &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (except for tree classes).&lt;br /&gt;
*library (vision): Added a feature &amp;lt;e&amp;gt;{EV_DRAWABLE}.set_anti_aliasing&amp;lt;/e&amp;gt; to control whether anti-aliasing should be used when drawing.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID_GENERATOR}.generate_uuid&amp;lt;/e&amp;gt; as a class feature and made the code of the class SCOOP-compatible.&lt;br /&gt;
*library (base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 11.0.0 instead of 10.0.0.&lt;br /&gt;
*compiler: Implemented direct code generation for &amp;lt;e&amp;gt;{CHARACTER_8}.minus&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{CHARACTER_32}.minus&amp;lt;/e&amp;gt;.&lt;br /&gt;
*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.&lt;br /&gt;
*library (base): Added a new class &amp;lt;e&amp;gt;EMPTY_ITERATION_CURSOR&amp;lt;/e&amp;gt; that can be used to implement iteration cursors for structures without any elements.&lt;br /&gt;
*library (base): Added an inheritance link from &amp;lt;e&amp;gt;CONTAINER&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt;, so that all containers can be iterated over using an across loop. Most notable additions are queues, trees and files. {{Red|Potential incompatibility: a descendant of a deferred container class of the library may need to implement a feature &amp;lt;e&amp;gt;new_cursor&amp;lt;/e&amp;gt;.}}&lt;br /&gt;
*library (base): Changed signatures of all features of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; that accepted &amp;lt;e&amp;gt;detachable G&amp;lt;/e&amp;gt; in the arguments to take &amp;lt;e&amp;gt;G&amp;lt;/e&amp;gt; instead.&lt;br /&gt;
*library (cms): Improved security (protection against XSS, finer permissions especially related to authentication). Added new &amp;lt;e&amp;gt;SECURITY_HTML_CONTENT_FILTER&amp;lt;/e&amp;gt; content filter.&lt;br /&gt;
*library (json): Improved memory and speed performance of the JSON parser.&lt;br /&gt;
*EiffelStudio (debugger): Improved evaluation of class routine.&lt;br /&gt;
*EiffelStudio: Added an entry ''Compile from scratch'' to ''Project'' menu to do a clean compilation instead of incremental recompilation (not needed in general, except for rare cases when the compiler encounters an internal error due to significant changes to the class structure, or a sequence of recompilations with intermediate compilation errors).&lt;br /&gt;
*EiffelStudio: Added the description note content of class in the class tool (can be enabled/disabled by a toolbar button).&lt;br /&gt;
*EiffelStudio: Changed completion pop-up to show the associated target class (if any) before the list of choices.&lt;br /&gt;
*library (cms): Improved administration for OAuth authentication.&lt;br /&gt;
*library (jwt): Made algorithm support more flexible, and simple to extend with specific algorithm.&lt;br /&gt;
*library (eiffelweb): Adopted nanoseconds timeout precision for EiffelWeb settings (in .ini file, use &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ns&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;us&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ms&amp;lt;/code&amp;gt;, or &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;s&amp;lt;/code&amp;gt; to specify measurement units).&lt;br /&gt;
*library (json): Added a basic serialization component.&lt;br /&gt;
*library (json): Added a feature &amp;lt;e&amp;gt;JSON_VALUE.chained_item (a_key): JSON_VALUE&amp;lt;/e&amp;gt; to be able to do chained calls like &amp;lt;e&amp;gt;json @ &amp;quot;person&amp;quot; @ &amp;quot;address&amp;quot; @ &amp;quot;city&amp;quot;&amp;lt;/e&amp;gt; and to get an associated JSON value (if any) or &amp;lt;e&amp;gt;JSON_NULL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (EiffelStore ODBC): Added support for &amp;lt;e&amp;gt;ODBC.affected_row_count&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (C_library/openssl): Updated OpenSSL library to version 1.1.1a.&lt;br /&gt;
*compiler(debugger): Taken into account assertions breakpoints, even if assertions are discarded in final mode, to make sure the exception trace uses the same stop point numbers in both final and workbench mode.&lt;br /&gt;
*EiffelStudio (debugger): Added notification to the call stack whether the call is a regular one or a non-object one.&lt;br /&gt;
*library (openssl): Updated OpenSSL Asymetric Crypto algorithm with RSA API with new features to sign using different SHA algorithms (256, 384 and 512) and RSA Digest Verification with different algorithms (256, 384, 512).&lt;br /&gt;
*EiffelStudio (error list): Added online help for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VWMA(1)&amp;lt;/code&amp;gt; warning that can be opened the same way as a built-in error/warning explanation.&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID}.is_valid_uuid&amp;lt;/e&amp;gt; as a class feature.&lt;br /&gt;
*EiffelStudio (diagram tool): Used anti-aliasing when drawing (can be disabled via ''Preferences'').&lt;br /&gt;
*EiffelStudio: Made sure changes to ''Preferences'' of a diagram tool are immediately reflected in the diagram.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused creation of generated files at a higher level than requested and using wrong names (such as &amp;lt;code&amp;gt;Documentationtest.xml&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Documentation/test.xml&amp;lt;/code&amp;gt;) when exporting to XMI.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (diagram): Corrected style of client-supplier links to be drawn as a double-lines in a cluster view of BON diagrams.&lt;br /&gt;
*compiler: Fixed a potential bug that might cause incorrect code generation for parenthesis alias after incremental recompilation if the origin of the alias changes.&lt;br /&gt;
*EiffelStudio (address bar): Allowed entering Unicode characters in the class field of the address bar (before any Unicode input was discarded).&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (template manager): Fixed a bug that might cause access on void target if no template declarations are found.&lt;br /&gt;
*code analyzer: test#codeanalysis005 — Avoided false positives for &amp;lt;code&amp;gt;CA024&amp;lt;/code&amp;gt; reported when it is possible to rewrite a regular loop as an across one.&lt;br /&gt;
*compiler: Avoided assertion violation when a file cannot be signed because .NET 3.5 or earlier is not installed on the development machine.&lt;br /&gt;
*compiler: Fixed a bug that could lead to using a wrong routine ID of a parenthesis alias if this routine ID changes during incremental recompilation.&lt;br /&gt;
*compiler: bug#15286 (test#ccomp082), bug#17089 (test#exec332), bug#19490 (test#ccomp091) — Fixed bugs that could cause generation of invalid C code or reporting a wrong result for an object test when both source expression type and target type are expanded and incompatible.&lt;br /&gt;
*compiler: Removed unneeded escaping of characters inside the content of an XML element in project (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;.ecf&amp;lt;/code&amp;gt;) files.&lt;br /&gt;
*library (json): Ensured the &amp;lt;e&amp;gt;JSON_STRING.item&amp;lt;/e&amp;gt; is really UTF-8 encoded (even for characters between 128 and 255).&lt;br /&gt;
*tool (iron): Improved handling of invalid repositories for the iron command-line client.&lt;br /&gt;
*library (svn): Added support for multi-line comments in commit operations.&lt;br /&gt;
*compiler: bug#19456 — Fixed bugs in handling a remote target (especially when the remote target project has no associated UUID).&lt;br /&gt;
*EiffelStudio (refactoring): Made sure editor position is restored after completing a refactoring.&lt;br /&gt;
*compiler: bug#19471 — Fixed a bug cased replacement of undefined variables by empty strings when evaluating redirection location instead of keeping the variables as is.&lt;br /&gt;
*EiffelStudio (wizard): Fixed a default location for EiffelWeb projects used by EiffelWeb wizard.&lt;br /&gt;
*library (cms): Fixed issues with session expiration date.&lt;br /&gt;
*compiler: Supported &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option concurrency:value&amp;lt;/code&amp;gt; and &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option void_safety:value&amp;lt;/code&amp;gt; command-line options to override concurrency and void safety settings when compiling a project.&lt;br /&gt;
*library (eiffelweb): Fixed initialization of &amp;lt;e&amp;gt;socket.timeout&amp;lt;/e&amp;gt; in the standalone connector of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;httpd&amp;lt;/code&amp;gt; and web-socket that was not set before.&lt;br /&gt;
*EiffelBuilder: bug#19470 — Fixed a bug that caused EiffelBuilder on Linux to overwrite EiffelStudio preferences file instead of using its own.&lt;br /&gt;
*compiler: test#attach128 — Fixed a bug that could lead to both false positives and false negatives when checking for void safety rules of object initialization involving assigner commands.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (base): Removed a feature &amp;lt;e&amp;gt;sequential_search&amp;lt;/e&amp;gt; from &amp;lt;e&amp;gt;BILINEAR&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Made creation procedures secret for regular feature calls for the following classes:&lt;br /&gt;
** &amp;lt;e&amp;gt;ARRAYED_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;BINARY_SEARCH_TREE_SET&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (base): Redefined &amp;lt;e&amp;gt;{TABLE}.valid_key&amp;lt;/e&amp;gt; in &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;has&amp;lt;/e&amp;gt; to be consistent with uses of &amp;lt;e&amp;gt;valid_key&amp;lt;/e&amp;gt; in other containers.&lt;br /&gt;
*library (base): Marked &amp;lt;e&amp;gt;{HASH_TABLE}.valid_key&amp;lt;/e&amp;gt; as obsolete with a recommendation to remove calls to it or to replace them with calls to &amp;lt;e&amp;gt;{HASH_TABLE}.has&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Marked the following features as obsolete:&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;SUBSET&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate_all&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill_subtree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_chain&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;DYNAMIC_CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;MULTIARRAY_LIST&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_filled_list&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_LIST&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_node&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_tree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*EiffelStudio (error list): Supported online help for errors/warnings when longer explanations are needed and they do not fit a short built-in text.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15702</id>
		<title>EiffelStudio 18.11 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.11_Releases&amp;diff=15702"/>
				<updated>2018-11-26T15:09:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.11.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.11/&lt;br /&gt;
&lt;br /&gt;
==18.11.xx.yyyy ()==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*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+.&lt;br /&gt;
*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 &amp;lt;e&amp;gt;is_valid&amp;lt;/e&amp;gt; is considered as having a tag &amp;lt;code&amp;gt;is_valid&amp;lt;/code&amp;gt;.&lt;br /&gt;
*library (base): Added to &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; a feature &amp;lt;e&amp;gt;definite_item&amp;lt;/e&amp;gt; that always returns an existing element assuming that the key is in the table (the feature has the corresponding precondition).&lt;br /&gt;
*compiler: Supported conditions based on current void safety compilation mode.&lt;br /&gt;
*EiffelStudio: Added Export/Imports functionality of editor tabs as text (available in the hidden menu&amp;gt;Service&amp;gt;Import/Export tabs... , Ctrl+Alt+D).&lt;br /&gt;
*library (jwt): Added a new JWT extension libary implemented with openssl to support the JWT algorithms RS256, RS384 and RS512.&lt;br /&gt;
*example (scoop): Added an example &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;processor_pool&amp;lt;/code&amp;gt; to demonstrate how a pool of active processors can be used to execute tasks from passive regions.&lt;br /&gt;
*library (base): Added creation procedures &amp;lt;e&amp;gt;make_from_iterable&amp;lt;/e&amp;gt; to the classes that exposed a feature &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (except for tree classes).&lt;br /&gt;
*library (vision): Added a feature &amp;lt;e&amp;gt;{EV_DRAWABLE}.set_anti_aliasing&amp;lt;/e&amp;gt; to control whether anti-aliasing should be used when drawing.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID_GENERATOR}.generate_uuid&amp;lt;/e&amp;gt; as a class feature and made the code of the class SCOOP-compatible.&lt;br /&gt;
*library (base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 11.0.0 instead of 10.0.0.&lt;br /&gt;
*compiler: Implemented direct code generation for &amp;lt;e&amp;gt;{CHARACTER_8}.minus&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{CHARACTER_32}.minus&amp;lt;/e&amp;gt;.&lt;br /&gt;
*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.&lt;br /&gt;
*library (base): Added a new class &amp;lt;e&amp;gt;EMPTY_ITERATION_CURSOR&amp;lt;/e&amp;gt; that can be used to implement iteration cursors for structures without any elements.&lt;br /&gt;
*library (base): Added an inheritance link from &amp;lt;e&amp;gt;CONTAINER&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt;, so that all containers can be iterated over using an across loop. Most notable additions are queues, trees and files. {{Red|Potential incompatibility: a descendant of a deferred container class of the library may need to implement a feature &amp;lt;e&amp;gt;new_cursor&amp;lt;/e&amp;gt;.}}&lt;br /&gt;
*library (base): Changed signatures of all features of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; that accepted &amp;lt;e&amp;gt;detachable G&amp;lt;/e&amp;gt; in the arguments to take &amp;lt;e&amp;gt;G&amp;lt;/e&amp;gt; instead.&lt;br /&gt;
*library (cms): Improved security (protection against XSS, finer permissions especially related to authentication). Added new &amp;lt;e&amp;gt;SECURITY_HTML_CONTENT_FILTER&amp;lt;/e&amp;gt; content filter.&lt;br /&gt;
*library (json): Improved memory and speed performance of the JSON parser.&lt;br /&gt;
*EiffelStudio (debugger): Improved evaluation of class routine.&lt;br /&gt;
*EiffelStudio: Added an entry ''Compile from scratch'' to ''Project'' menu to do a clean compilation instead of incremental recompilation (not needed in general, except for rare cases when the compiler encounters an internal error due to significant changes to the class structure, or a sequence of recompilations with intermediate compilation errors).&lt;br /&gt;
*EiffelStudio: Added the description note content of class in the class tool (can be enabled/disabled by a toolbar button).&lt;br /&gt;
*EiffelStudio: Changed completion pop-up to show the associated target class (if any) before the list of choices.&lt;br /&gt;
*library (cms): Improved administration for OAuth authentication.&lt;br /&gt;
*library (jwt): Made algorithm support more flexible, and simple to extend with specific algorithm.&lt;br /&gt;
*library (eiffelweb): Adopted nanoseconds timeout precision for EiffelWeb settings (in .ini file, use &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ns&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;us&amp;lt;/code&amp;gt;, &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;ms&amp;lt;/code&amp;gt;, or &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;s&amp;lt;/code&amp;gt; to specify measurement units).&lt;br /&gt;
*library (json): Added a basic serialization component.&lt;br /&gt;
*library (json): Added a feature &amp;lt;e&amp;gt;JSON_VALUE.chained_item (a_key): JSON_VALUE&amp;lt;/e&amp;gt; to be able to do chained calls like &amp;lt;e&amp;gt;json @ &amp;quot;person&amp;quot; @ &amp;quot;address&amp;quot; @ &amp;quot;city&amp;quot;&amp;lt;/e&amp;gt; and to get an associated JSON value (if any) or &amp;lt;e&amp;gt;JSON_NULL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (EiffelStore ODBC): Added support for &amp;lt;e&amp;gt;ODBC.affected_row_count&amp;lt;/e&amp;gt; &lt;br /&gt;
*compiler(debugger): Taken into account assertions breakpoints, even if assertions are discarded in final mode, to make sure the exception trace uses the same stop point numbers in both final and workbench mode.&lt;br /&gt;
*EiffelStudio (debugger): Added notification to the call stack whether the call is a regular one or a non-object one.&lt;br /&gt;
*library (openssl): Updated OpenSSL Asymetric Crypto algorithm with RSA API with new features to sign using different SHA algorithms (256, 384 and 512) and RSA Digest Verification with different algorithms (256, 384, 512).&lt;br /&gt;
*EiffelStudio (error list): Added online help for &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;VWMA(1)&amp;lt;/code&amp;gt; warning that can be opened the same way as a built-in error/warning explanation.&lt;br /&gt;
*library (uuid): Marked &amp;lt;e&amp;gt;{UUID}.is_valid_uuid&amp;lt;/e&amp;gt; as a class feature.&lt;br /&gt;
*EiffelStudio (diagram tool): Used anti-aliasing when drawing (can be disabled via ''Preferences'').&lt;br /&gt;
*EiffelStudio: Made sure changes to ''Preferences'' of a diagram tool are immediately reflected in the diagram.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused creation of generated files at a higher level than requested and using wrong names (such as &amp;lt;code&amp;gt;Documentationtest.xml&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Documentation/test.xml&amp;lt;/code&amp;gt;) when exporting to XMI.&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (diagram): Corrected style of client-supplier links to be drawn as a double-lines in a cluster view of BON diagrams.&lt;br /&gt;
*compiler: Fixed a potential bug that might cause incorrect code generation for parenthesis alias after incremental recompilation if the origin of the alias changes.&lt;br /&gt;
*EiffelStudio (address bar): Allowed entering Unicode characters in the class field of the address bar (before any Unicode input was discarded).&lt;br /&gt;
*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.&lt;br /&gt;
*EiffelStudio (template manager): Fixed a bug that might cause access on void target if no template declarations are found.&lt;br /&gt;
*code analyzer: test#codeanalysis005 — Avoided false positives for &amp;lt;code&amp;gt;CA024&amp;lt;/code&amp;gt; reported when it is possible to rewrite a regular loop as an across one.&lt;br /&gt;
*compiler: Avoided assertion violation when a file cannot be signed because .NET 3.5 or earlier is not installed on the development machine.&lt;br /&gt;
*compiler: Fixed a bug that could lead to using a wrong routine ID of a parenthesis alias if this routine ID changes during incremental recompilation.&lt;br /&gt;
*compiler: bug#15286 (test#ccomp082), bug#17089 (test#exec332), bug#19490 (test#ccomp091) — Fixed bugs that could cause generation of invalid C code or reporting a wrong result for an object test when both source expression type and target type are expanded and incompatible.&lt;br /&gt;
*compiler: Removed unneeded escaping of characters inside the content of an XML element in project (&amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;.ecf&amp;lt;/code&amp;gt;) files.&lt;br /&gt;
*library (json): Ensured the &amp;lt;e&amp;gt;JSON_STRING.item&amp;lt;/e&amp;gt; is really UTF-8 encoded (even for characters between 128 and 255).&lt;br /&gt;
*tool (iron): Improved handling of invalid repositories for the iron command-line client.&lt;br /&gt;
*library (svn): Added support for multi-line comments in commit operations.&lt;br /&gt;
*compiler: bug#19456 — Fixed bugs in handling a remote target (especially when the remote target project has no associated UUID).&lt;br /&gt;
*EiffelStudio (refactoring): Made sure editor position is restored after completing a refactoring.&lt;br /&gt;
*compiler: bug#19471 — Fixed a bug cased replacement of undefined variables by empty strings when evaluating redirection location instead of keeping the variables as is.&lt;br /&gt;
*EiffelStudio (wizard): Fixed a default location for EiffelWeb projects used by EiffelWeb wizard.&lt;br /&gt;
*library (cms): Fixed issues with session expiration date.&lt;br /&gt;
*compiler: Supported &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option concurrency:value&amp;lt;/code&amp;gt; and &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;-config_option void_safety:value&amp;lt;/code&amp;gt; command-line options to override concurrency and void safety settings when compiling a project.&lt;br /&gt;
*library (eiffelweb): Fixed initialization of &amp;lt;e&amp;gt;socket.timeout&amp;lt;/e&amp;gt; in the standalone connector of &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;httpd&amp;lt;/code&amp;gt; and web-socket that was not set before.&lt;br /&gt;
*EiffelBuilder: bug#19470 — Fixed a bug that caused EiffelBuilder on Linux to overwrite EiffelStudio preferences file instead of using its own.&lt;br /&gt;
*compiler: test#attach128 — Fixed a bug that could lead to both false positives and false negatives when checking for void safety rules of object initialization involving assigner commands.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (base): Removed a feature &amp;lt;e&amp;gt;sequential_search&amp;lt;/e&amp;gt; from &amp;lt;e&amp;gt;BILINEAR&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Made creation procedures secret for regular feature calls for the following classes:&lt;br /&gt;
** &amp;lt;e&amp;gt;ARRAYED_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;BINARY_SEARCH_TREE_SET&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
** &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;&lt;br /&gt;
*library (base): Redefined &amp;lt;e&amp;gt;{TABLE}.valid_key&amp;lt;/e&amp;gt; in &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; to &amp;lt;e&amp;gt;has&amp;lt;/e&amp;gt; to be consistent with uses of &amp;lt;e&amp;gt;valid_key&amp;lt;/e&amp;gt; in other containers.&lt;br /&gt;
*library (base): Marked &amp;lt;e&amp;gt;{HASH_TABLE}.valid_key&amp;lt;/e&amp;gt; as obsolete with a recommendation to remove calls to it or to replace them with calls to &amp;lt;e&amp;gt;{HASH_TABLE}.has&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): Marked the following features as obsolete:&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;HEAP_PRIORITY_QUEUE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;SUBSET&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;duplicate_all&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;fill_subtree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_chain&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;DYNAMIC_CHAIN&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;MULTIARRAY_LIST&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_filled_list&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_LIST&amp;lt;/e&amp;gt; and descendants)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_node&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;ARRAYED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;FIXED_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
** &amp;lt;e&amp;gt;new_tree&amp;lt;/e&amp;gt; (&amp;lt;e&amp;gt;BINARY_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;DYNAMIC_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;LINKED_TREE&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;TWO_WAY_TREE&amp;lt;/e&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*EiffelStudio (error list): Supported online help for errors/warnings when longer explanations are needed and they do not fit a short built-in text.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.07_Releases&amp;diff=15627</id>
		<title>EiffelStudio 18.07 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.07_Releases&amp;diff=15627"/>
				<updated>2018-05-28T12:16:17Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.05/&lt;br /&gt;
&lt;br /&gt;
==18.05.x.y==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*compiler: Supported extension of project targets from a different project (ECF).&lt;br /&gt;
*EiffelStudio: Added auto-import (and auto-export) for the execution parameters using the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;$target_name.$system_name.dbg.profiles.xml&amp;lt;/code&amp;gt; located in same folder as the .ecf file.&lt;br /&gt;
*compiler: Allowed target to extend a target from another .ecf &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;target name=&amp;quot;foo&amp;quot; extends=&amp;quot;bar&amp;quot; extends_location=&amp;quot;another.ecf&amp;quot;&amp;gt; ... &amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler: Added support to ecf condition with custom value comparisons based on case-sensitive, case-insensitive, regular expression and wildcard.&lt;br /&gt;
*debugger: Included information about current caret position in the string display debugger viewer.&lt;br /&gt;
*debugger: Added a JSON debugger viewer (similar to the XML viewer).&lt;br /&gt;
*EiffelStudio: Supported &amp;lt;code&amp;gt;ArrowUp&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ArrowDown&amp;lt;/code&amp;gt; in the address bar (class and feature field in the tool bar) to see next or previous suggestions, and &amp;lt;code&amp;gt;Ctrl+Space&amp;lt;/code&amp;gt; to open the completion dialog.&lt;br /&gt;
*library: Added a feature &amp;lt;e&amp;gt;{ARRAY}.force_and_fill&amp;lt;/e&amp;gt; that works like &amp;lt;e&amp;gt;{ARRAY}.force&amp;lt;/e&amp;gt;, but fills previously unoccupied positions with the specified value rather than with a default one.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*eweasel: Supported Unicode in paths, arguments and environment.&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Supported more expressions when checking for ''CA071'' (comparison to itself): &amp;lt;e&amp;gt;Result&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;Precursor&amp;lt;/e&amp;gt;, non-object call.&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Supported object (tilde) equality when checking for ''CA071'' (comparison to itself).&lt;br /&gt;
*code analyzer: test#codeanalysis028 — Supported conditional expressions when checking for ''CA046'' (inequality used in if-then-else-end) in addition to conditional instructions.&lt;br /&gt;
*EiffelStudio: Supported localized output from precompilation process (in case EiffelStudio is started in the environment with a non-English locale).&lt;br /&gt;
*compiler: Reported source code context for class-level errors when this information is available.&lt;br /&gt;
*compiler: Taken a condition into account when processing a precompile to allow for using different precompiles with different settings and for making such uses optional.&lt;br /&gt;
*compiler: Change grammar to support bracket expressions as bracket targets. Support &amp;lt;e&amp;gt;foo [x][y][z]&amp;lt;/e&amp;gt; as a synonym for &amp;lt;e&amp;gt;((foo [x]) [y]) [z]&amp;lt;/e&amp;gt;&lt;br /&gt;
*code analyzer: test#codeanalysis029 — Extended the rule ''CA017'' (an empty conditional) to check for an empty compound after &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; or &amp;lt;e&amp;gt;else&amp;lt;/e&amp;gt; parts.&lt;br /&gt;
*{{Green|compiler: test#free015, test#free016, test#free017, test#free018, test#free019, test#free020, test#free021, test#free022, test#free023, test#free024 — Relaxed rules for class features. Redeclaration into or joining with a class feature is valid as soon as combined assertions satisfy the class feature conditions. A non-static external and constant feature automatically gets a class postcondition if its contracts do not involve constructs that can access Current object (&amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt;, an unqualified call, an inline or unqualified agent, &amp;lt;e&amp;gt;Precursor&amp;lt;/e&amp;gt;, an address expression with &amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt; or an unqualified feature).}}&lt;br /&gt;
*EiffelStudio: Indicated whether a feature is a class one with special icons in various tools.&lt;br /&gt;
*library (base): Marked many features of Base library as class ones to make them usable for non-object calls.&lt;br /&gt;
*EiffelStudio: Improved auto completion for &amp;quot;|.&amp;quot; and &amp;quot;..&amp;quot; cases.&lt;br /&gt;
*library: Added &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.available_cpu_count&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (process): Marked features of &amp;lt;e&amp;gt;BASE_PROCESS_FACTORY&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;PROCESS_FACTORY&amp;lt;/e&amp;gt;, and &amp;lt;e&amp;gt;PROCESS_INFO&amp;lt;/e&amp;gt; as class ones to make them usable for non-object calls.&lt;br /&gt;
*library (base): Relaxed a precondition of &amp;lt;e&amp;gt;{ARRAY}.subarray&amp;lt;/e&amp;gt; to allow for calling it on empty arrays.&lt;br /&gt;
*library (encoding): Used a default console code page on Windows if the current one cannot be retrieved that may happen for GUI applications.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
*compiler: Removed an unused setting &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;msil_assembly_compatibility&amp;lt;/code&amp;gt; from ECF (Eiffel configuration file).&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: Fixed issues that caused link errors when using run-time in DLL (rather than statically linked).&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Avoided reporting expressions involving computation (e.g. function calls) by ''CA071'' (comparison to itself).&lt;br /&gt;
*code analyzer: test#codeanalysis028 — Avoided false positives for ''CA046'' (inequality used in if-then-else-end) when &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; parts are present.&lt;br /&gt;
*EiffelStudio: Disabled editing read-only library settings.&lt;br /&gt;
*{{Red|compiler: bug#17297, test#valid255 — Supported detection of ''VHPR(5)'' violations for arbitrary ancestors, not just for immediate parents. '''Breaking change''' for classes that inherit different generic derivations of the same class.}}&lt;br /&gt;
*compiler: test#valid255 — Fixed a recompilation issue when first compilation fails and parents of the classes are changed.&lt;br /&gt;
*code analyzer: test#codeanalysis029 — Avoided false positives for ''CA017'' (an empty conditional) when there are non-empty &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; or &amp;lt;e&amp;gt;else&amp;lt;/e&amp;gt; parts.&lt;br /&gt;
*compiler: Specified source code class when reporting &amp;lt;code&amp;gt;VUCR&amp;lt;/code&amp;gt; to show source code correctly.&lt;br /&gt;
*library: bug#19436 (test#utf003) — Fixed several issues in the implementation of &amp;lt;e&amp;gt;UTF_CONVERTER.is_valid_utf_16&amp;lt;/e&amp;gt; (premature end of validation, infinite looping on certain inputs, access on index outside valid bounds).&lt;br /&gt;
*library: Fixed a bug in the implementation of &amp;lt;e&amp;gt;{WEL_API}.cwin_read_file&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{WEL_API}.cwin_write_file&amp;lt;/e&amp;gt; that may cause GC in multi-threaded environment to hang on Windows because &amp;lt;code&amp;gt;ReadFile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WriteFile&amp;lt;/code&amp;gt; were not marked as blocking.&lt;br /&gt;
*EiffelStudio: Made sure message counters in the error panel are updated when messages are removed by a user.&lt;br /&gt;
*library: test#thread024 - Fixed a bug in the implementation of &amp;lt;e&amp;gt;PROCEDURE&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;FUNCTION&amp;lt;/e&amp;gt; classes that might cause memory corruption, access on void target or access on an invalid address when using agents in a system with any concurrency option turned on.&lt;br /&gt;
*EiffelStudio: Fixed Pick and Drop from `Precursor` tokens.&lt;br /&gt;
*EiffelStudio: Fixed EIS with pdf named destinations&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*EiffelStudio: In the completion window, complete code with a single click action, and show tooltip when mouse is over the entry.&lt;br /&gt;
*EiffelStudio: Show auto completion window, even if there is a unique entry.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*eweasel: Ignored end-of-line differences when comparing output files.&lt;br /&gt;
*compiler: Updated configuration file (ECF) schema version.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.07_Releases&amp;diff=15626</id>
		<title>EiffelStudio 18.07 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.07_Releases&amp;diff=15626"/>
				<updated>2018-05-28T12:12:37Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Bug fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.05/&lt;br /&gt;
&lt;br /&gt;
==18.05.x.y==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*compiler: Supported extension of project targets from a different project (ECF).&lt;br /&gt;
*EiffelStudio: Added auto-import (and auto-export) for the execution parameters using the file &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;$target_name.$system_name.dbg.profiles.xml&amp;lt;/code&amp;gt; located in same folder as the .ecf file.&lt;br /&gt;
*compiler: Allowed target to extend a target from another .ecf &amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;target name=&amp;quot;foo&amp;quot; extends=&amp;quot;bar&amp;quot; extends_location=&amp;quot;another.ecf&amp;quot;&amp;gt; ... &amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler: Added support to ecf condition with custom value comparisons based on case-sensitive, case-insensitive, regular expression and wildcard.&lt;br /&gt;
*debugger: Included information about current caret position in the string display debugger viewer.&lt;br /&gt;
*debugger: Added a JSON debugger viewer (similar to the XML viewer).&lt;br /&gt;
*EiffelStudio: Supported &amp;lt;code&amp;gt;ArrowUp&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ArrowDown&amp;lt;/code&amp;gt; in the address bar (class and feature field in the tool bar) to see next or previous suggestions, and &amp;lt;code&amp;gt;Ctrl+Space&amp;lt;/code&amp;gt; to open the completion dialog.&lt;br /&gt;
*library: Added a feature &amp;lt;e&amp;gt;{ARRAY}.force_and_fill&amp;lt;/e&amp;gt; that works like &amp;lt;e&amp;gt;{ARRAY}.force&amp;lt;/e&amp;gt;, but fills previously unoccupied positions with the specified value rather than with a default one.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*eweasel: Supported Unicode in paths, arguments and environment.&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Supported more expressions when checking for ''CA071'' (comparison to itself): &amp;lt;e&amp;gt;Result&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;Precursor&amp;lt;/e&amp;gt;, non-object call.&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Supported object (tilde) equality when checking for ''CA071'' (comparison to itself).&lt;br /&gt;
*code analyzer: test#codeanalysis028 — Supported conditional expressions when checking for ''CA046'' (inequality used in if-then-else-end) in addition to conditional instructions.&lt;br /&gt;
*EiffelStudio: Supported localized output from precompilation process (in case EiffelStudio is started in the environment with a non-English locale).&lt;br /&gt;
*compiler: Reported source code context for class-level errors when this information is available.&lt;br /&gt;
*compiler: Taken a condition into account when processing a precompile to allow for using different precompiles with different settings and for making such uses optional.&lt;br /&gt;
*code analyzer: test#codeanalysis029 — Extended the rule ''CA017'' (an empty conditional) to check for an empty compound after &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; or &amp;lt;e&amp;gt;else&amp;lt;/e&amp;gt; parts.&lt;br /&gt;
*{{Green|compiler: test#free015, test#free016, test#free017, test#free018, test#free019, test#free020, test#free021, test#free022, test#free023, test#free024 — Relaxed rules for class features. Redeclaration into or joining with a class feature is valid as soon as combined assertions satisfy the class feature conditions. A non-static external and constant feature automatically gets a class postcondition if its contracts do not involve constructs that can access Current object (&amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt;, an unqualified call, an inline or unqualified agent, &amp;lt;e&amp;gt;Precursor&amp;lt;/e&amp;gt;, an address expression with &amp;lt;e&amp;gt;Current&amp;lt;/e&amp;gt; or an unqualified feature).}}&lt;br /&gt;
*EiffelStudio: Indicated whether a feature is a class one with special icons in various tools.&lt;br /&gt;
*library (base): Marked many features of Base library as class ones to make them usable for non-object calls.&lt;br /&gt;
*EiffelStudio: Improved auto completion for &amp;quot;|.&amp;quot; and &amp;quot;..&amp;quot; cases.&lt;br /&gt;
*library: Added &amp;lt;e&amp;gt;EXECUTION_ENVIRONMENT.available_cpu_count&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (process): Marked features of &amp;lt;e&amp;gt;BASE_PROCESS_FACTORY&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;PROCESS_FACTORY&amp;lt;/e&amp;gt;, and &amp;lt;e&amp;gt;PROCESS_INFO&amp;lt;/e&amp;gt; as class ones to make them usable for non-object calls.&lt;br /&gt;
*library (base): Relaxed a precondition of &amp;lt;e&amp;gt;{ARRAY}.subarray&amp;lt;/e&amp;gt; to allow for calling it on empty arrays.&lt;br /&gt;
*library (encoding): Used a default console code page on Windows if the current one cannot be retrieved that may happen for GUI applications.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
*compiler: Removed an unused setting &amp;lt;code lang=&amp;quot;text&amp;quot;&amp;gt;msil_assembly_compatibility&amp;lt;/code&amp;gt; from ECF (Eiffel configuration file).&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: Fixed issues that caused link errors when using run-time in DLL (rather than statically linked).&lt;br /&gt;
*code analyzer: test#codeanalysis027 — Avoided reporting expressions involving computation (e.g. function calls) by ''CA071'' (comparison to itself).&lt;br /&gt;
*code analyzer: test#codeanalysis028 — Avoided false positives for ''CA046'' (inequality used in if-then-else-end) when &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; parts are present.&lt;br /&gt;
*EiffelStudio: Disabled editing read-only library settings.&lt;br /&gt;
*{{Red|compiler: bug#17297, test#valid255 — Supported detection of ''VHPR(5)'' violations for arbitrary ancestors, not just for immediate parents. '''Breaking change''' for classes that inherit different generic derivations of the same class.}}&lt;br /&gt;
*compiler: test#valid255 — Fixed a recompilation issue when first compilation fails and parents of the classes are changed.&lt;br /&gt;
*code analyzer: test#codeanalysis029 — Avoided false positives for ''CA017'' (an empty conditional) when there are non-empty &amp;lt;e&amp;gt;elseif&amp;lt;/e&amp;gt; or &amp;lt;e&amp;gt;else&amp;lt;/e&amp;gt; parts.&lt;br /&gt;
*compiler: Specified source code class when reporting &amp;lt;code&amp;gt;VUCR&amp;lt;/code&amp;gt; to show source code correctly.&lt;br /&gt;
*library: bug#19436 (test#utf003) — Fixed several issues in the implementation of &amp;lt;e&amp;gt;UTF_CONVERTER.is_valid_utf_16&amp;lt;/e&amp;gt; (premature end of validation, infinite looping on certain inputs, access on index outside valid bounds).&lt;br /&gt;
*library: Fixed a bug in the implementation of &amp;lt;e&amp;gt;{WEL_API}.cwin_read_file&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;{WEL_API}.cwin_write_file&amp;lt;/e&amp;gt; that may cause GC in multi-threaded environment to hang on Windows because &amp;lt;code&amp;gt;ReadFile&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;WriteFile&amp;lt;/code&amp;gt; were not marked as blocking.&lt;br /&gt;
*EiffelStudio: Made sure message counters in the error panel are updated when messages are removed by a user.&lt;br /&gt;
*library: test#thread024 - Fixed a bug in the implementation of &amp;lt;e&amp;gt;PROCEDURE&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;FUNCTION&amp;lt;/e&amp;gt; classes that might cause memory corruption, access on void target or access on an invalid address when using agents in a system with any concurrency option turned on.&lt;br /&gt;
*EiffelStudio: Fixed Pick and Drop from `Precursor` tokens.&lt;br /&gt;
*EiffelStudio: Fixed EIS with pdf named destinations&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*EiffelStudio: In the completion window, complete code with a single click action, and show tooltip when mouse is over the entry.&lt;br /&gt;
*EiffelStudio: Show auto completion window, even if there is a unique entry.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*eweasel: Ignored end-of-line differences when comparing output files.&lt;br /&gt;
*compiler: Updated configuration file (ECF) schema version.&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15563</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15563"/>
				<updated>2018-02-09T13:52:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(Patterns): Merge framework patterns into library patterns.&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to support static linking of cURL C library. Allow at compile time to choose between using the shared library version (default so far) or using the static library version (not provided).&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to get a human-readable error string from a given Curl code number.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to support SMTP to send emails.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*Compiler: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*Compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15562</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15562"/>
				<updated>2018-02-09T13:50:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(Patterns): Merge framework patterns into library patterns.&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to static linking of cURL C library.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to get a human-readable error string from a given Curl code number.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to support SMTP to send emails.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*Compiler: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*Compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15560</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15560"/>
				<updated>2018-02-07T21:02:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(Patterns): Merge framework patterns into library patterns.&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to get a human-readable error string from a given Curl code number.&lt;br /&gt;
*library (C_library/cURL): Updated CURL library to support SMTP to send emails.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*EiffelStudio: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15559</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15559"/>
				<updated>2018-02-07T20:58:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(Patterns): Merge framework patterns into library patterns.&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*EiffelStudio: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15558</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15558"/>
				<updated>2018-02-07T20:58:01Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(Patterns): Merge framework patterns into library patters.&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*EiffelStudio: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15557</id>
		<title>EiffelStudio 18.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_18.01_Releases&amp;diff=15557"/>
				<updated>2018-02-07T20:55:50Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 18.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/18.01/&lt;br /&gt;
&lt;br /&gt;
==18.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.&lt;br /&gt;
*compiler: Supported typed manifest arrays of the form &amp;lt;e&amp;gt;{ARRAY [FOO]} &amp;lt;&amp;lt;bar, qux&amp;gt;&amp;gt;&amp;lt;/e&amp;gt; that allow for explicit specification on the array type (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Typed_manifest_array eiffel.org]).&lt;br /&gt;
*compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at [https://www.eiffel.org/doc/version/trunk/eiffel/Manifest%20array#Untyped_manifest_array eiffel.org]).&lt;br /&gt;
*new &amp;quot;JSON Web Token&amp;quot; library `contrib/library/web/authentication/jwt`&lt;br /&gt;
*Added experimental command line tool `eiffel` used to build and launch an Eiffel project directly using the project.ecf file .&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.&lt;br /&gt;
*EiffelStudio: Moved error code in the error list to a dedicated column.&lt;br /&gt;
*EiffelStudio: Supported filtering of error messages by free text.&lt;br /&gt;
*library (Base): Updated &amp;lt;e&amp;gt;CHARACTER_PROPERTIES&amp;lt;/e&amp;gt; to use Unicode 10.0.0 instead of 6.2.0.&lt;br /&gt;
*compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.&lt;br /&gt;
*compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.&lt;br /&gt;
*compiler: Provided precise location in error messages for &amp;lt;code&amp;gt;VPIR(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRLE(1)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VREG&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;VRFA&amp;lt;/code&amp;gt;.&lt;br /&gt;
*compiler, EiffelStudio: Used the preferences of the code analyzer to control when obsolete feature calls are reported by the compiler as warnings that can be suppressed, when as warnings that cannot be suppressed, and when as errors.&lt;br /&gt;
*EiffelStudio: Improved style of the documentation generated with a filter for HTML with stylesheets.&lt;br /&gt;
*library(uri): Improved URI building by handling query name, query value and path segment encoding rules.&lt;br /&gt;
*library(wikitext): Improved the support of mediawiki syntax. Improved the TOC generation.&lt;br /&gt;
*EiffelStudio: Added auto-completion support for manifest values in parenthesis.&lt;br /&gt;
*library(EiffelWeb websocket): Added `on_timer` callback event so that server can check regularly external state.&lt;br /&gt;
*library(EiffelWeb): Introduced the new WSF_COMPRESSION and WSF_*_WITH_COMPRESSION interfaces.&lt;br /&gt;
*library(EiffelWeb): Added routing condition mapping (in addition to uri, uri-template, starts-with, ...).&lt;br /&gt;
*library(EiffelWeb): Added a handler to execute CGI scripts (useful mainly when using standalone connector).&lt;br /&gt;
*library(EiffelWeb): Added support for security protection against XSS injection or other similar threats (see new library wsf_security.ecf).&lt;br /&gt;
*library(EiffelNet): Adopt `nanosecond` as timeout unit precision in EiffelNet (previous `second` unit precision feature are available as obsolete features).&lt;br /&gt;
*library(HAL): Added support for embedded resources, reference fields (among other improvements).&lt;br /&gt;
*library(EiffelNetSSL): Updated to use the new OpenSSL Eiffel Library Wrapper.&lt;br /&gt;
*library(OpenSSL): Added new OpenSSL Eiffel wrapper.&lt;br /&gt;
*library (C_library/cURL): Updated cURL library to version 7_56_1.&lt;br /&gt;
*library (C_library/OpenSSL): Updated OpenSSL library to version 1.1.0f.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.&lt;br /&gt;
*compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., &amp;lt;e&amp;gt;if foo then &amp;quot;bar&amp;quot; else 5 end&amp;lt;/e&amp;gt;).&lt;br /&gt;
*library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by &amp;lt;e&amp;gt;ARGUMENTS_32&amp;lt;/e&amp;gt; started with a white space.&lt;br /&gt;
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.&lt;br /&gt;
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.&lt;br /&gt;
*compiler: bug#15822 (test#valid252), test#valid294, test#valid295 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.&lt;br /&gt;
*library, EiffelStudio: bug#19373 - Fixed a bug that might cause an integer division by zero in &amp;lt;e&amp;gt;{EV_GRID_IMP}.recompute_vertical_scroll_bar&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (Vision): bug#19388 - Fixed a bug that prevented caching images by &amp;lt;e&amp;gt;EV_SCALED_PIXMAP_FACTORY&amp;lt;/e&amp;gt; and increased the number of such images up to 200.&lt;br /&gt;
*library (Vision): Fixed bugs in &amp;lt;e&amp;gt;EV_POSTSCRIPT_DRAWABLE_IMP&amp;lt;/e&amp;gt; that caused generation of invalid postscript: font names are normalized by removing any white space characters, an excessive parenthesis is not generated after the command &amp;quot;show&amp;quot;.&lt;br /&gt;
*EiffelStudio: Fixed a bug that did not allow for pick&amp;amp;drop on non-ASCII alias feature names.&lt;br /&gt;
*EiffelStudio: Fixed a bug that caused identifiers with non-ASCII characters to be displayed incorrectly (with null/empty characters) in a basic text view of the feature tool.&lt;br /&gt;
*EiffelStudio: Used inherited class source code to position a cursor in the editor when navigating to an error reported for the inherited code.&lt;br /&gt;
*EiffelStudio: Avoided copying a feature clause comment from the previous feature clause in the features tool if the comment is absent in the current feature clause.&lt;br /&gt;
*library(crypto): Fixed and improved BASE32 and BASE64 implementation. Added HMAC.base64_digest function. &lt;br /&gt;
*library(http_client): Fixed and improved query and form data encoding (corrected handling of '+', '%20').&lt;br /&gt;
*library(http_client): Fixed file uploading (various issue in libcurl, and net implementation).&lt;br /&gt;
*library(http_client): Fixed form multipart encoding by using correctly the boundary. Added support for multiple file in form data.&lt;br /&gt;
*library(HAL): support unicode name and values in HAL document.&lt;br /&gt;
*library(xml parser): Improved handling of end of input cases, and avoid calling rewind_character when end of input is reached.&lt;br /&gt;
*EiffelStudio: Fixed debugger information persistence for ecf file without any UUID.&lt;br /&gt;
*library(http_client): Fixed support for relative url (from used by `Location: `) and absolute url from `HTTP_REQUEST_SESSION`.&lt;br /&gt;
*EiffelStudio: Fixed support of target settings overwrite (see `-config_option`).&lt;br /&gt;
*library(json): Unescape escaped unicode in unescape_to_string_8 when it represents a valid CHARACTER_8 value.&lt;br /&gt;
*library(EiffelNet): Made EMAIL supporting multiple recipients from `add_*_address` argument.&lt;br /&gt;
*library(eel): Fixed reset implementation of HMAC, SHA1, SHA256 and MD5.&lt;br /&gt;
*compiler: Fixed ECF redirection with location using variable when it is referenced as a library location from another ECF file.&lt;br /&gt;
*library(json): Properly encode null character as \u0000 .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no &amp;lt;tt&amp;gt;VWCE&amp;lt;/tt&amp;gt; error anymore (more details are available at [https://www.eiffel.org/doc/version/trunk/eiffel/Conditional%20expression eiffel.org]).&lt;br /&gt;
*compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.&lt;br /&gt;
*EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;br /&gt;
*library(EiffelNet): now `set_timeout(0)` really sets the timeout to 0 and not to the default timeout (20 seconds).&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_17.05_Releases&amp;diff=15509</id>
		<title>EiffelStudio 17.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_17.05_Releases&amp;diff=15509"/>
				<updated>2017-05-24T12:26:22Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 17.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/17.05/&lt;br /&gt;
&lt;br /&gt;
==17.05.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Add Visual Studio 2017 support for C compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (docking): Docking library is now completely void-safe. Breaking changes: some creation features now require a docking manager object as an argument.&lt;br /&gt;
*compiler: Obsolete calls are detected and reported for features used as binary and unary operators and in conversions.&lt;br /&gt;
*compiler: Messages about obsolete calls provide information about source code location.&lt;br /&gt;
*EiffelStudio (inspector): Obsolete messages are checked for presence of a date in format [&amp;lt;code&amp;gt;yyyy-mm-dd&amp;lt;/code&amp;gt;] that tells when the feature is considered obsolete and call to it should be removed. If the date is not specified, a warning is reported and a default value [&amp;lt;code&amp;gt;2017-05-31&amp;lt;/code&amp;gt;] is used.&lt;br /&gt;
*EiffelStudio (inspector): Obsolete calls are detected and reported with different severity levels depending on the message date:&lt;br /&gt;
*: suggestion - in the future&lt;br /&gt;
*: warning - less than 1 year old&lt;br /&gt;
*: error - more than 1 year old&lt;br /&gt;
*EiffelStudio (inspector): Obsolete features reported with different severity levels depending on the message date:&lt;br /&gt;
*: nothing - less than 1.5 year old&lt;br /&gt;
*: warning - more than 1.5 year old&lt;br /&gt;
*EiffelStudio error and warning tree is always expanded showing the first N errors, by default N=1.&lt;br /&gt;
*EiffelStudio: Added contextual menu to restore: recently closed tabs.&lt;br /&gt;
*compiler: Improved performance of object initialization checks in complete void safe mode when a class has hundreds of attributes and features (including inherited ones).&lt;br /&gt;
*library: Updated libraries and examples included with EiffelStudio installation to avoid obsolete feature calls.&lt;br /&gt;
*EiffelStudio (IDE): arguments and local variables are pickable (P&amp;amp;D: you can pick the associated stone, and drop it in editor). Note: for now only normal feature locals are supported.&lt;br /&gt;
*library (cms): Improved the CMS library with&lt;br /&gt;
*library (EiffelWeb/wsf): Fixed computation of path info, in extreme condition.&lt;br /&gt;
*library (uri): improved path and query url encoding, supported various exceptions.&lt;br /&gt;
*library (http_client): fixed query and url encoded form-data generation, to follow RFC.&lt;br /&gt;
*: fixed port number support for EiffelNet implementation.&lt;br /&gt;
*: fixed redirection behavior, should follow only for 3** status code.&lt;br /&gt;
*: Allow forcing multipart/form-data or application/x-www-form-urlencoded to choose how the form data should be sent.&lt;br /&gt;
*library (json): Added JSON_VALUE.is_string, is_number, ..., is_null boolean queries for convenience.&lt;br /&gt;
*library (crypto): Fixed and improved BASE32 and BASE64 implementation.&lt;br /&gt;
*library (wikitext): Improved support for wiki table and wiki images.&lt;br /&gt;
*library (cms): many improvements and additions&lt;br /&gt;
*: splitted administration pages from main site page.&lt;br /&gt;
*: improved editing workflow, with better control on (un)published entries.&lt;br /&gt;
*: added sitemap generation&lt;br /&gt;
*: added notion of author vs editor (WARNING: requires database update)&lt;br /&gt;
*: added support for Google Custom Search 2.0&lt;br /&gt;
*: format can be customized with available filters.&lt;br /&gt;
*: feed aggregation: added possibility to embed view, added possibility to order by date.&lt;br /&gt;
*: new messaging module to send message to web site users.&lt;br /&gt;
*: added support for profile name, in addition to standard user name (so now, for security, username can be hidden from posts)&lt;br /&gt;
*library (C_library/png): Updated libpng library to version 1.6.28&lt;br /&gt;
*library (C_library/zlib): Updated zlib library to version 1.2.11 &lt;br /&gt;
*library (base): Added new creation procedure `{*_STRING_8}.make_from_c_substring (...)`&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: bug#19333 (test#melt110) - Fixed a bug that caused melted code to fail when it had a call to &amp;lt;e&amp;gt;{CHARACTER_32}.is_character_8&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): test#reflection010 - Fixed a postcondition &amp;lt;code&amp;gt;dynamic_type_set&amp;lt;/code&amp;gt; of the feature &amp;lt;e&amp;gt;{REFLECTOR}.new_instance_of&amp;lt;/e&amp;gt; that did not take into account a possibility that the supplied type ID may have an attachment mark.&lt;br /&gt;
*library (vision): - Fixed a precondition violation that may be triggered by dropping selected file names on Windows into a Vision widget.&lt;br /&gt;
*library (base): bug#19277 (test#lib044) - Fixed bugs in traversal of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; using &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt; cursors when some elements are removed: incorrect evaluation of &amp;lt;e&amp;gt;cursor_index&amp;lt;/e&amp;gt; that may cause a postcondition violation when advancing to the next item, incorrect backward traversal that may produce spurious items.&lt;br /&gt;
*compiler: test#attach124, test#attach125, test#attach126 - Fixed a bug that might lead to a call on void target in a completely void-safe program if newly created objects are created, passed to once functions and are returned as their result but then fail to finish their initialization because of an exception.&lt;br /&gt;
*EiffelStudio: bug#19336 - Fixed a bug that might cause a crash when Windows drag and drop mechanism is used to a drop a file name to the IDE when no project is open.&lt;br /&gt;
*compiler: test#attach127 - Fixed a bug that might cause access on void target in a completely void-safe application that passes an incompletely initialized object inside an expanded argument to a creation procedure that makes a qualified call on the incompletely initialized object.&lt;br /&gt;
*compiler: test#attach045 - Fixed a bug that might lead to undetected void safety issue when compiling in complete void safety mode and there is a test that an argument or a stable attribute is not void in an inherited precondition. Now attachment status of these variables does not depend on preconditions.&lt;br /&gt;
*library: test#lib045 - Fixed a bug in &amp;lt;e&amp;gt;HEXADECIMAL_STRING_TO_INTEGER_CONVERTER&amp;lt;/e&amp;gt; that caused incorrect processing of negative numbers when requested type was (a sized variant of) &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*compiler: test#codeanalysis025 - Fixed a bug that might cause code analyzer to finish with an error when checks involve inline agents or built-in features.&lt;br /&gt;
*run-time: test#scoop080 - Fixed a bug that might cause evaluation of a class invariant on a separate object before executing its creation procedure body.&lt;br /&gt;
*run-time: test#store045 - Allowed retrieval of old storables containing agent objects (PROCEDURE/FUNCTION or PREDICATE) when they still had an extra first generic parameter in version 15.08 and older, or before the change of internal representation in version 14.05.&lt;br /&gt;
*compiler: test#scoop081 - Fixed a bug that might cause infinite recursion when evaluating preconditions with agents in SCOOP mode when the system is frozen or finalized.&lt;br /&gt;
*library: scoop_patterns - Fixed inline C code that used a run-time macro that was renamed earlier.&lt;br /&gt;
*library: pcre - Fixed postconditions that used reference comparison instead of string value comparison to compare arguments with attributes initialized with the argument values.&lt;br /&gt;
*library (thread)/run-time: bug#19356 (test#thread025) - Fixed a bug that might cause incorrect behavior during thread termination if attribute &amp;lt;e&amp;gt;terminated&amp;lt;/e&amp;gt; of class &amp;lt;e&amp;gt;THREAD&amp;lt;/e&amp;gt; is renamed in a descendant.&lt;br /&gt;
*EiffelStudio (editor): fixed completion when inline agent or inline separate are before the cursor.&lt;br /&gt;
*EiffelStudio (IDE): fixed issue when importing EiffelStudio layout (also concerns previous settings importation).&lt;br /&gt;
*EiffelStudio (compiler): fixed tracing support, now the tracing starts from the beginning of the execution (as expected).&lt;br /&gt;
*library (json): Fixed parsing of integer 64 value (when it is not an integer 32).&lt;br /&gt;
*c_compilation: Enabled C compilation on Windows of code using winsock2 (See message to user's list for more detail).&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (docking): Some creation procedures in the Docking library now require a docking manager object as an argument.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_17.05_Releases&amp;diff=15508</id>
		<title>EiffelStudio 17.05 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_17.05_Releases&amp;diff=15508"/>
				<updated>2017-05-24T12:25:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* Improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 17.05.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/17.05/&lt;br /&gt;
&lt;br /&gt;
==17.05.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
* studio: Add Visual Studio 2017 support for C compilation.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*library (docking): Docking library is now completely void-safe. Breaking changes: some creation features now require a docking manager object as an argument.&lt;br /&gt;
*compiler: Obsolete calls are detected and reported for features used as binary and unary operators and in conversions.&lt;br /&gt;
*compiler: Messages about obsolete calls provide information about source code location.&lt;br /&gt;
*EiffelStudio (inspector): Obsolete messages are checked for presence of a date in format [&amp;lt;code&amp;gt;yyyy-mm-dd&amp;lt;/code&amp;gt;] that tells when the feature is considered obsolete and call to it should be removed. If the date is not specified, a warning is reported and a default value [&amp;lt;code&amp;gt;2017-05-31&amp;lt;/code&amp;gt;] is used.&lt;br /&gt;
*EiffelStudio (inspector): Obsolete calls are detected and reported with different severity levels depending on the message date:&lt;br /&gt;
*: suggestion - in the future&lt;br /&gt;
*: warning - less than 1 year old&lt;br /&gt;
*: error - more than 1 year old&lt;br /&gt;
*EiffelStudio (inspector): Obsolete features reported with different severity levels depending on the message date:&lt;br /&gt;
*: nothing - less than 1.5 year old&lt;br /&gt;
*: warning - more than 1.5 year old&lt;br /&gt;
*EiffelStudio error and warning tree is always expanded showing the first N errors, by default N=1.&lt;br /&gt;
*EiffelStudio: Added contextual menu to restore: recently closed tabs.&lt;br /&gt;
*compiler: Improved performance of object initialization checks in complete void safe mode when a class has hundreds of attributes and features (including inherited ones).&lt;br /&gt;
*library: Updated libraries and examples included with EiffelStudio installation to avoid obsolete feature calls.&lt;br /&gt;
*EiffelStudio (IDE): arguments and local variables are pickable (P&amp;amp;D: you can pick the associated stone, and drop it in editor). Note: for now only normal feature locals are supported.&lt;br /&gt;
*library (cms): Improved the CMS library with&lt;br /&gt;
*library (EiffelWeb/wsf): Fixed computation of path info, in extreme condition.&lt;br /&gt;
*library (uri): improved path and query url encoding, supported various exceptions.&lt;br /&gt;
*library (http_client): fixed query and url encoded form-data generation, to follow RFC.&lt;br /&gt;
*: fixed port number support for EiffelNet implementation.&lt;br /&gt;
*: fixed redirection behavior, should follow only for 3** status code.&lt;br /&gt;
*: Allow forcing multipart/form-data or application/x-www-form-urlencoded to choose how the form data should be sent.&lt;br /&gt;
*library (json): Added JSON_VALUE.is_string, is_number, ..., is_null boolean queries for convenience.&lt;br /&gt;
*library (crypto): Fixed and improved BASE32 and BASE64 implementation.&lt;br /&gt;
*library (wikitext): Improved support for wiki table and wiki images.&lt;br /&gt;
*library (cms): many improvements and additions&lt;br /&gt;
*: splitted administration pages from main site page.&lt;br /&gt;
*: improved editing workflow, with better control on (un)published entries.&lt;br /&gt;
*: added sitemap generation&lt;br /&gt;
*: added notion of author vs editor (WARNING: requires database update)&lt;br /&gt;
*: added support for Google Custom Search 2.0&lt;br /&gt;
*: format can be customized with available filters.&lt;br /&gt;
*: feed aggregation: added possibility to embed view, added possibility to order by date.&lt;br /&gt;
*: new messaging module to send message to web site users.&lt;br /&gt;
*: added support for profile name, in addition to standard user name (so now, for security, username can be hidden from posts)&lt;br /&gt;
*:library (C_library/png): Updated libpng library to version 1.6.28&lt;br /&gt;
*:library (C_library/zlib): Updated zlib library to version 1.2.11 &lt;br /&gt;
*library (base): Added new creation procedure `{*_STRING_8}.make_from_c_substring (...)`&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*compiler: bug#19333 (test#melt110) - Fixed a bug that caused melted code to fail when it had a call to &amp;lt;e&amp;gt;{CHARACTER_32}.is_character_8&amp;lt;/e&amp;gt;.&lt;br /&gt;
*library (base): test#reflection010 - Fixed a postcondition &amp;lt;code&amp;gt;dynamic_type_set&amp;lt;/code&amp;gt; of the feature &amp;lt;e&amp;gt;{REFLECTOR}.new_instance_of&amp;lt;/e&amp;gt; that did not take into account a possibility that the supplied type ID may have an attachment mark.&lt;br /&gt;
*library (vision): - Fixed a precondition violation that may be triggered by dropping selected file names on Windows into a Vision widget.&lt;br /&gt;
*library (base): bug#19277 (test#lib044) - Fixed bugs in traversal of &amp;lt;e&amp;gt;HASH_TABLE&amp;lt;/e&amp;gt; using &amp;lt;e&amp;gt;ITERABLE&amp;lt;/e&amp;gt; cursors when some elements are removed: incorrect evaluation of &amp;lt;e&amp;gt;cursor_index&amp;lt;/e&amp;gt; that may cause a postcondition violation when advancing to the next item, incorrect backward traversal that may produce spurious items.&lt;br /&gt;
*compiler: test#attach124, test#attach125, test#attach126 - Fixed a bug that might lead to a call on void target in a completely void-safe program if newly created objects are created, passed to once functions and are returned as their result but then fail to finish their initialization because of an exception.&lt;br /&gt;
*EiffelStudio: bug#19336 - Fixed a bug that might cause a crash when Windows drag and drop mechanism is used to a drop a file name to the IDE when no project is open.&lt;br /&gt;
*compiler: test#attach127 - Fixed a bug that might cause access on void target in a completely void-safe application that passes an incompletely initialized object inside an expanded argument to a creation procedure that makes a qualified call on the incompletely initialized object.&lt;br /&gt;
*compiler: test#attach045 - Fixed a bug that might lead to undetected void safety issue when compiling in complete void safety mode and there is a test that an argument or a stable attribute is not void in an inherited precondition. Now attachment status of these variables does not depend on preconditions.&lt;br /&gt;
*library: test#lib045 - Fixed a bug in &amp;lt;e&amp;gt;HEXADECIMAL_STRING_TO_INTEGER_CONVERTER&amp;lt;/e&amp;gt; that caused incorrect processing of negative numbers when requested type was (a sized variant of) &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt;.&lt;br /&gt;
*compiler: test#codeanalysis025 - Fixed a bug that might cause code analyzer to finish with an error when checks involve inline agents or built-in features.&lt;br /&gt;
*run-time: test#scoop080 - Fixed a bug that might cause evaluation of a class invariant on a separate object before executing its creation procedure body.&lt;br /&gt;
*run-time: test#store045 - Allowed retrieval of old storables containing agent objects (PROCEDURE/FUNCTION or PREDICATE) when they still had an extra first generic parameter in version 15.08 and older, or before the change of internal representation in version 14.05.&lt;br /&gt;
*compiler: test#scoop081 - Fixed a bug that might cause infinite recursion when evaluating preconditions with agents in SCOOP mode when the system is frozen or finalized.&lt;br /&gt;
*library: scoop_patterns - Fixed inline C code that used a run-time macro that was renamed earlier.&lt;br /&gt;
*library: pcre - Fixed postconditions that used reference comparison instead of string value comparison to compare arguments with attributes initialized with the argument values.&lt;br /&gt;
*library (thread)/run-time: bug#19356 (test#thread025) - Fixed a bug that might cause incorrect behavior during thread termination if attribute &amp;lt;e&amp;gt;terminated&amp;lt;/e&amp;gt; of class &amp;lt;e&amp;gt;THREAD&amp;lt;/e&amp;gt; is renamed in a descendant.&lt;br /&gt;
*EiffelStudio (editor): fixed completion when inline agent or inline separate are before the cursor.&lt;br /&gt;
*EiffelStudio (IDE): fixed issue when importing EiffelStudio layout (also concerns previous settings importation).&lt;br /&gt;
*EiffelStudio (compiler): fixed tracing support, now the tracing starts from the beginning of the execution (as expected).&lt;br /&gt;
*library (json): Fixed parsing of integer 64 value (when it is not an integer 32).&lt;br /&gt;
*c_compilation: Enabled C compilation on Windows of code using winsock2 (See message to user's list for more detail).&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*library (docking): Some creation procedures in the Docking library now require a docking manager object as an argument.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_17.01_Releases&amp;diff=15489</id>
		<title>EiffelStudio 17.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_17.01_Releases&amp;diff=15489"/>
				<updated>2017-03-21T13:47:11Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* EiffelStudio 17.01.x Releases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 17.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/17.01/&lt;br /&gt;
&lt;br /&gt;
==17.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*library: Supported a version of a process library (used to launch external processes) for single-threaded environments. It differs from the full-fledged version by absence of wait for process termination with timeout (no &amp;lt;e&amp;gt;wait_for_exit_with_timeout&amp;lt;/e&amp;gt;), asynchronous writing to child process standard input (&amp;lt;e&amp;gt;put_string&amp;lt;/e&amp;gt; is blocking) and reading from child process standard output and error streams (redirection to agents is not supported). Performance-wise, a combination of &amp;lt;e&amp;gt;{BASE_PROCESS}.launch&amp;lt;/e&amp;gt;/&amp;lt;e&amp;gt;{BASE_PROCESS}.wait_for_exit&amp;lt;/e&amp;gt; runs faster than a call to &amp;lt;e&amp;gt;{EXECUTION_ENVIRONMENT}.system&amp;lt;/e&amp;gt;.&lt;br /&gt;
*EiffelStudio: Added a notion of capabilities that allows for specifying what settings a particular library is capable of. At the moment the settings include ''cat-call detection'', ''concurrency'' and ''void safety''. A project or a library with a specific setting cannot rely on a library with insufficient capabilities. Current ordering of capabilities is&lt;br /&gt;
**CAT-call detection: None &amp;lt; Transitional &amp;lt; Complete&lt;br /&gt;
**Concurrency: Thread &amp;lt; None &amp;lt; SCOOP&lt;br /&gt;
**Void safety: None &amp;lt; Conformance &amp;lt; Initialization &amp;lt; Transitional &amp;lt; Complete&lt;br /&gt;
:A project with a higher level of capabilities cannot rely on a library with a lower level. A project with a specific capability can be compiled using a lower level of this capability.&lt;br /&gt;
*EiffelStudio: Added new Import settings dialog. It is shown when a new version of EiffelStudio is launched for the first time, and available at any time from menu &amp;lt;code&amp;gt;Tools &amp;gt; Import Settings&amp;lt;/code&amp;gt;.&lt;br /&gt;
*EiffelStudio: Added code templates functionality. Using code completion, it is possible to insert predefined code template as-is or modify them as necessary. User can as well create his own templates (custom templates).&lt;br /&gt;
*EiffelStudio: Added a new feature to open/restore recently closed Tabs using the shortcut CTRL + SHIFT + T.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Configuration option ''&amp;quot;Are types attached by default?&amp;quot;'' defaults to ''True'' when reading non-void-safe projects so that if the project is changed to be void-safe, the recommended default for attachment status of class types without marks is used.&lt;br /&gt;
*compiler: Supported nested inlining of a selected set of features from &amp;lt;e&amp;gt;SPECIAL&amp;lt;/e&amp;gt; in finalized mode: &amp;lt;e&amp;gt;base_address&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;clear_all&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;copy_data&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;count&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;item&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;overlapping_move&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;non_overlapping_move&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;put&amp;lt;/e&amp;gt;.&lt;br /&gt;
*compiler: Fix crash in melted code when calling &amp;lt;e&amp;gt;{TYPE}.is_attached&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;{TYPE}.is_expanded&amp;lt;/e&amp;gt;.&lt;br /&gt;
*Library (Base): Add ability to change the start position when storing/retrieving using a &amp;lt;e&amp;gt;SED_MEMORY_READER_WRITER&amp;lt;/e&amp;gt;.&lt;br /&gt;
*Library (Base): Add &amp;lt;e&amp;gt;{TYPE}.is_deferred&amp;lt;/e&amp;gt; and use this in &amp;lt;e&amp;gt;{REFLECTOR}.new_instance_of&amp;lt;/e&amp;gt; to avoid creating abstract type at runtime.&lt;br /&gt;
*Library (Base): Refactored &amp;lt;e&amp;gt;RT_DEBUGGER&amp;lt;/e&amp;gt; with breaking changes: &amp;lt;e&amp;gt;rt_worbench_for_for_debugger&amp;lt;/e&amp;gt; renamed into &amp;lt;e&amp;gt;wait_for_debugger&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;discard_debug&amp;lt;/e&amp;gt; into &amp;lt;e&amp;gt;disable_debug&amp;lt;/e&amp;gt;.&lt;br /&gt;
*EiffelStudio: Grouped options in target/library/precompile/cluster/class tabs in ''Project settings'' dialog in sections by their purpose.&lt;br /&gt;
*EiffelStudio: Supported multiline descriptions in an option tab of ''Project settings'' dialog and in ''Customized formatters'' dialog.&lt;br /&gt;
*EiffelStudio: Changed how the debugger objects tool displays the Result value, now it does not have any parent row.&lt;br /&gt;
*Compile_all: Added ISE_COMPILE_ALL_FLAGS environment variable support to the compile_all tool (its value is added to compile_all command line arguments).&lt;br /&gt;
*Compile_all: now are excluded ecf redirection files from recursive scope.&lt;br /&gt;
*Library (Net): Added receive and send timeout.&lt;br /&gt;
*Library (Net): Added C functions to use socket functions without raising exception on I/O networking error.&lt;br /&gt;
*Library (EiffelWeb/EWF): Changed the standalone connector implementation to avoid raising exception for any networking error (it brings better debugger experience).&lt;br /&gt;
*Library (EiffelWeb/EWF): Added new websocket standalone connector to be able to build within the same processor a web service and a websocket service.&lt;br /&gt;
*Library (EiffelWeb/EWF): Change the networking programing in EiffelWeb components, to benefit from recent improvements on EiffelNet.&lt;br /&gt;
*Library (EiffelWeb/EWF): Added finer control on standalone connector. It is now possible to fine tune the standalone connector (concurrent settings, timeout values, ...)&lt;br /&gt;
*Library (json): Added new JSON serialization solution under &amp;lt;code&amp;gt;$ISE_LIBRARY/contrib/library/text/parser/json/library/serialization&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
*EiffelStudio: Removed option ''&amp;quot;Are types attached by default?&amp;quot;'' from project settings dialog. Potential incompatibility: old Eiffel configuration files (ECF) that rely on &amp;quot;class types are detachable by default&amp;quot; policy and migrate to &amp;quot;attached by default&amp;quot; policy will need to be changed directly by editing the file, not from EiffelStudio.&lt;br /&gt;
*library: Removed support for automatic retrieval of data by &amp;lt;e&amp;gt;SED_STORABLE_FACILITIES&amp;lt;/e&amp;gt; using &amp;lt;e&amp;gt;SED_INDEPENDENT_DESERIALIZER&amp;lt;/e&amp;gt; that was obsolete for several releases. &amp;lt;e&amp;gt;SED_INDEPENDENT_DESERIALIZER&amp;lt;/e&amp;gt; will be removed from the library in a later release.&lt;br /&gt;
*EiffelStudio: Removed a possibility to set void safety level for a specific class or cluster, it can be done only for a whole library or project.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*runtime: Fixed a bug in the CECIL macro &amp;lt;code lang=&amp;quot;c&amp;quot;&amp;gt;eif_attribute_type&amp;lt;/code&amp;gt; that always returned &amp;lt;code lang=&amp;quot;c&amp;quot;&amp;gt;EIF_POINTER_TYPE&amp;lt;/code&amp;gt; instead of the type code corresponding to the actual attribute type.&lt;br /&gt;
*library (Net): Properly handle &amp;lt;code&amp;gt;BCC&amp;lt;/code&amp;gt; recipients by really hiding them.&lt;br /&gt;
*compiler: Fix C compilation errors when using the profiler in final mode on strict C compilers (fix bug#19193 and eweasel test#final16, test#ccomp070)&lt;br /&gt;
*compiler: test#melt108, test#melt109 - Fixed a bug that led to an incorrect type of a boxed object of a sized variant of &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt; obtained as a result of two reattachments: manifest constant to a variable of this &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt; type and this variable to a reference entity.&lt;br /&gt;
*compiler: bug#19264 (test#attach121) - Fixed a bug that caused an exception trace when reporting a bug about uninitialized attributes for an inline agent in presence of other bug reports.&lt;br /&gt;
*runtime: bug#18952 (test#melt106) - Fixed a bug that might cause a program crash in a precondition with an object test with an explicitly specified expanded type.&lt;br /&gt;
*library (Base): bug#19278 (test#store044) - Fixed a bug that might cause failure to retrieve objects stored by a different system if some reference attributes or &amp;lt;e&amp;gt;SPECIAL&amp;lt;/e&amp;gt; storage were attached to expanded objects.&lt;br /&gt;
*compiler: test#attach122 - Fixed a regression bug that might cause incorrect optimization of an object test when its expression is a local variable declared as attached or a result of a feature of an attached type leading to access on void target during execution.&lt;br /&gt;
*compiler: test#attach123 - Avoided optimizing away object tests when their expressions are of attached types unless the whole system is compiled in complete void safety mode.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*library: Marked &amp;lt;e&amp;gt;{ANY}.as_attached&amp;lt;/e&amp;gt; as obsolete to simplify removal of calls to it when transition to void-safe code is finished.&lt;br /&gt;
*compiler: Changing a concurrency setting for a compiled project causes a compiler error instead of a warning.&lt;br /&gt;
*EiffelStudio: Updated the shortcut to display the text view in the editor (Basic text view) to CTRL + SHIFT + B instead of CTRL + SHIFT + T.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=EiffelStudio_17.01_Releases&amp;diff=15488</id>
		<title>EiffelStudio 17.01 Releases</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=EiffelStudio_17.01_Releases&amp;diff=15488"/>
				<updated>2017-03-21T13:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: /* New features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Releases]]__NOTOC__{{ReleaseHistoryHeader}}&lt;br /&gt;
&lt;br /&gt;
= EiffelStudio 17.01.x Releases=&lt;br /&gt;
&lt;br /&gt;
Beta download: https://ftp.eiffel.com/pub/beta/17.01/&lt;br /&gt;
&lt;br /&gt;
==17.01.x.x==&lt;br /&gt;
&lt;br /&gt;
===New features===&lt;br /&gt;
*library: Supported a version of a process library (used to launch external processes) for single-threaded environments. It differs from the full-fledged version by absence of wait for process termination with timeout (no &amp;lt;e&amp;gt;wait_for_exit_with_timeout&amp;lt;/e&amp;gt;), asynchronous writing to child process standard input (&amp;lt;e&amp;gt;put_string&amp;lt;/e&amp;gt; is blocking) and reading from child process standard output and error streams (redirection to agents is not supported). Performance-wise, a combination of &amp;lt;e&amp;gt;{BASE_PROCESS}.launch&amp;lt;/e&amp;gt;/&amp;lt;e&amp;gt;{BASE_PROCESS}.wait_for_exit&amp;lt;/e&amp;gt; runs faster than a call to &amp;lt;e&amp;gt;{EXECUTION_ENVIRONMENT}.system&amp;lt;/e&amp;gt;.&lt;br /&gt;
*EiffelStudio: Added a notion of capabilities that allows for specifying what settings a particular library is capable of. At the moment the settings include ''cat-call detection'', ''concurrency'' and ''void safety''. A project or a library with a specific setting cannot rely on a library with insufficient capabilities. Current ordering of capabilities is&lt;br /&gt;
**CAT-call detection: None &amp;lt; Transitional &amp;lt; Complete&lt;br /&gt;
**Concurrency: Thread &amp;lt; None &amp;lt; SCOOP&lt;br /&gt;
**Void safety: None &amp;lt; Conformance &amp;lt; Initialization &amp;lt; Transitional &amp;lt; Complete&lt;br /&gt;
:A project with a higher level of capabilities cannot rely on a library with a lower level. A project with a specific capability can be compiled using a lower level of this capability.&lt;br /&gt;
*EiffelStudio: Added new Import settings dialog. It is shown when a new version of EiffelStudio is launched for the first time, and available at any time from menu &amp;lt;code&amp;gt;Tools &amp;gt; Import Settings&amp;lt;/code&amp;gt;.&lt;br /&gt;
*EiffelStudio: Added code templates functionality. Using code completion, it is possible to insert predefined code template as-is or modify them as necessary. User can as well create his own templates (custom templates).&lt;br /&gt;
*EiffelStudio: Added a new feature to open/restore recently closed Tabs using the shortcut CTRL + SHIFT + T.&lt;br /&gt;
*EiffelStudio: Updated the shortcut to display the text view in the editor (Basic text view) to CTRL + SHIFT + B instead of CTRL + SHIFT + T.&lt;br /&gt;
&lt;br /&gt;
===Improvements===&lt;br /&gt;
*EiffelStudio: Configuration option ''&amp;quot;Are types attached by default?&amp;quot;'' defaults to ''True'' when reading non-void-safe projects so that if the project is changed to be void-safe, the recommended default for attachment status of class types without marks is used.&lt;br /&gt;
*compiler: Supported nested inlining of a selected set of features from &amp;lt;e&amp;gt;SPECIAL&amp;lt;/e&amp;gt; in finalized mode: &amp;lt;e&amp;gt;base_address&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;clear_all&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;copy_data&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;count&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;item&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;overlapping_move&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;non_overlapping_move&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;put&amp;lt;/e&amp;gt;.&lt;br /&gt;
*compiler: Fix crash in melted code when calling &amp;lt;e&amp;gt;{TYPE}.is_attached&amp;lt;/e&amp;gt;, &amp;lt;e&amp;gt;{TYPE}.is_expanded&amp;lt;/e&amp;gt;.&lt;br /&gt;
*Library (Base): Add ability to change the start position when storing/retrieving using a &amp;lt;e&amp;gt;SED_MEMORY_READER_WRITER&amp;lt;/e&amp;gt;.&lt;br /&gt;
*Library (Base): Add &amp;lt;e&amp;gt;{TYPE}.is_deferred&amp;lt;/e&amp;gt; and use this in &amp;lt;e&amp;gt;{REFLECTOR}.new_instance_of&amp;lt;/e&amp;gt; to avoid creating abstract type at runtime.&lt;br /&gt;
*Library (Base): Refactored &amp;lt;e&amp;gt;RT_DEBUGGER&amp;lt;/e&amp;gt; with breaking changes: &amp;lt;e&amp;gt;rt_worbench_for_for_debugger&amp;lt;/e&amp;gt; renamed into &amp;lt;e&amp;gt;wait_for_debugger&amp;lt;/e&amp;gt; and &amp;lt;e&amp;gt;discard_debug&amp;lt;/e&amp;gt; into &amp;lt;e&amp;gt;disable_debug&amp;lt;/e&amp;gt;.&lt;br /&gt;
*EiffelStudio: Grouped options in target/library/precompile/cluster/class tabs in ''Project settings'' dialog in sections by their purpose.&lt;br /&gt;
*EiffelStudio: Supported multiline descriptions in an option tab of ''Project settings'' dialog and in ''Customized formatters'' dialog.&lt;br /&gt;
*EiffelStudio: Changed how the debugger objects tool displays the Result value, now it does not have any parent row.&lt;br /&gt;
*Compile_all: Added ISE_COMPILE_ALL_FLAGS environment variable support to the compile_all tool (its value is added to compile_all command line arguments).&lt;br /&gt;
*Compile_all: now are excluded ecf redirection files from recursive scope.&lt;br /&gt;
*Library (Net): Added receive and send timeout.&lt;br /&gt;
*Library (Net): Added C functions to use socket functions without raising exception on I/O networking error.&lt;br /&gt;
*Library (EiffelWeb/EWF): Changed the standalone connector implementation to avoid raising exception for any networking error (it brings better debugger experience).&lt;br /&gt;
*Library (EiffelWeb/EWF): Added new websocket standalone connector to be able to build within the same processor a web service and a websocket service.&lt;br /&gt;
*Library (EiffelWeb/EWF): Change the networking programing in EiffelWeb components, to benefit from recent improvements on EiffelNet.&lt;br /&gt;
*Library (EiffelWeb/EWF): Added finer control on standalone connector. It is now possible to fine tune the standalone connector (concurrent settings, timeout values, ...)&lt;br /&gt;
*Library (json): Added new JSON serialization solution under &amp;lt;code&amp;gt;$ISE_LIBRARY/contrib/library/text/parser/json/library/serialization&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Feature removed===&lt;br /&gt;
*EiffelStudio: Removed option ''&amp;quot;Are types attached by default?&amp;quot;'' from project settings dialog. Potential incompatibility: old Eiffel configuration files (ECF) that rely on &amp;quot;class types are detachable by default&amp;quot; policy and migrate to &amp;quot;attached by default&amp;quot; policy will need to be changed directly by editing the file, not from EiffelStudio.&lt;br /&gt;
*library: Removed support for automatic retrieval of data by &amp;lt;e&amp;gt;SED_STORABLE_FACILITIES&amp;lt;/e&amp;gt; using &amp;lt;e&amp;gt;SED_INDEPENDENT_DESERIALIZER&amp;lt;/e&amp;gt; that was obsolete for several releases. &amp;lt;e&amp;gt;SED_INDEPENDENT_DESERIALIZER&amp;lt;/e&amp;gt; will be removed from the library in a later release.&lt;br /&gt;
*EiffelStudio: Removed a possibility to set void safety level for a specific class or cluster, it can be done only for a whole library or project.&lt;br /&gt;
&lt;br /&gt;
===Bug fixes===&lt;br /&gt;
*runtime: Fixed a bug in the CECIL macro &amp;lt;code lang=&amp;quot;c&amp;quot;&amp;gt;eif_attribute_type&amp;lt;/code&amp;gt; that always returned &amp;lt;code lang=&amp;quot;c&amp;quot;&amp;gt;EIF_POINTER_TYPE&amp;lt;/code&amp;gt; instead of the type code corresponding to the actual attribute type.&lt;br /&gt;
*library (Net): Properly handle &amp;lt;code&amp;gt;BCC&amp;lt;/code&amp;gt; recipients by really hiding them.&lt;br /&gt;
*compiler: Fix C compilation errors when using the profiler in final mode on strict C compilers (fix bug#19193 and eweasel test#final16, test#ccomp070)&lt;br /&gt;
*compiler: test#melt108, test#melt109 - Fixed a bug that led to an incorrect type of a boxed object of a sized variant of &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt; obtained as a result of two reattachments: manifest constant to a variable of this &amp;lt;e&amp;gt;NATURAL&amp;lt;/e&amp;gt; type and this variable to a reference entity.&lt;br /&gt;
*compiler: bug#19264 (test#attach121) - Fixed a bug that caused an exception trace when reporting a bug about uninitialized attributes for an inline agent in presence of other bug reports.&lt;br /&gt;
*runtime: bug#18952 (test#melt106) - Fixed a bug that might cause a program crash in a precondition with an object test with an explicitly specified expanded type.&lt;br /&gt;
*library (Base): bug#19278 (test#store044) - Fixed a bug that might cause failure to retrieve objects stored by a different system if some reference attributes or &amp;lt;e&amp;gt;SPECIAL&amp;lt;/e&amp;gt; storage were attached to expanded objects.&lt;br /&gt;
*compiler: test#attach122 - Fixed a regression bug that might cause incorrect optimization of an object test when its expression is a local variable declared as attached or a result of a feature of an attached type leading to access on void target during execution.&lt;br /&gt;
*compiler: test#attach123 - Avoided optimizing away object tests when their expressions are of attached types unless the whole system is compiled in complete void safety mode.&lt;br /&gt;
&lt;br /&gt;
===User changes===&lt;br /&gt;
*library: Marked &amp;lt;e&amp;gt;{ANY}.as_attached&amp;lt;/e&amp;gt; as obsolete to simplify removal of calls to it when transition to void-safe code is finished.&lt;br /&gt;
*compiler: Changing a concurrency setting for a compiled project causes a compiler error instead of a warning.&lt;br /&gt;
&lt;br /&gt;
===Developer changes===&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:RosettaCode_Balanced_Brackets&amp;diff=14560</id>
		<title>Talk:RosettaCode Balanced Brackets</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:RosettaCode_Balanced_Brackets&amp;diff=14560"/>
				<updated>2012-10-05T13:55:23Z</updated>
		
		<summary type="html">&lt;p&gt;Jvelilla: GitHub https://github.com/eiffelhub/RosettaCode,&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I want let you know this github repo https://github.com/eiffelhub/RosettaCode, I think that should be great to include all these examples. &lt;br /&gt;
/Javier&lt;/div&gt;</summary>
		<author><name>Jvelilla</name></author>	</entry>

	</feed>