mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-08 07:42:33 +01:00
Author:admin
Date:2008-09-17T13:53:28.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@3 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.0]]
|
||||
[[Property:link_title|5.0]]
|
||||
[[Property:weight|-8]]
|
||||
==Graphical environment==
|
||||
* New Look and feel.
|
||||
* New way of starting EiffelStudio and simplified the process of compiling an existing project.
|
||||
* New editor with:
|
||||
** smart syntax highlighting
|
||||
** feature completion (by pressing Ctrl+Space after an identifier).
|
||||
** syntax completion of major control statement (if, from, is,...)and of symbols such as `{', `[', `(', `"',...
|
||||
** smart auto indenting
|
||||
** block indent and exdent.
|
||||
** infinite level of Undo/Redo
|
||||
|
||||
* When edition of a class text which has been successfully compiled, the class will be fully `pick-and-droppable'.
|
||||
* Faster rendering for Clickable, Flat, Contract (previously known as Short) and Flat Contract views.
|
||||
* System tool has been replaced by a `project settings' window. The underlying mechanism of the configuration file is kept, but all changes are done through a nice GUI making it simpler for beginners to create their first configuration file.
|
||||
* Toolbars are now customizable
|
||||
* EiffelCase has been merged within EiffelStudio to provide a true reverse engineering using the BON notation.
|
||||
|
||||
==Compiler==
|
||||
The compiler has been improved in many ways and some functionality have been added. [[Major changes between ISE Eiffel 4.5 and ISE Eiffel 5.0|Check it out]] .
|
||||
==Debugger==
|
||||
* New debugger functionalities:
|
||||
** one can step-in, step-out, step-by-step when they want to.
|
||||
** one can put a breakpoint on the fly (Windows Only)
|
||||
** one can see all local variables and arguments.
|
||||
** one can set breakpoints in all kind of assertion clauses except in invariants.
|
||||
|
||||
* Debugging is faster.
|
||||
|
||||
==Documentation==
|
||||
* New documentation generation (limited now to HTML) which is completely clickable as if within EiffelStudio. It also includes an EiffelCase-like documentation generation.
|
||||
* Generation of XMI which can be used in tools such as Rational Rose.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase:===
|
||||
* No more <code>GENERAL </code>class as proposed by the NICE committee. It has been replaced by ANY which does not inherit any more from <code>PLATFORM</code>.
|
||||
* Adaptation of the <code>ARRAY</code> class to the ELKS 2000 standard.
|
||||
* This implies a change in our <code>CONTAINER</code> class where we renamed <code>empty</code> into <code>is_empty</code> and made <code>empty</code> obsolete. If you were inheriting from <code>CONTAINER</code> and redefining <code>empty</code>, make sure to update your code so that you redefine <code>is_empty</code> instead. That way your polymorphic calls will still work as expected without having to change all call to <code>empty</code> into calls to <code>is_empty</code>.
|
||||
* New implementation of <code>is_equal</code> on <code>LIST</code> which will now check that two lists are identical if their items are identical.
|
||||
* New implementation of <code>copy</code> on <code>LIST</code>.
|
||||
* New implementation of an iterative <code>is_equal</code> on <code>TREE</code> which will now check that two trees are identical if their items are identical.
|
||||
* New implementation of an iterative <code>copy</code> on <code>TREE</code>, which recursively copies the tree.
|
||||
* New <code>ROUTINE</code> classes which perform better type checking on argument passing.
|
||||
* Introduction of binary operations on <code>INTEGER</code> types: <code>infix "&"</code>,<code>infix "|"</code>, <code>bit_xor</code>, <code>bit_not</code>, <code>bit_shift</code>, <code>infix "|>>"</code>, <code>infix "|<<"</code>and <code>bit_text</code>.
|
||||
* Removed <code>infix "^"</code> from <code>NUMERIC</code>. It does not break any inheritance, but break clients that were using this operator on an entity declared of type NUMERIC. This is due to the different return type of this operator depending the NUMERIC type you are handling.
|
||||
* Changed the signature of <code>pruned</code> in <code>BINARY_SEARCH_TREE</code> to take an extra argument. This was necessary to fix a problem that caused the `parent' attributes to become inconsistent under certain conditions when calling <code>pruned</code>.
|
||||
* Re-implemented the features <code>disjoint</code> and <code>symdif</code> of <code>SUBSET</code>. These features caused problems under certain conditions and were also quite inefficient. The new implementation of these features uses the strategy pattern to choose among different versions of these calculations depending on the properties of the elements contained in the set.
|
||||
* All features on <code>SUBSET</code> that take another subset as an argument(e.g. <code>intersect</code>) now accept any other subset type as an argument, independent of its underlying implementation, and not only subsets of type `like Current'.
|
||||
* Many smaller bug fixes for bugs that were reported by our customers or that have been discovered during our development andtesting.
|
||||
|
||||
===WEL:===
|
||||
|
||||
Modified classes relative to the use of registry keys to be written only using Eiffel and externals to Win32 API (no more C intermediates). In the process <code>close_key</code> and <code>delete_key</code> are now commands and not queries. To find out if it their call was successful, you can query <code>last_call_successful</code>.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.1]]
|
||||
[[Property:link_title|5.1]]
|
||||
[[Property:weight|-9]]
|
||||
==Graphical environment==
|
||||
* Numerous improvements in usability and bug fixes.
|
||||
* Richer class and cluster creation dialogs.
|
||||
* Class name completion in the editor (by pressing Ctrl+Shift+Space half-way through the class name).
|
||||
* Editor now supports drag-and-drop of the selection.
|
||||
* When debugging a project from EiffelStudio, the current directory will be your project directory. It is a change from previous version where:
|
||||
** on Windows, it used to be launched in the W_code subdirectory of your project directory
|
||||
** on Unix, it used to be launched from the same directory where `estudio' (or `ebench') was launched.
|
||||
|
||||
* EiffelStudio GUI now also available on Unix platforms and Windows 9x/Me
|
||||
|
||||
==Compiler and .NET==
|
||||
* Click [[Major changes between ISE Eiffel 5.0 and ISE Eiffel 5.1|here]] for more details on compiler improvements and full Eiffel support on .NET
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* It is now forbidden to create a <code> BIT_REF </code> or a <code> BIT X </code> object using its creation procedure (before it was accepted but did not work)
|
||||
* Added <code> make_temporary_name </code> in <code> FILE_NAME </code>
|
||||
* Made <code> to_c </code> obsolete from class <code> INTEGER_INTERVAL </code>
|
||||
* Changed semantic of <code> split </code> from class <code> STRING </code>
|
||||
* Fixed a bug in <code> clear_all </code> from <code> HASH_TABLE </code> that kept a reference to the last found item. Now it does not keep the reference after a call to <code> clear_all </code>.
|
||||
|
||||
===Vision2===
|
||||
* Support for Vision2 applications on GTK platforms.
|
||||
* Some changes in the Vision2 library have been made, [[Revisions and Bug Fixes|check here on how to update your code]] .
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.2]]
|
||||
[[Property:link_title|5.2]]
|
||||
[[Property:weight|-10]]
|
||||
==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]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.3]]
|
||||
[[Property:link_title|5.3]]
|
||||
[[Property:weight|-11]]
|
||||
==Graphical environment==
|
||||
|
||||
===Changes===
|
||||
* In project settings, we now accept a root class without creation procedure.
|
||||
* In .NET code generation, we do not force the C compilation at each compilation. It is only done when necessary (for example when a C external has been added).
|
||||
* Incremental .NET code generation (See [[Major changes between ISE Eiffel 5.2 and ISE Eiffel 5.3|compiler release notes]] for more info).
|
||||
* Recoverable storable (See [[Major changes between ISE Eiffel 5.2 and ISE Eiffel 5.3|compiler release notes]] for more info).
|
||||
|
||||
===Bug fixes===
|
||||
* 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 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.
|
||||
* Fixed resource leak on Windows 98 and Windows Me.
|
||||
* Fixed issue in projects where clusters are specified with relative path would not compile after adding a local assembly.
|
||||
* Fixed problem with cluster tool management where moving classes around or looking up a class will generate an error box instead of performing the requested operation.
|
||||
* 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 disappearance of EiffelStudio when debugging a routine `infix' or `prefix' in which an exception was raised. This issue was only occurring with melted code (usually noticeable when using a precompiled library).
|
||||
* Changing the project specific command line arguments will not touch the project settings configuration file (ace file).
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.2 and ISE Eiffel 5.3|here]] for the compiler release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===CECIL===
|
||||
* Enforced definition of EIF_OBJECT so that it is different from EIF_REFERENCE to better catch errors when passing a protected reference to a feature accepting an unprotected reference and vice versa. Because of this change some C code might not compile anymore which is good as it points out that code was doing something wrong that could corrupt the Eiffel memory.
|
||||
|
||||
===EiffelBase===
|
||||
* Added in <code> INTERNAL </code> the following new features: <code> field_static_type_of_type </code>, <code> class_name_of_type </code>, <code> type_name </code> and <code> type_name_of_type </code>.
|
||||
* Added <code> truncated_to_integer_64 </code> in <code> REAL </code> and <code> DOUBLE </code>.
|
||||
* Added <code> to_integer_64 </code> in <code> STRING </code>.
|
||||
* Added new classes <code> MEMORY_STRUCTURE </code>, <code> MANAGED_POINTER </code> and <code> C_STRING </code> to better manage access to C and C++ memory structure.
|
||||
* Fixed incorrect implementation of <code> area </code> and <code> substring </code> for <code> STRING </code> in dotnet mode.
|
||||
* 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>
|
||||
|
||||
* Added support for storable in .NET. However .NET and classic implementation are completely different and <code> independent_store </code> will not be able to retrieve a storable file if not made using the same code generation.
|
||||
* Fixed a bug in <code> is_equal </code> from <code> LIST </code> where comparing two lists of different counts could break the comparison: <br/>
|
||||
<code>
|
||||
make is
|
||||
local
|
||||
a, b: LIST [INTEGER]
|
||||
do
|
||||
create {ARRAYED_LIST [INTEGER]} a.make (2)
|
||||
a.extend (10)
|
||||
|
||||
create {ARRAYED_LIST [INTEGER]} b.make (2)
|
||||
b.extend (10)
|
||||
b.extend (11)
|
||||
|
||||
print (equal (b, a))
|
||||
end</code>
|
||||
|
||||
* Fixed .NET implementation of <code> open_write </code> and <code> create_read_write </code> in <code> FILE </code>. They were not resetting the file size to zero if file already existed.
|
||||
* Added <code>correct_mismatch</code> on <code>ANY</code> used for `recoverable storable'.
|
||||
* Added <code>correct_mismatch</code> on <code>HASH_TABLE</code> to enable retrieval of the 5.1 and older version of <code>HASH_TABLE</code>.
|
||||
* Fixed bug in implementation of <code>copy</code> and <code>is_equal</code> for <code>TREE</code> and descendant classes. Now descendants of <code>TREE</code> that would like to compare additional attributes of their class needs to redefine <code>node_is_equal</code> whose default implementation will always result in a true value.
|
||||
* Changed default semantic of <code>make</code> and <code>put_child</code> from <code>FIXED_TREE</code>, to preserve existing semantic, you should use <code>make_filled</code> and <code>replace_child</code> instead.
|
||||
|
||||
===Eiffel2Java===
|
||||
* Updated library so that it works both in classic and dotnet mode.
|
||||
|
||||
===EiffelCOM===
|
||||
* Fixed crash in <code>ccom_set_name</code> from <code>FONT_IMPL_PROXY</code>.
|
||||
|
||||
===EiffelNet===
|
||||
* Fixed assertion violation of call to <code> to_integer </code> in feature <code> get_content_length </code> from <code> HTTP_PROTOCOL </code> if assertions are enabled on EiffelBase.
|
||||
|
||||
===EiffelStore===
|
||||
* Updated library so that it works both in classic and dotnet mode.
|
||||
* Fixed issue with oracle handle which did not work with the included Borland C compiler.
|
||||
* Removed <code> nb_classes </code> from <code> EXT_INTERNAL </code>.
|
||||
* Removed need for additional object file (`support.lib' on Windows and `libsupport.a' on Unix platforms), so make sure to remove it from your project configurations.
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here to see list of update and modification to Eiffel Vision2]] .
|
||||
|
||||
===WEL===
|
||||
* Removed inheritance to <code>WEL_STRUCTURE</code> in <code>WEL_STRING</code>, it now inherits from new <code>C_STRING</code> class. In the process removed the following features which were inherited from <code>WEL_STRUCTURE</code> and did not make sense to <code>WEL_STRING</code> <code>memory_copy</code>, <code>structure_size</code>, <code>dispose</code>, <code>set_item</code>, <code>set_shared</code>, <code>set_unshared</code>, <code>shared</code>, <code>to_integer</code>. No replacements have been provided for those features. Made <code>initialize</code> and <code>initialize_with_character</code> obsolete, instead we now provide two features inherited from <code>C_STRING</code> <code>fill_blank</code> and <code>fill_value</code>.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.4]]
|
||||
[[Property:link_title|5.4]]
|
||||
[[Property:weight|-12]]
|
||||
==Graphical environment==
|
||||
|
||||
===Improvements===
|
||||
* Added support for mouse wheel in editor and associated parameterization in preferences.
|
||||
* Cluster tree is not collapsed anymore between compilation.
|
||||
* All callers will not show empty entries.
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed issue where setting the string background color to `auto' in the preferences will set it to a black color next time your relaunch EiffelStudio.
|
||||
* Fixed issue where typing in an empty features tree will close down EiffelStudio.
|
||||
* Fixed issue with BON diagram where expanded client links were not properly displayed (the expanded bar was drawn on top of classes instead of on the link itself).
|
||||
|
||||
==Debugger==
|
||||
|
||||
===Improvements===
|
||||
* Ability to debug .NET applications from EiffelStudio. It behaves like the traditional debugger except with the current limitations:
|
||||
** no conditional breakpoints
|
||||
** no expression evaluation
|
||||
** no expansion to see attributes of non-Eiffel objects
|
||||
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed issue on Unix platforms where passing more than 5 arguments will disable debugging and ultimately crash the environment.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.3 and ISE Eiffel 5.4|here]] for the compiler release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===Eiffel2Java===
|
||||
* Fixed incorrect memory freeing in <code>get_string</code> in <code>JNI_ENVIRONMENT</code> that could cause some memory corruption.
|
||||
* Fixed <code>VDRD</code> error in method_id from <code>JAVA_OBJECT</code>.
|
||||
|
||||
===EiffelBase===
|
||||
* Optimized <code>i_th</code> from <code>PRIMES</code> for the first 200 prime numbers.
|
||||
* Fixed bug in <code>generic_typecode</code> from <code>TUPLE</code> in .NET implementation which fixed an issue with <code>is_reference_item</code>.
|
||||
* Made <code>TUPLE</code> a descendant of <code>HASHABLE</code> and defined <code>hash_code</code> (based on the hash_codes of the elements of a <code>TUPLE</code>).
|
||||
* Added <code>default_create</code> as creation procedure of <code>TUPLE</code> and made <code>make</code> obsolete.
|
||||
* Added convenience features to <code>TUPLE</code>: <code>put_XX_item</code> where `XX' can be replaced by `character, boolean, integer, double,...'.
|
||||
* Optimized <code>ROUTINE</code>, <code>PROCEDURE</code> and <code>FUNCTION</code> implementation to speed up agent calls by a factor of 2 to 3. Removed <code>open_operand_type</code> from <code>ROUTINE</code> as its specification was only used internally and specification was not precise enough to be used by clients of <code>ROUTINE</code>.
|
||||
* Fixed <code>append</code> from <code>SEQUENCE</code> to not perform a <code>deep_clone</code> when passed argument is the same reference as Current. This was a problem when the base class of the type of the elements inherited from <code>MEMORY</code> and redefined <code>dispose</code>. You could possibly end up freeing twice an external resource.
|
||||
* Changed implementation of <code>INTERACTIVE_LIST</code> to be based on <code>ARRAYED_LIST</code> rather than on <code>LINKED_LIST</code>.
|
||||
* Added efficient implementation of <code>append</code> in <code>ARRAYED_LIST</code>.
|
||||
* Fixed bug in multithreaded mode when you open in two different threads a different file with a different mode. For example one is in read mode, the other one is in write mode. If the operation happens at the same time, you could end up with two files open in read mode or two files open in write mode, which is not the expected behavior.
|
||||
|
||||
===EiffelNet===
|
||||
* Fixed bug in <code>set_delay</code> and <code>set_nodelay</code> in <code>NETWORK_STREAM_SOCKET</code>, because their implementations were inverted.
|
||||
* Fixed incorrect spelling of <code>maximum_seg_size</code> in <code>NETWORK_STREAM_SOCKET</code>.
|
||||
* Added recoverable storable to EiffelNet (was not included in previous version although recoverable storable was available for files).
|
||||
* Fixed <code>SMTP_PROTOCOL</code> to follow more closely SMTP RFCs.
|
||||
* Added support for multi-line error codes in <code>SMTP_PROTOCOL</code>.
|
||||
|
||||
===EiffelTime===
|
||||
* Improved speed of <code>DATE</code> and <code>TIME</code> comparison.
|
||||
* In <code>DATE_VALUE</code> added <code>ordered_compact_date</code> and made <code>compact_date</code> obsolete.
|
||||
* In <code>DATE</code> added <code>make_by_ordered_compact_date</code> and <code>make_by_compact_date</code> obsolete.
|
||||
* In <code>DATE_VALIDITY_CHECKER</code> added <code>ordered_compact_date_valid</code>.
|
||||
* Fixed <code>C_DATE</code> to buffer the current time rather than querying it for each of the time components. Not doing that was causing a bug in <code>DATE</code>, <code>DATE_TIME</code> and <code>TIME</code> where if the computation was done on December 31st at 23:59:59 2003, we could end up with a date of January 1st 2003, therefore being one year off. This is a breaking change from before and if you are using <code>C_DATE</code>, use <code>update</code> before each call to the *_now queries if you expected to reflect the time at the time of the query.
|
||||
|
||||
===EiffelThread===
|
||||
* Added support for .NET
|
||||
* Made <code>OBJECT_OWNER</code> obsolete
|
||||
* Added <code>wait_with_timeout</code> in <code>CONDITION_VARIABLE</code>
|
||||
* Added <code>READ_WRITE_LOCK</code> class to be used in a system where few writes are done compare to reads. A typical example of its use would be to have a thread safe lookup table where few insertions are done.
|
||||
* Now a C externals that might block the execution of a system, should be marked `blocking'. [[Major changes between ISE Eiffel 5.3 and ISE Eiffel 5.4|See compiler changes for more details]] .
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here to see list of update and modification to EiffelVision2]] .
|
||||
|
||||
===EiffelWeb===
|
||||
* Fixed issue when sending exception trace to browser. On most servers you were getting an internal error rather than the exception trace.
|
||||
* Fixed issue with <code>cookies</code> from <code>CGI_ENVIRONMENT</code> as keys were stored as items, now the keys are stored as keys, items as items.
|
||||
|
||||
===WEL===
|
||||
* Renamed <code>convert</code> from <code>CONVERTER</code> class into <code>extract_definition</code>.
|
||||
* Renamed <code>convert</code> from <code>WEL_FONT_FAMILY_ENUMERATOR</code> class into <code>update_current</code>.
|
||||
* In <code>WEL_TREE_VIEW</code>, calling <code>deselect_item</code> will now really deselect the item, whereas previously, it only caused the item to be redrawn without selection.
|
||||
* In <code>WEL_REGISTRY</code>, <code>open_value_key</code> will now accept an empty string so that the default key value can be read.
|
||||
* Fixed issue with <code>dword_value</code> in <code>WEL_REGISTRY_KEY_VALUE</code> which returned incorrect values.
|
||||
* Made <code>make</code> in <code>WEL_REGISTRY_KEY_VALUE</code> accepts only string values, if you want to create a new instance with a value of a different type you need to use the new creation procedure <code>make_with_value</code>.
|
||||
|
||||
===.NET libraries===
|
||||
* Renamed <code>THREAD</code> and <code>MUTEX</code> into <code>SYSTEM_THREAD</code> and <code>SYSTEM_MUTEX</code> to avoid name conflicts with EiffelThread.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.5]]
|
||||
[[Property:link_title|5.5]]
|
||||
[[Property:weight|-13]]
|
||||
==Graphical environment==
|
||||
|
||||
===Improvements===
|
||||
* Added full configuration of colors used in editor
|
||||
* Added docking facilities for various tools. It permits the re-ordering of tools within the interface, including making them "float" externally [[Docking|(See EiffelBuild documentation on docking mechanism for more details)]] .
|
||||
* Ability to see when a class is deferred in the context tool formatters. It is shown by adding the `*' character at the end of the class name.
|
||||
|
||||
===Changes===
|
||||
* One cannot add a .NET assembly from the GAC anymore, instead you have to specify the path to the assembly in the assembly references list.
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed a crash when performing feature completion on classes with errors.
|
||||
* On Windows, prevented the EiffelStudio window to go to the back of all windows when you click Ok on the dialog box which appears when a syntax error occurs while compiling a project.
|
||||
|
||||
==Debugger==
|
||||
* Enabled conditional breakpoint and expression evaluation for .NET
|
||||
* Improved expression evaluation abilities (full range of Eiffel expressions are now supported).
|
||||
* Improved object viewer window (word wrapping for large text, ability to see the whole content in one click without having to enter the lower and upper index of a range).
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.4 and ISE Eiffel 5.5|here]] for the compiler release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===CECIL===
|
||||
* Added ability to query type of a generic class where an actual generic parameter is expanded although its base class is not. It suffices to prefix the class name with "expanded ". Reciprocally, you can use the reference version of an expanded class by prefixing with "reference ".
|
||||
|
||||
===EiffelBase===
|
||||
* Removed <eiffel>consistent</eiffel> and <eiffel>setup</eiffel> from <eiffel>ANY</eiffel>
|
||||
* Removed <eiffel>Void</eiffel> from <eiffel>ANY</eiffel> as <code>Void</code> is now a keyword.
|
||||
* Added <eiffel>for_all</eiffel>, <eiffel>do_all</eiffel>, <eiffel>do_if</eiffel> and <eiffel>there_exists</eiffel> to <eiffel>ARRAY</eiffel>. As a consequence descendants of <eiffel>ARRAY</eiffel> which also inherit from <eiffel>LINEAR</eiffel> have to select the proper version of those routines as they also appear in <eiffel>LINEAR</eiffel>.
|
||||
* Fixed <eiffel>dynamic_type_from_string</eiffel> from <eiffel>INTERNAL</eiffel> under .NET which was not working if you were using the .NET naming convention or if you specified a namespace.
|
||||
* Added <eiffel>generic_count</eiffel>, <eiffel>generic_count_with_type</eiffel> in <eiffel>INTERNAL</eiffel> to find out how many generic parameter a type has.
|
||||
* Added <eiffel>generic_dynamic_type_with_type</eiffel> in <eiffel>INTERNAL</eiffel> to find out the type of the i-th generic parameter of a given type.
|
||||
* Added <eiffel>memory_map</eiffel> and <eiffel>memory_count_map</eiffel> to give you a precise accounting of all living objects in the running system. It will help you find out any potential memory leak because objects are still referenced where they should not.
|
||||
* Improved performance of <eiffel>FILE</eiffel> objects creation by not allocating the <eiffel>last_string</eiffel> internal buffer until it is needed.
|
||||
* On Windows, removed side effects of <eiffel>put</eiffel> from <eiffel>EXECUTION_ENVIRONMENT</eiffel>. Before it was setting also some registry keys, now it only set the environment variable for the running process and its children when launched.
|
||||
* Allowed zero sized <eiffel>MANAGED_POINTER</eiffel>. Allowed <eiffel>MANAGED_POINTER</eiffel> to share a pointer rather than doing a full memory copy at creation time.
|
||||
* Fixed issue with agents where GC did not collect passed arguments to <eiffel>call</eiffel> or <eiffel>item</eiffel> from <eiffel>ROUTINE</eiffel>/<eiffel>FUNCTION</eiffel>. Thus arguments stayed alive until the next call to <eiffel>call</eiffel> or <eiffel>item</eiffel>.
|
||||
|
||||
===EiffelNet===
|
||||
* Added <eiffel>close_socket</eiffel> in <eiffel>SOCKET</eiffel>which only close the socket for the current process. It will not close it for all processes which are using this socket (e.g. obtained after a fork on Unix platform).
|
||||
|
||||
===EiffelTime===
|
||||
* Fixed incorrect display of the short year format when using the following code:
|
||||
<code>l_date: DATE_TIME
|
||||
...
|
||||
create l_date.make_now
|
||||
print (l_date.formatted_out ("[0]mm/[0]dd/yy"))
|
||||
</code>
|
||||
|
||||
|
||||
===EiffelThread===
|
||||
* Added a new C routine <eiffel>eif_thread_fork</eiffel> for Unix based system for users who would like to use a forking mechanism in a multithreaded system, as the default version of <eiffel>fork</eiffel> will most likely causes some deadlock.
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
===WEL===
|
||||
* Added various missing constants in <eiffel>WEL_*_CONSTANTS</eiffel> classes.
|
||||
* Added creation procedure <eiffel>make_permanent</eiffel> in <eiffel>WEL_DLL</eiffel> so that the loaded DLL is loaded until the very end of program's execution. Now <eiffel>WEL_RICH_EDIT_DLL</eiffel> and <eiffel>WEL_COMMON_CONTROLS_DLL</eiffel> are using this new creation procedure. It fixes the issue where a program using <eiffel>WEL_RICH_EDIT</eiffel> would crash when exiting.
|
||||
* Fixed a possible C compilation error when using <eiffel>WEL_RICH_EDIT</eiffel> due to a bug in the Microsoft Platform SDK header file for RichEdit.
|
||||
* Fixed <eiffel>WEL_SCROLL_BAR</eiffel> to return a valid position when position is more than 65535.
|
||||
* Added <eiffel>string_size_extended</eiffel> in <eiffel>WEL_FONT</eiffel> to better know where to draw a string using a specified font on screen,
|
||||
* Added <eiffel>height_in_points</eiffel>, <eiffel>height_in_pixels</eiffel>, <eiffel>height_in_twips</eiffel>, and <eiffel>log_font</eiffel> in <eiffel>WEL_CHARACTER_FORMAT</eiffel>. Made <eiffel>height </eiffel> and <eiffel>set_height</eiffel> obsolete.
|
||||
* Changed implementation of <eiffel>WEL_REGISTRY_KEY_VALUE</eiffel> in order to fix <eiffel>set_dword_value</eiffel>which was writing incorrect data to the registry keys. Enhanced the typing of values, thus making the non-typed routines obsolete.
|
||||
* Made <eiffel>default_key_value</eiffel> obsolete in <eiffel>WEL_REGISTRY</eiffel>.
|
||||
* Properly defined <eiffel>is_equal</eiffel> and <eiffel>copy</eiffel> in <eiffel>WEL_STRUCTURE</eiffel>, possibly causing some compilation errors while analyzing the inheritance structure of your classes.
|
||||
* Changed signature of non exported routine <eiffel>cwin_destroy_window</eiffel> from <eiffel>WEL_WINDOW</eiffel> to now return a value.
|
||||
* Fixed issues when using WEL in a multithreaded application. It would crash if a non WEL thread was trying to destroy a WEL window.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.6]]
|
||||
[[Property:link_title|5.6]]
|
||||
[[Property:weight|-14]]
|
||||
==Graphical environment==
|
||||
|
||||
===Improvements===
|
||||
* New implementation of the diagram tool with enhanced performance and functionalities
|
||||
** Support for UML view.
|
||||
** Physics: auto-arrangement of classes using force directed graph.
|
||||
** Multiple selection of classes.
|
||||
** Improved speed/behavior of drawing/scrolling operations especially on large diagram.
|
||||
|
||||
* Added ability to find features performing an assignment to an attribute, or creating an attribute, as well as features using a procedure as creation procedure.
|
||||
* Feature tree is now showing a different icon for frozen and obsolete features.
|
||||
* Improved look and feel of applications using the EiffelVision library under Windows XP theme engine.
|
||||
* Improved keyboard navigation in EiffelStudio windows/dialogs.
|
||||
* Full support for 64 bits operating systems such as Windows, Linux, Solaris, Irix, VMS,...
|
||||
* Features tree is also available for classes which are part of the universe, but not yet compiled.
|
||||
* New EiffelCOM wizard. Click [[EiffelCOM Wizard|here]] for more details.
|
||||
* Improved speed of class completion for large system.
|
||||
* Added new toggles for alias names and assigner commands to feature tree.
|
||||
|
||||
===Changes===
|
||||
* Changed the default C compilation flags on Windows when using Visual Studio as a back-end C compiler. It will now compile C code using the -MT option. It may cause some linking problems if you are using C libraries compiled against the static C library. To solve those issues recompile your C code using the -MT option.
|
||||
* Provided keyword highlighting in editor and different views for new keyword <code>assign</code>.
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed infinite loop in finish_freezing which could use all the available memory.
|
||||
* Fixed some issues with formatting of agent using expressions as target, and display of character and string constants in context tool.
|
||||
* Fixed issue where tools that have been externally docked were not properly restored when reopening EiffelStudio.
|
||||
* Fixed issue where one could not remove entries added to the list of external commands.
|
||||
* Supported keyword highlighting for the keywords <code>infix</code> and <code>prefix</code> in editor and different views.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.5 and ISE Eiffel 5.6|here]] for the compiler release notes.
|
||||
|
||||
==Debugger==
|
||||
* Click [[Release notes for EiffelStudio 5.6 related to the debugger|here]] for the EiffelStudio's debugger release notes.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===CECIL===
|
||||
* Due to renaming of EIF_REAL and EIF_DOUBLE into EIF_REAL_32 and EIF_REAL_64, we have also changed the names of some CECIL facilities. Although old names are still valid we may remove their definition in future releases of the compiler. Below is the list of old names and their corresponding new names:
|
||||
{|
|
||||
|-
|
||||
| '''Old name'''
|
||||
| '''New name'''
|
||||
|-
|
||||
| EIF_REAL_FUNCTION
|
||||
| EIF_REAL_32_FUNCTION
|
||||
|-
|
||||
| EIF_DOUBLE_FUNCTION
|
||||
| EIF_REAL_64_FUNCTION
|
||||
|-
|
||||
| eif_real_function
|
||||
| eif_real_32_function
|
||||
|-
|
||||
| eif_double_function
|
||||
| eif_real_64_function
|
||||
|-
|
||||
| EIF_REAL_TYPE
|
||||
| EIF_REAL_32_TYPE
|
||||
|-
|
||||
| EIF_DOUBLE_TYPE
|
||||
| EIF_REAL_64_TYPE
|
||||
|-
|
||||
| EIF_FN_FLOAT
|
||||
| EIF_FN_REAL_32
|
||||
|-
|
||||
| EIF_FN_DOUBLE
|
||||
| EIF_FN_REAL_64
|
||||
|}
|
||||
|
||||
|
||||
===EiffelBase===
|
||||
* Added new storable facility entierly written in Eiffel which enables you to exchange data between classic and .NET. Former version built-in in the Eiffel run-time did not apply for .NET. The classes are located in the new <eiffel>serialization</eiffel> cluster of EiffelBase.
|
||||
* <eiffel>ARRAY</eiffel>:
|
||||
** Changed signature of <eiffel>subarray</eiffel> to match ELKS specification. It now returns an <eiffel>ARRAY [G]</eiffel> instead of <code>like Current</code>.
|
||||
** Fixed <eiffel>has</eiffel> to return <code>True</code> when searching for <code>Void</code> when comparing objects in an array containing a <code>Void</code> element.
|
||||
** Fixed issue on .NET with <eiffel>clone</eiffel>/<eiffel>copy</eiffel> which were not really duplicating the internal of the array, and therefore enabling aliasing of its content by more than one array.
|
||||
** Fixed a bug in feature <code>occurences </code> that returned <code>0</code> when called with <code>void</code> argument and <code>object_comparision</code> is <code>true</code>.
|
||||
** Fixed a bug in feature <code>is_equal</code> that caused stack overflow when some array item is the array itself and <code>object_comparision</code> is <code>true</code>.
|
||||
|
||||
* <eiffel>ARRAYED_LIST</eiffel>:
|
||||
** Removed <eiffel>array_valid_index</eiffel> from <eiffel>ARRAYED_LIST</eiffel>. Descendants of <eiffel>ARRAYED_LIST</eiffel> may need to update their inheritance clause. This fixes ability to use <eiffel>put_i_th</eiffel> with indexes that may violate the invariant of <eiffel>ARRAYED_LIST</eiffel>, for example the code below should trigger a precondition and not violate the invariant of <eiffel>ARRAYED_LIST</eiffel>:
|
||||
<code>list: ARRAYED_LIST [INTEGER]
|
||||
|
||||
create list.make (5)
|
||||
list.put_i_th (3, 3)</code>
|
||||
|
||||
** Added implementation query <eiffel>new_filled_list</eiffel> in <eiffel>ARRAYED_LIST</eiffel>. Descendants of <eiffel>ARRAYED_LIST</eiffel> may need to update their inheritance clause.
|
||||
|
||||
* <eiffel>HASH_TABLE</eiffel>:
|
||||
** Added <eiffel>merge</eiffel> to <eiffel>HASH_TABLE</eiffel>.
|
||||
** Now <eiffel>remove</eiffel> will reset <eiffel>found_item</eiffel> when an element is removed.
|
||||
|
||||
* <eiffel>INTERNAL</eiffel>:
|
||||
** Implemented all the routines in the .NET version.
|
||||
** Added support for creating <eiffel>TUPLE</eiffel> types in <eiffel>dynamic_type_from_string</eiffel>.
|
||||
** Added precondition to <eiffel>set_reference_field</eiffel> to ensure validity of reattachement to attributes.
|
||||
|
||||
* <eiffel>STRING</eiffel>:
|
||||
** Changed signature of <eiffel>infix "+"</eiffel> to match ELKS specification. It now returns <code>like Current</code> instead of <eiffel>STRING</eiffel>.
|
||||
** Added implementation query <eiffel>new_string</eiffel>. Descendants of <eiffel>STRING</eiffel> may need to update their inheritance clause.
|
||||
** Fixed a bug in .NET implementation of feature <code>replace_substring</code> that might produce incorrect result when argument and target of the call is the same object.
|
||||
** Merged .NET and classic implementation of STRING so that all features of STRING are now properly implemented for both platforms.
|
||||
** Fixed <eiffel>center_justify</eiffel> that would corrupt memory on classic.
|
||||
** Changed <eiffel>character_justify</eiffel>, <eiffel>left_justify</eiffel>, <eiffel>right_justify</eiffel> and <eiffel>center_justify</eiffel> so that justification is now done on <eiffel>count</eiffel> instead of <eiffel>capacity</eiffel>. You might expect different results after upgrading, thus check all callers of those routines.
|
||||
** Added <eiffel>is_case_insenstive_equal</eiffel> to compare two strings regardless of their case.
|
||||
** Rewrote routines <eiffel>is_integer</eiffel>, <eiffel>is_real</eiffel>, <eiffel>is_double</eiffel>, <eiffel>to_integer</eiffel>, <eiffel>to_real</eiffel> and <eiffel>to_double</eiffel> so that they do not rely on C externals. This could breeak some existing code relying on specific locale to read floating numbers.
|
||||
|
||||
* Changed behavior of <eiffel>item</eiffel> and <eiffel>eval</eiffel> in <eiffel>FUNCTION</eiffel>. They will not set <eiffel>last_result</eiffel> with their result. If you want to use <eiffel>last_result</eiffel> you should use <eiffel>call</eiffel> instead.
|
||||
* Added new set of classes <eiffel>NATURAL_8</eiffel>, <eiffel>NATURAL_16</eiffel>, <eiffel>NATURAL_32</eiffel> and <eiffel>NATURAL_64</eiffel> to perform unsigned integer operations.
|
||||
* Made implementations of <eiffel>cursor</eiffel> in descendants of <eiffel>CURSOR_STRUCTURE</eiffel> return a precise <eiffel>CURSOR</eiffel> type.
|
||||
* Reduced feature exportation of routines also used as creation procedures of <eiffel>CURSOR</eiffel> descendants to <eiffel>NONE</eiffel>
|
||||
* Removed <eiffel>make_sublist</eiffel> from <eiffel>TWO_WAY_LIST</eiffel> public creation procedures.
|
||||
* Made <eiffel>file_prunable</eiffel> from <eiffel>FILE</eiffel> obsolete. Use <eiffel>prunable</eiffel> instead.
|
||||
* Implemented features <eiffel>collect</eiffel> and <eiffel>full_collect</eiffel> of class <eiffel>MEMORY</eiffel> for .NET.
|
||||
* Changed type of feature <eiffel>sign</eiffel> in classes <eiffel>INTEGER_8</eiffel> and <eiffel>INTEGER_16</eiffel> to <eiffel>INTEGER_8</eiffel> and <eiffel>INTEGER_16</eiffel> respectively.
|
||||
* Added a subcluster <eiffel>refactoring</eiffel> with classes that can be helpful for performing code refactoring.
|
||||
* Augmented many features that are used to access items by their index (such as <eiffel>ARRAY</eiffel>.<eiffel>item</eiffel> and <eiffel>TABLE</eiffel>.<eiffel>item</eiffel>) with a bracket alias and an assigner command.
|
||||
|
||||
===EiffelNet===
|
||||
* Enable to open an URL on a virtual host.
|
||||
* Enable to open an URL with login and password (for instance http://login:password@host/path/).
|
||||
* Fixed wrong URL analysis.
|
||||
|
||||
===EiffelThread===
|
||||
* Added feature <code>sleep</code> to class <code>THREAD_CONTROL</code>.
|
||||
* Provided inheritance link between classes <code>THREAD</code> and <code>THREAD_CONTROL</code> on all platforms.
|
||||
|
||||
===EiffelTime===
|
||||
* Breaking changes:
|
||||
** In time format, the use of hh12 alone without specifying AM or PM will default to AM.
|
||||
** Changed implementation of <eiffel>DATE_SET</eiffel> to use <eiffel>ordered_compact_date</eiffel> as storage.
|
||||
|
||||
* Added support for [0]hh12 hour format.
|
||||
* Added support for specifying hh12 as a standalone format string.
|
||||
* Fixed a bug where calling <eiffel>TIME</eiffel>.<eiffel>make_by_fine_seconds</eiffel> would set <eiffel>fractional_second</eiffel> to zero rather than to the expected value.
|
||||
* In <eiffel>TIME</eiffel>, comparison of <eiffel>fractional_second</eiffel> is done using a precision of 1.0e-10.
|
||||
* Fixed <eiffel>is_positive</eiffel> in <eiffel>DATE_TIME_DURATION</eiffel> so that it is true when either the date or time is zero but the other is positive.
|
||||
* Fixed incorrect postcondition of <eiffel>set_origine_date_time</eiffel> in <eiffel>DATE_TIME_DURATION</eiffel> which would fail when argument was <code>Void</code>.
|
||||
* Fixed <eiffel>is_correct_date</eiffel> in <eiffel>DATE_VALIDITY_CHECKER</eiffel> to check that year is less than 65535.
|
||||
* Fixed <eiffel>DATE_TIME_PARSER</eiffel> when handling time in 12h format, but internally we would convert it into 24h format thus making <eiffel>is_time</eiffel> and <eiffel>is_date_time</eiffel> return <code>False</code> where <code>True</code> was expected.
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
===WEL===
|
||||
* Made WEL 64 bits compliant. This required a breaking change in signatures. Some routines were actually using an <eiffel>INTEGER</eiffel> to represent a <eiffel>POINTER</eiffel>. On 64 bits platform this is not working as <eiffel>INTEGER</eiffel> is 32 bits and <eiffel>POINTER</eiffel> is 64 bits. As a consequence if you are using low level facilities of WEL your code might not compile anymore. Simply replace <eiffel>INTEGER</eiffel> by <eiffel>POINTER</eiffel> to make it compile.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
[[Property:title|Release notes for EiffelStudio 5.7]]
|
||||
[[Property:link_title|5.7]]
|
||||
[[Property:weight|-15]]
|
||||
==Graphical environment==
|
||||
|
||||
===What's new===
|
||||
* Dual licensing of EiffelStudio both commercial and open-source.
|
||||
* Refactoring facilities: renaming and feature pull-up.
|
||||
* Metric engine. It lets you define more advanced metrics. This is the first result of our new query engine.
|
||||
* UUID library for generating UUID.
|
||||
* Process library for launching, waiting, redirecting outputs of processes.
|
||||
* Configuration system. It brings a new dimension to the way you manage multiple projects and simplifies it.
|
||||
|
||||
===Improvements===
|
||||
* Output of C compilation now appears within the EiffelStudio environment.
|
||||
* Improved tool for launching external commands from within the EiffelStudio environment.
|
||||
* Introduced basic support for Unicode in Eiffel libraries, namely EiffelBase, EiffelVision2 and WEL.
|
||||
* Improved display of clusters, libraries and assemblies.
|
||||
* Added ability to see more relations in the diagram tool. For example, you can select a class and choose to see its descendants in the diagram.
|
||||
* If a project that needs a precompile is opened and the precompile does not exist it will automatically be compiled.
|
||||
* New projects use precompiles by default which speeds up the initial compilation.
|
||||
* Improved search facility that has two faces: a quick search bar in the editor for finding text in the current editor, and a search panel to perform exhaustive search over your project.
|
||||
* Profiler output is now sortable and can also be represented as a tree.
|
||||
* Redesigned completion engine:
|
||||
** Completion on wild-cards to quickly find a routine in a long list.
|
||||
** Completion list is now available anytime a text field accepts a class or an expression (Class creation dialog, debugger evaluation expression, ...)
|
||||
** On .NET, overloaded routines are all put together under one name.
|
||||
** Hidden option can now be set with a toolbar at its bottom.
|
||||
** Completion is available even if you have a syntax error in your class.
|
||||
|
||||
* Formatters are now presenting results in a structured way with sorting capability.
|
||||
* Overridden classes are now shown with the list of classes they are overriding.
|
||||
|
||||
===Changes===
|
||||
* New configuration system. EiffelStudio will automatically convert your existing ace or epr files to the new format.
|
||||
* Compilation progress is now displayed in the status bar and in the output pane, no more dialog box.
|
||||
* Display of errors and warnings is now done in different panes, so that you do not lose their content when the output pane has changed.
|
||||
* Pick and drop is now a dashed line.
|
||||
* Redesigned the starting dialog to make it easier to create new projects as well as managing many existing projects.
|
||||
|
||||
===Bug fixes===
|
||||
* When in a different format than the editable format, one can now select a feature and it will bring you to the feature in the selected format, rather than going back to the editable format.
|
||||
* Fixed various formatting issue for our documentation format.
|
||||
* Fixed some memory corruption that could cause EiffelStudio to randomly crash.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.6 and ISE Eiffel 5.7|here]] for the compiler release notes.
|
||||
|
||||
==Debugger==
|
||||
* Click [[Release notes for EiffelStudio 5.7 related to the debugger|here]] for the EiffelStudio's debugger release notes.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* <eiffel>STRING</eiffel>, <eiffel>STRING_8</eiffel>, <eiffel>STRING_32</eiffel> and <eiffel>STRING_GENERAL</eiffel>:
|
||||
** Added Unicode support through the addition of STRING_32. For the moment Unicode support is limited to the data-structure.
|
||||
** Added <eiffel>STRING_GENERAL</eiffel>, a common ancestor to <eiffel>STRING_8</eiffel> and <eiffel>STRING_32</eiffel>. It is useful if you want to handle both ASCII and Unicode string. For example this facility is used in EiffelVision2 and WEL.
|
||||
** <eiffel>STRING</eiffel> can be either <eiffel>STRING_8</eiffel> or <eiffel>STRING_32</eiffel> depending on your configuration. Default is <eiffel>STRING_8</eiffel>.
|
||||
** Added <eiffel>is_integer_xx</eiffel>, <eiffel>is_natural_xx</eiffel>, <eiffel>to_integer_xx</eiffel> and <eiffel>to_natural_xx</eiffel> where xx stands for 8, 16, 32 or 64.
|
||||
** Added <eiffel>is_number_sequence</eiffel> which is semantically identical to the behavior of <eiffel>is_integer</eiffel> in 5.6. Changed behavior of <eiffel>is_integer</eiffel> to check that it fits into a 32-bit integer value.
|
||||
** Updated <eiffel>is_double</eiffel>, <eiffel>is_real</eiffel>, <eiffel>is_real_32</eiffel>, <eiffel>is_real_64</eiffel> so that the specification allows optional integral part or decimal part, but not both (as per the ECMA specification of a real constant). This fixes the bug where <code>1.e-4</code> was not considered a valid floating point value.
|
||||
** Changed behavior of <eiffel>is_boolean</eiffel> to match the ELKS specification which says the lower case version of the string should either be true or false.
|
||||
** Fixed issue in <eiffel>from_c_substring</eiffel> which would not properly if argument <code>start_pos</code> was greater than 1.
|
||||
|
||||
* <eiffel>CHARACTER</eiffel>, <eiffel>CHARACTER_8</eiffel> and <eiffel>CHARACTER_32</eiffel>:
|
||||
** Removed <eiffel>WIDE_CHARACTER</eiffel> and <eiffel>WIDE_CHARACTER_REF</eiffel>; they are replaced by <eiffel>CHARACTER_32</eiffel> and <eiffel>CHARACTER_32_REF</eiffel>.
|
||||
|
||||
* <eiffel>REAL_32</eiffel> and <eiffel>REAL_64</eiffel>:
|
||||
** Renamed <eiffel>REAL</eiffel> into <eiffel>REAL_32</eiffel>, and <eiffel>DOUBLE</eiffel> into <eiffel>REAL_64</eiffel>. <eiffel>REAL</eiffel> can be either <eiffel>REAL_32</eiffel> or <eiffel>REAL_64</eiffel> depending on your configuration. Default is <eiffel>REAL_32</eiffel>.
|
||||
** Added <eiffel>rounded_xxx</eiffel>, <eiffel>floor_xxx</eiffel> and <eiffel>ceiling_xxx</eiffel> where xxx is the current floating point type, as the version returning an <eiffel>INTEGER</eiffel> is definitely not precise for large numbers.
|
||||
|
||||
* SED serialization facility:
|
||||
** Fixed <eiffel>read_attributes</eiffel> in <eiffel>SED_INDEPENDENT_DESERIALIZER</eiffel> because we simply forgot to check that between the retrieved system and the stored system, a type has the same number of attributes.
|
||||
** Fixed <eiffel>wipe_out</eiffel> in <eiffel>SED_OBJECTS_TABLE</eiffel>' which did not reset <eiffel>last_index</eiffel>. As a consequence if you were doing several storing in a row, then <eiffel>last_index</eiffel> kept being incremented but when retrieving the data it would fail because it would expect <eiffel>last_index</eiffel> to start at 1, not at the last incremented value.
|
||||
** Changed <eiffel>SED_MEDIUM_READER_WRITER</eiffel> encoding so that it can also be used in a networking context. Basically now before sending the data, we first send the number of bytes of the data, and then the data. The old encoding is still available in <eiffel>SED_MEDIUM_READER_WRITER_1</eiffel>.
|
||||
|
||||
* Added <eiffel>lock_marking</eiffel> and <eiffel>unlock_marking</eiffel> to use <eiffel>lock</eiffel> and <eiffel>unlock</eiffel> in <eiffel>INTERNAL</eiffel> in a multithreaded context. Currently used by the serialization classes.
|
||||
* <eiffel>IO_MEDIUM</eiffel>:
|
||||
** Added <eiffel>read_integer_XX</eiffel>, <eiffel>put_integer_XX</eiffel>, <eiffel>last_integer_xx</eiffel> and <eiffel>read_natural_XX</eiffel>, <eiffel>put_natural_XX</eiffel>, <eiffel>last_natural_XX</eiffel> where XX stands for 8, 16, 32, 64.
|
||||
|
||||
* <eiffel>HASH_TABLE</eiffel>:
|
||||
** Fixed an infinite cycle when using <eiffel>replace_key</eiffel> with a key which is not present in the table.
|
||||
** Improved correct_mismatch to also retrieve <eiffel>HASH_TABLE</eiffel>s from version 5.4.
|
||||
** Prevented catcalls in <eiffel>HASH_TABLE</eiffel> when you have keys which have a different type.
|
||||
|
||||
* Added a bracket feature to <eiffel>item</eiffel> from <eiffel>ARRAY2</eiffel>.
|
||||
* In <eiffel>ACTIVE_INTEGER_INTERVAL</eiffel> the action sequence will only be called if the range actually changes.
|
||||
* Fixed <eiffel>launch</eiffel> from <eiffel>EXECUTION_ENVIRONMENT</eiffel> to not inherit handles on Windows.
|
||||
* Moved <eiffel>list_eiffel3</eiffel> and <eiffel>table_eiffel3</eiffel> to the <eiffel>obsolete</eiffel> library.
|
||||
* Changed .NET implementation of the feature <eiffel>FILE</eiffel>.<eiffel>read_line</eiffel> to follow the behavior of the feature in classic mode and to treat either single '%N' or a sequence of '%R' and '%N' as an end of line.
|
||||
* Ensured that feature <eiffel>POINTER</eiffel>.<eiffel>out</eiffel> produces under .NET a hexadecimal number like in classic mode rather than a decimal number preceded by 0x.
|
||||
|
||||
===EiffelNet===
|
||||
* Added in <eiffel>SOCKET</eiffel> <eiffel>read_integer_XX</eiffel>, <eiffel>put_integer_XX</eiffel>, <eiffel>last_integer_xx</eiffel> and <eiffel>read_natural_XX</eiffel>, <eiffel>put_natural_XX</eiffel>, <eiffel>last_natural_XX</eiffel> where XX stands for 8, 16, 32, 64.
|
||||
* Modified <eiffel>put</eiffel> and <eiffel>read</eiffel> in <eiffel>NETWORK_RESOURCE</eiffel>, <eiffel>FTP_PROTOCOL</eiffel>, <eiffel>HTTP_PROTOCOL</eiffel>, <eiffel>FILE_PROTOCOL</eiffel> so that the error checking code is not using <eiffel>socket_ok</eiffel> which might triggers error when there are none.
|
||||
* Improved handling of <eiffel>recipients</eiffel> and <eiffel>header_from</eiffel> in <eiffel>SMTP_PROTOCOL</eiffel> so that you can provide a nice `From' or `To' in the message since they are different from the addresses you have to pass from MAIL FROM and RCPT TO.
|
||||
* Improved error handling in EiffelNet. Now each time an error occurs you get an exception and the operating system error code is preserved.
|
||||
* Added ability to get the number of bytes read for all the read operation through the <eiffel>bytes_read</eiffel> query. This is useful to detect graceful shutdown of sockets.
|
||||
|
||||
===EiffelThread===
|
||||
* Refactored the library so that even if you do not have the multithreaded option set, it will compile. However new preconditions have been added so that you know when you are using the library when you cannot.
|
||||
|
||||
===EiffelVision2===
|
||||
* Added Unicode support. Read the WEL entry for Unicode below to see the impact on your code.
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
===Process===
|
||||
* New library to launch processes and redirect their output.
|
||||
|
||||
===UUID===
|
||||
* New library to generate UUID.
|
||||
|
||||
===WEL===
|
||||
* Added Unicode support:
|
||||
** All routines taking an argument of type <eiffel>STRING</eiffel> or a generic type with <eiffel>STRING</eiffel> in one of the actual generic parameter have been changed to take an argument of type <eiffel>STRING_GENERAL</eiffel> which should not impact you at all, however make sure that if your redefine such a routine, you need to change the signature to <eiffel>STRING_GENERAL</eiffel>, otherwise you may introduce a CATCALL.
|
||||
** All queries of type <eiffel>STRING</eiffel> have been changed to <eiffel>STRING_32</eiffel>. Because <eiffel>STRING_32</eiffel> should not be convertible to <eiffel>STRING</eiffel>, it would break a lot of existing code, as a result and only for a transition period, we made <eiffel>STRING_32</eiffel> convert to <eiffel>STRING</eiffel>. In the next release this conversion will be marked obsolete, and in the release after the next it will be removed.
|
||||
** For queries whose type is a generic with <eiffel>STRING</eiffel> as one of the actual generic parameter, we changed <eiffel>STRING</eiffel> into <eiffel>STRING_32</eiffel>. Because no automatic conversion can be done in this case, we have introduced for a routine nnnnn following this pattern a new routine nnnnn_8 whose actual generic parameter is still <eiffel>STRING</eiffel>.
|
||||
|
||||
* <eiffel>WEL_TREE_VIEW</eiffel>:
|
||||
** Fixed <eiffel>get_item_rect</eiffel> which was always returning a 0,0,0,0 rect as we were not correctly initializing the rect structure with the pointer to the item.
|
||||
** Added <eiffel>get_item_text_rect</eiffel> which returns a rect only for the text of the items.
|
||||
|
||||
* <eiffel>WEL_WINDOWS_ROUTINES</eiffel>:
|
||||
** Improved <eiffel>window_of_item</eiffel> to reduce the number of cases where we might get an exception. This makes debugging easier.
|
||||
** Fixed <eiffel>resource_string_id</eiffel> which generated a call on Void target exception.
|
||||
|
||||
* Added ability to have drop down menus in <eiffel>WEL_TOOL_BAR_BUTTON</eiffel>.
|
||||
* Added the ability to add an icon to the SystemTray.
|
||||
* Added ability to drop files to <eiffel>WEL_WINDOW</eiffel> components.
|
||||
* Made all contextual menus being selectable from both left and right click (formerly it was only left click).
|
||||
* Fixed issue with contextual menus which might not appear correctly, nor respond to click or Esc key properly because the menu is not at the front.
|
||||
* Fixed in <eiffel>WEL_LIST_VIEW</eiffel> a bug where if the text of the string is too long, it would be displayed but truncated.
|
||||
* Fixed incorrect result for <eiffel>title_bar_height</eiffel> in <eiffel>WEL_SYSTEM_METRICS</eiffel>.
|
||||
* Fixed a memory corruption due to Windows not sending a WM_DESTROY or WM_NCDESTROY message in all cases when a window is actually destroyed.
|
||||
* Fixed a bug in <eiffel>WEL_REGISTRY_KEY_VALUE</eiffel>.<eiffel>string_value</eiffel> that might cause assertion violation when a value is an empty string, because a check whether the last character is null was done without checking if string has at least one character.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
[[Property:title|Release notes for EiffelStudio 6.0]]
|
||||
[[Property:link_title|6.0]]
|
||||
[[Property:weight|-7]]
|
||||
==Graphical environment==
|
||||
|
||||
===What's new===
|
||||
* New docking facilities which let you control the layout of tools in EiffelStudio. One can also lock the layout to prevent unwanted changes.
|
||||
* New tabbed editor.
|
||||
* Added configurable pick and drop which lets you choose between traditional context menu or pick and drop for a mouse right click operation.
|
||||
* EiffelStudio is now internationalized, it fully supports English, Chinese and German. A partial translation for French and Russian is provided.
|
||||
* Shortcuts can now be customized.
|
||||
* Added dependency view so supplier/client dependency of a group/folder/class can be investigated. Feature calls are included in dependency view.
|
||||
|
||||
===Improvements===
|
||||
* The combo boxes in the address bar can now be resized to see more text (useful with long class names).
|
||||
* Added ability to add new classes/clusters/assemblies early on in the compilation phase instead of waiting for a successful compilation.
|
||||
* Faster rendering of EiffelStudio when running it through Remote Desktop.
|
||||
* Auto-completion after bracketed expression. i.e. arr [i].*
|
||||
* Added preference "Maximum processor usage" to dictate the maximum number of processors/cores to use when compiling c-code.
|
||||
* Updated metrics documentation, see [[Metrics tool|for more details]] .
|
||||
|
||||
===Changes===
|
||||
* Changed the diagram default color from light yellow to white for consistency with the background color of other tools.
|
||||
* Improved history behavior.
|
||||
* Project settings such as arguments/working directory/location are now stored in a user specific location that does not depend on the UUID of the project, but on its path.
|
||||
* Favorites are now stored in the user settings.
|
||||
|
||||
===Bug fixes===
|
||||
* EiffelStudio and various tools should better handle paths with spaces.
|
||||
* Fixed add assemblies dialog not showing assemblies such as mscorlib on 64 bit systems.
|
||||
* Fixed bug#12083 where classes in override clusters would not get recompiled properly when automatically saved by EiffelStudio when requesting a compilation.
|
||||
* More bug fixes can be seen at [http://dev.eiffel.com/EiffelStudio_6.0_Releases the EiffelStudio open source site] .
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 5.7 and ISE Eiffel 6.0|here]] for the compiler release notes.
|
||||
|
||||
==Debugger==
|
||||
* Click [[Release notes for EiffelStudio 6.0 related to the debugger|here]] for the EiffelStudio's debugger release notes.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* Fixed issue with <eiffel>LINKED_QUEUE</eiffel>.<eiffel>twin</eiffel> which would violate its invariant.
|
||||
* Revisited contracts of <eiffel>LINEAR_ITERATOR</eiffel>.
|
||||
* Added facilities to read/write <eiffel>REAL_32</eiffel> and <eiffel>REAL_64</eiffel> values in big and little endian format in <eiffel>MANAGED_POINTER</eiffel>.
|
||||
* Changed <eiffel>INTERNAL</eiffel> so that it does not have the <eiffel>is_pre_ecma_mapping_disabled</eiffel> attribute. If you were setting it to True, you should instead create an instance of <eiffel>ECMA_INTERNAL</eiffel> (fixes bug#11792).
|
||||
* <eiffel>HASH_TABLE</eiffel>:
|
||||
** Sped up <eiffel>HASH_TABLE</eiffel> iteration and lookup by about 8% or more.
|
||||
** Added two new possibilities to detect/prevent catcalls, they can be enabled by enabling assertion checking and enabling the debug clauses ''prevent_hash_table_catcall'' and ''detect_hash_table_catcall''.
|
||||
|
||||
* <eiffel>TUPLE</eiffel> can now compare items using reference equality (=) or object comparison (<eiffel>is_equal</eiffel>).
|
||||
* Sped up <eiffel>SPECIAL</eiffel>.<eiffel>copy_data</eiffel> which was previously not inlined due to a change of signature preventing the inlining.
|
||||
* <eiffel>EXECUTION_ENVIRONMENT</eiffel>.<eiffel>get</eiffel> will only retrieve environment variable. It won't retrieve a value from the registry key on Windows (from HKLM\Software\ISE\Eiffelxx\app_name). This also means that MELT_PATH on Windows cannot be set in registry; this is not really a problem because now you do not need to set it since the W_code knows where to find it.
|
||||
|
||||
===EiffelNet===
|
||||
* Updated reading routines of EiffelNet so that for all basic types they would read all the required bytes, not just stop after reading the first. This is important as in some very bad network situation or if you have some signals you could mess up the reading by only reading half of the expected bytes.
|
||||
|
||||
===EiffelThread===
|
||||
* Fixed bug#12838 where on Linux you could not create more than 2^15 threads even if they all exited. Now we force creation of threads in a detached mode to allow more than 2^15 thread creations.
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
===WEL===
|
||||
* Raised compatibility bar to Windows 2000 or greater. No more support for Windows 98 or NT 4.0.
|
||||
* Added ability to convert image formats among all image formats on Windows (using <eiffel>WEL_GDIP_BITMAP</eiffel>).
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
[[Property:title|Release notes for EiffelStudio 6.1]]
|
||||
[[Property:link_title|6.1]]
|
||||
[[Property:weight|-8]]
|
||||
==Graphical environment==
|
||||
|
||||
===What's new===
|
||||
* New default layout for EiffelStudio tools to highlight the most common used tools whereas other tools are still available at the bottom or via the View menu.
|
||||
* New Errors and Warnings tool. It replaces the former Errors tool and Warnings tool and provides a nicer way to show errors and filtering them.
|
||||
* Revisited all the dialogs to provide a nicer and consistent look and feel.
|
||||
* Multiple errors are reported for each compilation degree.
|
||||
|
||||
===Improvements===
|
||||
* Use the default OS font for displaying tooltips.
|
||||
* C compilation failure will now show up as an error in the new Errors and Warnings tool.
|
||||
* Completion list will now show immediately after pressing '.' when the completion list is active.
|
||||
* Added ability to submit a problem report within EiffelStudio when it quits unexpectedly.
|
||||
|
||||
===Changes===
|
||||
* Support for the MinGW C compiler on Windows 32-bit. Borland is officially not supported anymore.
|
||||
* Completion list no longer shows obsolete items by default (set via a preference option).
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed incorrect results when using the profiler with a finalized system.
|
||||
* More bug fixes can be seen at [http://dev.eiffel.com/EiffelStudio_6.1_Releases the EiffelStudio open source site] .
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 6.0 and ISE Eiffel 6.1|here]] for the compiler release notes.
|
||||
|
||||
==Debugger==
|
||||
* Click [[Release notes for EiffelStudio 6.1 related to the debugger|here]] for the EiffelStudio debugger release notes.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* <eiffel>BINARY_SEARCH_TREE</eiffel>: Added <eiffel>tree_item</eiffel> which matches the item being searched.
|
||||
* <eiffel>LINEAR</eiffel>: Added <eiffel>item_for_iteration</eiffel> as a synonym of <eiffel>item</eiffel>.
|
||||
* <eiffel>STRING_8</eiffel> and <eiffel>STRING_32</eiffel>:
|
||||
** Improved speed of the <eiffel>to_xxx</eiffel> routines.
|
||||
** Added <eiffel>starts_with</eiffel> and <eiffel>ends_with</eiffel>.
|
||||
|
||||
* <eiffel>GC_INFO</eiffel>: Fixed non working computation of CPU time usage on Windows and added two new queries (<eiffel>cpu_total_time</eiffel> and <eiffel>sys_total_time</eiffel>) to find out the total CPU execution time of the program at the last GC cycle.
|
||||
* <eiffel>MEMORY</eiffel>: Added <eiffel>execute_without_collection</eiffel> to execute a procedure with no GC.
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
[[Property:title|Release notes for EiffelStudio 6.2]]
|
||||
[[Property:link_title|6.2]]
|
||||
[[Property:weight|-9]]
|
||||
==Graphical environment==
|
||||
|
||||
===What's new===
|
||||
* Added new contract editor tool to ease edition of contracts on routines and classes.
|
||||
* Added Eiffel Information System which let you connect external documentation to your Eiffel code and vice versa.
|
||||
* Added ability to avoid comment duplication by using the <code><Precursor></code> in your descendant comment to reuse the parent one which is shown in all our formatter tools..
|
||||
* Added new light batch compiler `ecb'. It provides the same features as `ec' when using the batch mode. Currently projects compiled with `ec' are not compatible with those compiled with `ecb'. The main difference between the two is that `ec' is compiled with exception trace and multithreading support which could slow down the compiler by a factor of 20 to 40% depending on your platform.
|
||||
* Added experimental unit testing tool.
|
||||
|
||||
===Improvements===
|
||||
* Error list tool now supports multiple selection, for better copy to clipboard usage.
|
||||
* Enhanced some errors to report better context information.
|
||||
* Optimized adding of items to the Error List by circumventing an expensive search when adding single items.
|
||||
|
||||
===Changes===
|
||||
* Error list items context now shows the full group name but after CLASS.feature because it is of lesser importance.
|
||||
* Restructured layout of user files to support unification and user-override files of Eiffel compiler installation files. Relocated default Eiffel projects location into the user files folder (windows and mac only).
|
||||
|
||||
===Bug fixes===
|
||||
* Fixed the EiffelCOM wizard so that it generates C code that compiles.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 6.1 and ISE Eiffel 6.2|here]] for the compiler release notes.
|
||||
|
||||
==Debugger==
|
||||
* Click [[Release notes for EiffelStudio 6.2 related to the debugger|here]] for the EiffelStudio debugger release notes.
|
||||
|
||||
==EiffelBuild==
|
||||
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
|
||||
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* Changed signature of {<eiffel>SPECIAL</eiffel>}.<eiffel>same_items</eiffel> and {<eiffel>SPECIAL</eiffel>}.<eiffel>all_default</eiffel> to take an extra argument. Our analysis shows that it was only used by <eiffel>ARRAY</eiffel> and that it should be harmless. If you have a compilation error, simply add `0' as first argument of your call.
|
||||
* Changed <eiffel>physical_size</eiffel> in <eiffel>INTERNAL</eiffel> to return the real allocated size of an object along with its header size.
|
||||
* Added <eiffel>deep_physical_size</eiffel> in <eiffel>INTERNAL</eiffel> to compute the size of an object and all its dependencies.
|
||||
* Improved speed of <eiffel>read_stream</eiffel> in <eiffel>FILE</eiffel> so that it used underlying `fread' once rather than calling `getc' for each requested character. Our benchmarks show that you can save up to 2s for 1000 calls.
|
||||
* Added an assigner routine for <eiffel>item</eiffel> in <eiffel>ARRAY2</eiffel>. This might break descendant classes of <eiffel>ARRAY2</eiffel> redefining <eiffel>item</eiffel>.
|
||||
* Updated code toward Void safety.
|
||||
|
||||
===EiffelNet===
|
||||
* Fixed bug in {<eiffel>SOCKET</eiffel>}.<eiffel>read_stream</eiffel> where if there was a socket error, then it would cause a precondition violation in <eiffel>C_STRING</eiffel>.
|
||||
|
||||
===EiffelTime===
|
||||
* Added support for <eiffel>DEBUG_OUTPUT</eiffel> for <eiffel>DATE</eiffel>, <eiffel>TIME</eiffel> and <eiffel>DATE_TIME</eiffel> objects making it easier to debug code based on them.
|
||||
* Fixed bug where duration in days between two dates overlapping a leap year would yield a result off by +1 or -1.
|
||||
* 10% speed improvement on certain date operations (can be seen on eweasel test#time002).
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
===EiffelVision2===
|
||||
* Fixed a bug in {<eiffel>WEL_REGISTRY</eiffel>}.<eiffel>enumerate_key</eiffel> where the routine would go in an infinite loop if the key name was larger than 64 characters.
|
||||
|
||||
[[EiffelStudio release notes|Click here to check out what was new in other versions]]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
[[Property:title|EiffelStudio release notes]]
|
||||
[[Property:link_title|Release Notes]]
|
||||
[[Property:weight|-15]]
|
||||
* [[Release notes for EiffelStudio 6.2|EiffelStudio 6.2]]
|
||||
* [[Release notes for EiffelStudio 6.1|EiffelStudio 6.1]]
|
||||
* [[Release notes for EiffelStudio 6.0|EiffelStudio 6.0]]
|
||||
* [[Release notes for EiffelStudio 5.7|EiffelStudio 5.7]]
|
||||
* [[Release notes for EiffelStudio 5.6|EiffelStudio 5.6]]
|
||||
* [[Release notes for EiffelStudio 5.5|EiffelStudio 5.5]]
|
||||
* [[Release notes for EiffelStudio 5.4|EiffelStudio 5.4]]
|
||||
* [[Release notes for EiffelStudio 5.3|EiffelStudio 5.3]]
|
||||
* [[Release notes for EiffelStudio 5.2|EiffelStudio 5.2]]
|
||||
* [[Release notes for EiffelStudio 5.1|EiffelStudio 5.1]]
|
||||
* [[Release notes for EiffelStudio 5.0|EiffelStudio 5.0]]
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user