[[Property:title|Release notes for EiffelStudio 5.2]]
[[Property:link_title|5.2]]
[[Property:weight|-10]]
[[Property:uuid|4e54c64b-d9a3-8683-d266-1972217a7a1a]]
==Graphical environment==
* Added a status bar, which gives a lot of information, such as the state of the compilation or the name of the current project.
* Clicking feature clauses in the feature tree now centers the editor on the selected feature clause.
* More specific icons in the feature and cluster trees, so that identifying deferred classes and the nature of features is now straightforward.
* Up to 10 [[External commands editor dialog|external commands]]  can now be defined and called from the '''Tools''' menu. 
* The new '''Quick compile''' command lets you recompile only the classes that have been edited in EiffelStudio, skipping the sometimes tedious degree 6, that looks for modified classes. 
* Control picking now has a configurable effect.
* More improvements in usability and bug fixes.

==Compiler==
* Click [[Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2|here]]  for more details on compiler improvements and full Eiffel support on .NET 

==Debugger==
* Right-clicking on one of the run buttons will pop up a dialog enabling you to choose the command line argument (it is a shortcut for `Project Settings`-> Debug tab).
* Expressions can now be dynamically evaluated in the debugger. ( [[Expression evaluation|info]] ) 
* Conditional breakpoints. ( [[Breakpoints|info]] ) 
* Classes can now define <code> debug_output </code>, a feature inherited from <code> DEBUG_OUTPUT </code>, whose string result is automatically displayed in the debugger for all objects of that type. ( [[Debug output|info]] ) 
* Possible stack overflows can now be detected in the debugger before they occur. ( [[Stack overflow prevention|info]] ) 

==Libraries==

===EiffelBase===
* Improved speed of search operations in <code> ARRAYED_LIST </code> and <code> HASH_TABLE </code>. 
* Reduced number of exported features in <code> TUPLE </code>. 
* Updated <code> INTERNAL </code> and <code> TUPLE </code> to accept <code> INTEGER_XX </code> based queries/commands. 
*  <code> STRING </code> changes: 
** Fixed <code> is_integer </code> to return False for strings of the form "(-|+)[a-zA-Z]+[0-9]*)" 
** Improved speed of <code> to_lower </code> and <code> to_upper </code>. 
** Updated for ELKS 2001 conformance: 
*** Changed signature of <code> out </code> and <code> replace_substring </code> to use <code> STRING </code> instead of `like Current`. 
*** Added <code> keep_tail </code>, <code> keep_head </code>, <code> remove_tail </code>, <code> remove_head </code> and make <code> head </code> and <code> tail </code> obsolete. 
*** Added <code> string </code>, <code> same_string </code>, <code> has_substring </code>, <code> fill_with </code>, <code> insert_string </code>, <code> insert_character </code>, <code> as_lower </code>, <code> as_upper </code>. 
*** Modified <code> make_from_string </code> so that no sharing of internal string is done. 
*** Made <code> remake </code>, <code> replace_character </code> and <code> insert </code> obsolete. 



===EiffelThread===
* Fixed crashes when using <code> join </code> or <code> terminated </code> from <code> THREAD_CONTROL </code>. 

===EiffelTime===
* Rewritten so that no additional C libraries is needed. Therefore you have to update your project configuration files to reflect this change, i.e. removing the include directory and the object file of the old EiffelTime library.

===EiffelVision2===
*  [[Revisions and Bug Fixes|Click here to see list of update and modification to Eiffel Vision2]] . 

===WEL===
* Changed type of non-exported feature <code> internal_data </code> of <code> WEL_WINDOW </code> from <code> INTEGER </code> to <code> POINTER </code>. 
* Fixed a GDI memory leak when creating/releasing instances of descendant of <code> WEL_CONTROL </code>. 

==Patch releases==

===Version 5.2.1402:===
* Put Windows and Unix version to the same version number.
* Fixed EiffelWeb documentation and example.
* Fixed minor issues found with EiffelVision2 on Unix and Windows which were affecting EiffelBuild.
* Fixed incorrect configuration file specification for EiffelVision2 examples and wizards on Unix platforms where application could be linked dynamically with `libpng` but should not.
* Fixed EiffelStore handle for Oracle so that it works fine when compiled with the Borland C compiler.
* Fixed incorrect version number in VERSION file on Unix platforms.

===Version 5.2.1313:===
* Fixed resource leak on Windows 98 and Windows Me.
* Fixed incorrect implementation of <code> area </code> and <code> substring </code> for <code> STRING </code> in dotnet mode. 
* Fixed issue with setting of arguments. After restarting EiffelStudio the command line argument contains an extra `]` character.
* Fixed issue with working directories where only the first one ever set was used even if new ones have been set afterwards.
* Fixed issue in IL code generation where having a class that inherits from a non-Eiffel .NET class. And the class has the following features: <br/>
<code>
a: ARRAY [like f]
f: STRING is
	do
	end</code>

Then you could neither load nor execute the generated code.

* Fixed issue with incorrect C code generation of inspect instruction based on character values above 128.
* Fixed bug in <code> copy </code> from <code> STRING </code> where following code was violating <code>valid_count</code> invariant from <code> STRING </code>: 
<code>
local
	s, t: STRING
do
	create s.make (9)
	create t.make (10) 
	t.append ("1234567890") 
	s.copy (t)
end</code>

* Fixed incorrect C file naming when generating a .NET system that uses a C++ external (it should be .cpp, not just .c).
* Enabled support for Borland C compiler in .NET.
* Fixed issue where generating documentation for all/library cluster would stop during generation without completing.
* Fixed crash in diagram tool when moving label on client/supplier link between two classes.

===Version 5.2.1123:===
* Fixed issue when inheriting a .NET class that has some static constants defined.

===Version 5.2.1122:===
* Fixed issue when opening the about dialog of EiffelStudio.
* Enabled EiffelStudio for all users on a machine, not just for the one installing EiffelStudio.

===Version 5.2.1118:===
* First initial release of EiffelStudio 5.2

[[EiffelStudio release notes|Click here to check out what was new in other versions]]  




