EiffelStudio 6.5 Releases

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.

EiffelStudio 6.5.x Releases

6.5.8.1777 (Final Release, December 8th 2009)

Bug fixes

base: Fixed bug in `remove_substring' from STRING_32 and STRING_8 which was not resetting the string's hashcode.

base: Fixed contract violation in FORMAT_INTEGER for CR/DR.

docking: Fixed one compilation error that prevented void-safe mode compilation of the library.

docking: Made dragging of tools or notebook tabs more sensitive, previously if you only moved along one axis it would have no effect.

store: Fixed a segmentation violation in the ODBC handle in the experimental version of the library.

vision2: Implemented workaround for window segfaults on latest Ubuntu where gtkwindow objects created before the main app causes a seg fault.

debugger: Fixed bug#16488 where you would get a feature call on void target in {EV_GRID_EDITABLE_ELLIPSIS_ITEM}.set_text in EiffelStudio.

studio: Fixed bug#16489 where selecting the current target in the groups tool while having previously selected a cluster would cause an infinite loop and memory exhaustion.

runtime: Fixed a bug in CECIL macros which would cause a segmentation violation on some platforms at the first GC cycle.

runtime: Fixed bug#16395 and eweasel test#store026 to avoid mismatch if the metadata stored in `eskelet' is simplified or not (i.e. for class A[G] feature g: B[G], and then having A [INTEGER] could either describe `g' as either `B[G]' or `B[INTEGER]', even though different they are the same type and should not yield a mismatch).

examples: Fixed some of the CECIL samples.

6.5.8.1614 (November 23rd 2009 - Release Candidate 2)

New features

Improvements

Feature removed

studio: removed all void-safe configurations in non-experimental mode. One has to use experimental mode to really get void-safe benefits.

Bug fixes

debugger: Fixed major issue with evaluation of object test locals on feature without any (normal) locals.

debugger: Fixed bug#16382: Watch expression gives improper result for an object test local

vision2: Fixed a hanging issue when performing P&D on Windows when the computer is under somewhat heavy load.

runtime: Fixed eweasel test#store028 where retrieving an object whose type involves a TUPLE type without a TUPLE instance could corrupt the retrieval system.

compiler: Fixed bug#15241 where an extra ')' was generated in workbench mode when freezing just after finalizing with keeping assertions.

Feature removed

Bug fixes

compiler: Fixed eweasel test#svalid022 where conversion to a target of a detachable type was not accepted, and also now the compiler will verify that the source of the conversion is always attached. Ensured that the source or the target type mentioned in a convert clause is attached.

compiler: Fixed eweasel test#svalid024 where using an inspect clause with static constant access would failed to compile in a descendant class when `full class checking' is enabled.

compiler: Fixed eweasel test#term156 and test#svalid025 where compiler would crash while compiling code that needs to be regenerated in descendant classes (e.g. code from precondition) involving anchors or formal generic parameters.

compiler: Fixed creation of manifest array with an attached actual generic parameter to not throw a precondition violation in void-safe mode.

compiler: Ensured that code generation in .NET mode with experimental compiler worked properly. The current limitation is that manifest type instances are not unique unlike their classic counterpart and that {ANY}.generating_type cannot be applied on .NET types.

runtime: Fixed a crash at runtime on Windows for non-console application when they try to output or read something from the console.

base: Fixed invalid retrieval of SPECIAL objects using the Eiffel SED serializer in experimental mode.

User changes

arg_parser: `make_hidden' now takes one argument less.

Developer changes

6.5.8.524 (August 30th 2009)

New features

libraries: added the base extension library that offers some extra functionality to EiffelBase. Namely a SEARCH_TABLE which is basically a HASH_TABLE where keys and items are the same, and sorting facilities for INDEXABLE containers.

Improvements

studio: Automatic class licenser can now use license.lic files next to an ECF instead of naming file *.lic after the ECF. Makes it easier for multi-ECF libraries.

Feature removed

Bug fixes

base: Fixed issue with `put' and `extend' from PART_SORTED_SET which had no effect and thus causing a postcondition violation.

base: Fixed issue with `remove' in BINARY_SEARCH_TREE_SET which would not move the cursor and thus causing an infinite loop in `subtract', `intersect.

base: Added ability to create a directory recursively.

testing: Fixed an issue with the Eiffel runtime override of byte code causing some test execution to fail if no code was melted.

studio: Fixed issue with ES crashing when trying to merge a license, when class contains an empty note clause.

studio: Fixed issue where project settings would let you add twice the same include file rule.

studio: Fixed an issue where clicking in the project settings entry to display a dialog and then clicking cancel would show the dialog a second time.

studio: Fixed bug#14840: Extracted homonyms once, and now Estudio keeps trying to extract them again

Improvements

studio: Now double clicking on an ecf file will select the previously compiled target by default.

ec: Fixed command line compilation to use the current working directory unless -project_path is specified (restoring pre-ecf behavior)

ec: When an ecf file has been specified with -config, the previously compiled target is chosen as the first option in the compilable target list.

AutoTest: Improved tag tree for displaying tests by merging view/filter box into one input field

AutoTest: Potential test classes are traversed asynchronously after each compilation, allowing the user to continue working while tests are found. This also removes the need for special test clusters.

AutoTest: Improved the way tests are executed. By tagging a test with "execution/isolated" the test process is restarted before and after the test is executed. By tagging a number of tests with a tag "execution/serial", the tagged tests are not executed in parallel. Because of these changes, test execution and generation might not completely work in the next release (missing test results/output).

AutoTest library: {EQA_TEST_SET}.on_prepare is called during `default_create', which makes it simpler to use attached attributes in void-safe tests.

AutoTest library: Moved actual test routine invocation into {EQA_TEST_SET}.run_test which can be used to nest the test routine call. This is used for example by Vision2 tests to launch the event loop before calling the test routine.

compiler: Fixed issues in experimental version when introducing `generating_type: TYPE [like Current]' in ANY which was causing a few eweasel tests. Also add new test for bug found with manifest type (eweasel test#melt097 and test#valid257).

base: Added missing `own_from_pointer' in .NET version of MANAGED_POINTER

studio: Fixed issue where one could not change an integer based preference entry in EiffelStudio.

compiler: Fixed issue where one could not debug an application if the `executable_name' specified in the ECF contained the .exe suffix on Windows. This fixes bug#11834.

User changes

compiler: the indexing value volatile previously introduced has been renamed into transient.

Developer changes

6.5.7.9500

New features

base: Changed {ANY}.generating_type to return an instance of TYPE

runtime: Added support for transient attributes for store/retrieve. A transient attribute is an attribute which is not stored at runtime and for which its absence in the retrieval system has no effect.