EiffelStudio 6.2 Releases

Revision as of 12:01, 22 February 2008 by Manus (Talk | contribs) (Developer changes)

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

6.2.x

Placeholder for new stuff since last intermediate release.

New features

  • studio: Integrated the contract viewer into the editor.
  • studio: Implemented a inherited/original feature comment specification so there is no need to replicate comments.
  • studio: All formatter tools show feature inherited/original comments

Improvements

Feature removed

Bug fixes

User changes

  • base: Changed signature of {SPECIAL}.same_items and {SPECIAL}.all_default to take an extra argument. Our analysis shows that it was only used by ARRAY and that it should be harmless. If you have a compilation error, simply add `0' as first argument of your call.

Developer changes

  • compiler: Changed the internals of the compiler to remove TYPE_I and descendants (however kept TYPE_C and descendants) to merge them with TYPE_A. This avoids code duplications and provide more features at code generation time such as cheap conformance check.
  • compiler: Changed the code generation so that encoded names are consistent as: Xyyy[_zzz] where `X' stands for the kind of name (feature, polymorphic table, address table), `yyy' and `zzz' are some IDs to identify the construct (for routine is is type ID followed by body index). This change enables in finalized mode to describe names more than 32767 alive types and 131071 generated features. However the number of types is still limited to 32767, possibly we will increase this to 65535 in 6.2 after reviewing the runtime code for proper typing. Once this is done, we can configure it to either 2^16 ot 2^32 during the compilation of the runtime.

6.2.7.2277 (February 12th 2008)

New features

Improvements

  • base: PLATFORM has a new query `is_mac' for detection of Darwin-base platforms.
  • studio: The exception submit dialog now retains remembered login between EiffelStudio sessions.
  • studio: Rendered the debug/editor transition window better, using ESF popup windows.
  • studio: disabled menu entries have a nice disabled icon.

Feature removed

Bug fixes

  • studio: Error list tool tips now disappear when the row is removed.
  • studio: Fixed ESF dialog ENTER key handling for buttons.
  • cURL: Library now supports the MacOSX's use of .dylib instead of Unix .so files.
  • compiler: Fixed eweasel test#time001 where built_in `infix/prefix' routines were not processed. In the above eweasel test, `BOOLEAN.infix "or"' was always returning False regardless of the value of Current or its argument.

User changes

  • debugger: data (breakpoints, profiles, ..) are now save on a per project basis
  • debugger: the breakpoints tool offers now sorting and filtering on tags
  • debugger: execution option dialog had been improved, discardable dialog when closing, no need to save when you keep the dialog open.

Developer changes

  • ESF: Event List service tool foundations can now make use of partially dynamic lists for speed optimizations, just by enabling it on the event_grid.
  • ESF: Added *temporary* widget propagation routines to the tool panel foundations copied from core tool foundations. The tool panel foundations will be switches to inherit one of the tool foundation classes in the future.
  • studio: Feature relation tool view modes can now be switches through the tool proxy, as well as setting a stone + view mode.
  • studio: Added file modification notifier service.
  • compiler: One can use the AST_COMPILER_FACTORY alone to compile Eiffel code (no reliance on AST_ROUNDTRIP_COMPILER_LIGHT_FACTORY.
  • debugger: data is now saved at the same location as the project location, rather than in a file in the EIFGENs directory.
  • debugger: redesigned the way we launch execution.

6.2.7.2075 (January 28th 2008)

New features

Improvements

  • debugger: support Exception As Object (i.e: show the exception object, updated the exception handling mechanism)

Feature removed

Bug fixes

  • studio: Fixed issue with displaying the address bar on the metric tool.
  • studio: Added new intelligent popup editor tokens for usability/annoyance feedback.

User changes

Developer changes

6.2.7.2001 (January 22nd 2008)

New features

Improvements

  • compiler: Speed up compilation time at degree 3 (and degree 4 to some extend) by a significant factor for large systems. The more classes you have, better is the improvement. Speed up code generation (degree -1 and -3) as well by a smaller factor.
  • studio: Pop up address bar and completion window respects maximized IDE window borders, when using multiple screens.

Feature removed

Bug fixes

  • compiler: Fixed compiler crash when compiling a class where a type used in a signature of a feature has the wrong number of generic parameters. Fixed eweasel test#incr285.
  • compiler: Fixed an incorrect code generation for the dynamic binding of routines defined in generic classes (eweasel test#exec272 and test#final039) and attribute access in general (eweasel test#final039).
  • compiler: Fixed an incorrect code generation for `is_equal' in ANY when exception trace is off which could cause a memory corruption.
  • library: Made EiffelCOM compilable (it was missing from the previous 6.2 releases due to an incompatibility with Exceptions as objects).
  • base: Made STORABLE inherit from EXCEPTIONS again to avoid breaking existing code.
  • vision2: Added hide actions to EiffelVision 2 windows.

User changes

  • runtime: Changed the usage of `eif_adopt', `eif_protect', `eif_wean', `eif_freeze' and `eif_unfreeze' so that they can be used in concurrent thread. Meaning that it is safe to use them as long as the argument is different in various threads.

Developer changes

  • Debugger: Added hidden breakpoints.
  • ESF: Popup window foundations now respect screens and widgets. The popup automatically repositions itself when a popup widget is displayed/hidden.
  • studio: Integrated handler for displaying smart token context buttons based on editor tokens.

6.2.7.1786 (January 7th 2008)

New features

  • studio: Error list tool now supports multiple selection, for better copy to clipboard usage.
  • compiler: Exceptions as objects are now implemented.
  • compiler: Generated code is about 3-4% faster and generated executable about 2-3% smaller.
  • debugger: new breakpoint editor dialog, and new when hits actions, including filter using tags

Feature removed

Bug fixes

  • runtime: Fixed some issues with storing and retrieving of expanded generic types.

User changes

Developer changes

  • studio: Added new session manager service for data persistence between running instances of EiffelStudio.
  • studio: Improved selection handling in some tools and in common implementation.
  • studio: Debug-memory tool is now hooked into the session manager service to retain selected buttons and filter information.
  • studio: Integrated new help providers service. No help providers implemented yet.
  • studio: Switched over features tool to use ESF and new optimizations.