Files
eiffel-org/documentation/23.09/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-5-release-notes/release-notes-eiffelstudio-52.wiki
eifops e2bb303f94 Updated to upcoming 23.09
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2393 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
2023-09-25 09:13:12 +00:00

111 lines
6.3 KiB
Plaintext

[[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]]