[[Property:title|Major changes between ISE Eiffel 13.11 and ISE Eiffel 14.05]]
[[Property:link_title|14.05]]
[[Property:weight|8]]
[[Property:uuid|a901f880-4f88-f889-4880-d3687b6939b1]]
==What's new==
* Syntax warnings are now reported for unsupported empty lists such as (), or [], or {}, as well as an empty export clause `export {NONE} end'.
* Added ability to extract the file location of a class in interactive mode.

==Improvements==
* Made workbench code more compact and faster by about 5 to 9% on average.
* Improved memory tool to list all fields of an object.
* Better command line usage that will report why the command line is incorrect instead of displaying the whole help.
* Compiler is now more robust if some required routines/classes are not found as expected by the compiler. It will now report a Library_error error instead of failing.
* Now the compiler reports all VWEQ warnings as before it was only doing it if you were comparing an expanded with a reference.

==Changes==
* In circa 2000, we allowed $x and $(expr) as expression instead of just argument passing. But while this was good for just $x, $(expr) is actually not supported properly in the code generation. In 14.05, we have disallowed $(expr) outside argument passing.
* In workbench mode, if the melted file cannot be found, instead of exiting the application, the application will run as if it had never been melted and will instead print a warning in the console.

==Bug fixes==

===Language issues===

===Compiler issues===
* test#anchor071 - Fixed computation of a qualified anchored type that involves a formal generic parameter and feature redeclaration in a descendant of the formal generic constraint.
* test#anchor077 - Fixed a compiler crash when analyzing the following qualified anchored type '''like x.f''' where f is defined as '''f: like y.z.w'''.

* bug#16991 (test#anchor056) - Fixed a bug that might cause the compiler to report an unknown feature in a qualified anchored type with a formal generic qualifier constrained only by formal generic types.
* test#anchor070 - Fixed a bug that might cause a compiler crash when nested qualified anchored types with a longer feature chain were involved in qualifiers of other qualified anchored types.
* bug#16983 (test#anchor055), bug#17034 (test#anchor057) - Fixed a bug that caused a crash when compiling code with a creation of an object of a qualified anchored type with a formal generic.
* bug#17239 (test#term198) - Fixed a bug that caused a crash when compiling the code that used an inline agent as an iteration expression.
* bug#17233 (test#term196) - Supported iteration on an expression of a formal generic type.
* bug#18759 (test#iteration004) - Changed processing of {ITERABLE}.new_cursor to use a renamed version of the feature in a descendant class rather than the feature having this name.
* test#config028, test#config029 and test#config038 - Fixed a crash when using a cluster/library with an invalid path.
* Fixed a long standing bug where descriptions in external nodes were lost.
* Fixed an issue with interactive mode where displaying all classes was actually not display classes which are part of a recursive cluster.
* bug#18758 (test#anchor073, test#anchor074, and test#anchor059) - Fixed some improper handling of qualified anchors.
* test#anchor050 - Fixed an issue on .NET where the compiler would not properly handle '''like {X}.f'''.
* test#anchor065 -  Fixed a compiler crash when processing '''like {G}.value'''.
* Fixed a bug in the interactive mode of the compiler that was preventing the display of classes that belong to a folder of a cluster.
* test#valid265 - Fixed a bogus compilation error when  the type of a variant expression is of an anchored type when it should have accepted it.
* bug#18824 (test#anchor075) - Fixed a compiler crash in .NET code generation where '''like {X}.dotnet_query''' would crash the compiler at degree 3.
* text#catcall013 - Fixed an issue with catcall checking which would crash the compiler in the specific case where a type used as argument has some conversion routines.
* Fixed bug#18855 where we used the wrong constant to display the command switch for the `-debug' option.

===SCOOP issues===

===Runtime/code generation issues===
* test#exec341 - Fixed a crash at runtime when performing an assignment using an object-less call, e.g. '''{EXT}.fea := bar'''.
* Fixed a regression that caused a C compilation error after removing a type from the system.
* bug#18758 (test#anchor072) - Fixed crash which only affected .NET code generation of qualified anchor types.
* test#anchor018, test#anchor050, test#anchor054, test#anchor056, test#anchor059, test#anchor063 and other tests - Fixed a code generation issue on .NET where some incorrect casts where generated causing an exception at runtime when the code is actually ok.
* test#freez022 - Fixed a missing conversion at runtime when formal argument type is an anchor.
* Fixed CECIL library creation to take into account the new memory_analyzer.o and offset.o modules of the runtime.
* bug#18785 (test#ccomp089) - Fixed a code generation issue for Linux 32-bit for the generation of the value of NaN, +Infinity and -Infinity for floating numbers.

===Store/Retrieve issues===
* Fixed an issue where retrieving a large amount of objects on a x86 platform, we would crash where restoring one of the store/retrieve stack using ''epop''.
* bug#18835 - Fixed a potential overflow issue with store/retrieve when you have more than 2^31 objects.




