Difference between revisions of "EiffelStudio 6.6 Releases"

(Bug fixes)
(Final 6.6 release)
Line 3: Line 3:
 
= EiffelStudio 6.6.x Releases=
 
= EiffelStudio 6.6.x Releases=
  
==6.6.8.3xxx (Final Release, May 2010)==
+
==6.6.8.3315 (Final Release, May 26th 2010)==
 
===New features===
 
===New features===
 
* base: Added a feature <e>trim</e> to the class <e>RESIZABLE</e> and its descendants to allow for minimizing the use of allocated storage.
 
* base: Added a feature <e>trim</e> to the class <e>RESIZABLE</e> and its descendants to allow for minimizing the use of allocated storage.

Revision as of 14:07, 26 May 2010

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.6.x Releases

6.6.8.3315 (Final Release, May 26th 2010)

New features

  • base: Added a feature trim to the class RESIZABLE and its descendants to allow for minimizing the use of allocated storage.
  • studio: Allows users to double left click on the editor tab ribbon to create a new tab. The tab is created on the right, as that is where users click. Once the tab is opened then the address bar is focused and the contents removed. It's ready for editing.
  • studio: Implemented "Ctrl+ Enter" on address bar to open the class/feature in a new tab editor (if editor with current class/feature not already exists).
  • studio: Handled mouse-middle-click to close pointed editor tab.
  • compiler: Supported new once per object.
  • debugger: Supported new once per object.
  • library: Enabled iteration (using across form of a loop) over ARRAYED_SET.
  • debugger: Added the possibility to copy, to the clipboard, the text representation of selected call stack elements (from the call stack tool). using Ctrl+C or Ctrl+Ins
  • compiler: Supported qualified anchored types that may come in two flavours: like f.g.h, where f, g, h are feature names, and like {T}.a.b, where T is a type and a and b are feature names. (The current implementation has the following limitations: quailified anchored types that involve formal generics with multiple constraints are not supported, creation and object tests with the type depending on qualified anchored types that involve deferred intermediate types are not supported on .NET.)

Improvements

  • base: Modified ARRAYED_QUEUE to avoid using an extra slot that did not keep any value and was used only for implementation purposes.
  • studio: added shortcuts for "Run workbench system" and "Run finalized system"
  • studio/debugger: added an option in the "Edit Expression" dialog to show the "full error message" (i.e: include the exception trace) when an exception occurs during expression evaluation. Then now by default, we keep only short description (otherwise this could been too slow), and on request the user can get the full error message.

Feature removed

Bug fixes

  • compiler: Fixed test#incr168 when recompilation did not regenerate the code in some complex cases when features are modified deep in inheritance tree. It also fixes eweasel test#exec283 and addresses a consistency issue with the order of merging inherited assertion clause that would not trigger the same output if recompiled from scratch after some incrementality changes (see eweasel test#incr124).
  • compiler: Allowed manifest real constants to be assigned to REAL_32 entities without having the need to type the constant, that is to say `r_32 := 4.5' will now be accepted whereas before one had to do `r_32 := {REAL_32} 4.5'.
  • compiler: Fixed test#runtime016 due to an improper optimization of the call {SPECIAL}.copy_data when inlining is enabled. It could cause a memory corruption.
  • debugger: fixed void-safe issue in execution record and replay mechanism.
  • compiler: Fixed bug#16626 bug that occurred when melted code called frozen code that called a melted agent triggering exception (see test#incr348).
  • studio: Fixed issue with remaining popup window for grid's cell (bug#16646)
  • debugger: Fixed issue with execution recording GUI. It should always be disabled for dotnet, since it is not (yet) supported by the debugger (on eiffel/dotnet). (closing bug#16538 , bug#16520)
  • studio/debugger: Minor improvement to "unset" environment variable in execution environment (debugging). This add a "Unset" menu entry on RightClick
  • studio/debugger: Fixed issue when you have a variable prefixed with "&-" (i.e: marked to be unset at execution).
  • studio/debugger: Fixed regression "Keep Assertions Checking" settings for expression evaluation (now it works again)
  • debugger: Fixed bug#16598: Melted system execution stops for invariant violation, then resumes by itself
  • debugger: Fixed request bug#15991: Object Viewer selector always selects XML Viewer when I want the String Viewer
  • debugger: Fixed bug#16776: Debugger hang when evaluating /~ expressions

User changes

  • studio/breakpoints: now left clicking on breakpoint slot has effect on "button release event", moving breakpoints within the same feature is now possible with drag&drop (not anymore using Ctrl+Right-click)

Developer changes

6.6.8.2636 (March 22nd 2010)

New features

  • base: Added support for correct mismatch in the SED serialization cluster.

Improvements

  • runtime: When twinning a SPECIAL instance where `capacity' is much higher than its `count' the new copy will have its `capacity' set to `count'.
  • studio: added new Error List tool preference "tools.error_list.show_tooltip", so end users can specify if rich tooltip window should be shown automatically in the Error List tool.

Feature removed

Bug fixes

  • compiler: Fixed bug#16545 when compiler did not detect that a new file does not contain an expected class after referencing it in a system (see test#incr340).
  • compiler: Fixed several recompilation bugs (bug#16546, bug#16547, bug#16553) for cases when a feature with assertions is removed from a parent class while a child class remains unchanged (see test#incr341, test#incr342, test#incr343).
  • studio: Fixed bug#15788 (bug#16209, bug#16278) Error tooltip flashing when mouse outside of EiffelStudio
  • studio: Fixed bug#16543 Searching in feature Implementers or Descendants does not scroll to show match
  • compiler: Fixed recompilation bugs (bug#14525, bug#16052) that caused compiler crash or incorrect error message when checking inherited code of a client that refers to a feature that is (re)moved (see test#incr293, test#incr338).
  • delivery: Ensured that the void-safe versions of precompiled libraries are indeed included.

User changes

  • studio: The experimental mode is now gone, it has become the default. To have access to the default mode of 6.5, one has to use the compatible version.

Developer changes

6.6.8.2484 (March 1st 2010)

New features

  • Compiler: Added a new option Total Order on REALs which let you have NaN equal to NaN and NaN being the smallest number of all. This option is disabled by default as it could break existing code. The rationale for this option is to have contracts work properly when manipulating the NaN value and not getting spurious contract violation.
  • Compiler: Added the ability to version a class for storable. It is done via the note clause of a class, i.e. note storable_version: tag. When the storing and retrieving system have a different version a mismatch is triggered even if they look to have the same content.

Improvements

  • studio: added the inherit clauses in the "Features tool" (to ease navigation in the edited class)
  • compiler: Added support of transient attributes for .NET. Added queries in INTERNAL to find out the transient attributes. Extended the Eiffel serialization SED to support them.

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#exec324 where a recent optimization would optimize away the code generation of the target of a call to `do_nothing'.
  • compiler: Fixed in void-safe mode conformance of detachable COMPARABLE to attached ANY. Fixes updated eweasel test#conform001.
  • debugger: do not open more than one breakpoint dialog on the same breakpoint (avoid conflict)
  • debugger: Fixed bug#16618: Setting conditional breakpoint sometimes sets unconditional breakpoint
  • runtime: Fixed eweasel test#exec323 where comparison using <= or >= in melted mode which involved NaN was not yielding the same result as in workbench mode.

User changes

  • studio: the format for layout has changed so you might end up having to delete the EiffelStudio private files to get the correct layout.

Developer changes

6.6.8.2214 (February 1st 2010)

New features

  • compiler: Supported new variant of a check instruction that is not subject for assertion monitoring settings (in other words the check cannot be turned off) and can be used to introduce a new void safe scope of a read-only or object test local:
check Assertion then
   Compound
end

Improvements

  • runtime: Redone some of the multithreading internals of the Eiffel runtime to make it easier to add platforms and to ensure the same behavior on various platforms.
  • runtime: On Windows, the MUTEX class is now internally using a CRITICAL_SECTION object which is much more efficient especially with multiprocessors.
  • base: Added support for nan, negative_infinity, positive_infinity and their `is_xxx' corresponding queries.
  • base: Allowed {ARRAY}.force to be used with arrays of attached types when index is either `lower - 1' or `upper + 1'. This let you progressively fill an empty array from 1 to the expected count.

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#agent001 and test#agent013 by preventing wrong optimization when call to `{ROUTINE}.call' or `{FUNCTION}.item' are subject to dynamic binding.
  • compiler: Fixed bug#16593 where finalizing twice in the same sessions with many changes in the system could cause the compiler to crash during degree -3.
  • studio: Fixed editor refresh issue when saving modifications in the Contract Tool.
  • studio: Fixed catcalls when building the Contract Tool.
  • studio: Fixed bug#14857 Store the external commands in ISE User files
  • studio: Fixed bug#16410 Error List window comes up blank on error if auto-hidden when estudio started
  • debugger: Fixed a hang in EiffelStudio when inspecting a different threads than the current stopped one on platforms where thread identifiers are larger than 32-bit (e.g. Linux)
  • runtime: Made sure to use recursive mutexes on all our platforms.
  • runtime: Fixed eweasel test#store029 where retrieving a storable made by 6.3 or older could fail with a mismatch error when there is actually no mismatch.
  • net: Fixed tftp_server_console sample so that it uses a multithreaded precompilation of EiffelBase and fixed a precondition violation when receiving a GET command.
  • net: Fixed precondition violation in {ARRAY}.force when compiling EiffelNet in void-safe mode.
  • net: Changed internal of MEDIUM_POLLER to use HASH_TABLE, as a consequence the queries `read_command_list', `write_command_list' and `exception_command_list' are now obsolete and should not be used.
  • base: Fixed ARRAY2 so that it can be used in void-safe mode too. Improved ARRAY2 resizing efficiency.

User changes

  • thread: Made the THREAD class thread-safe which prevents using the same object to launch a new thread. Now there is a precondition `is_launchable' and a status report `is_last_launch_successful' to help finding out if a thread was really launched.
  • base: Changed the display of REAL/DOUBLE fields to show REAL_32 or REAL_64.
  • base: Changed the display of NaN/-Infinity/Infinity for real numbers so that it is the same on all our supported platforms.
  • compiler: Now the compiler will report usage of is keyword as obsolete in transitional mode and will reject it in standard mode.

Developer changes