Difference between revisions of "EiffelStudio 6.0 Releases"

(New features)
m (New features: Added a note on support for "interface_metadata" and "class_metadata" indexing tags for features)
Line 10: Line 10:
 
* EiffelWizard: Introduced i18n library to make it possible to display in different languages.
 
* EiffelWizard: Introduced i18n library to make it possible to display in different languages.
 
* compiler: .NET Enums are can be automatically converted to INTEGERs
 
* compiler: .NET Enums are can be automatically converted to INTEGERs
 +
* compiler: indexing tags ''interface_metadata'' and ''class_metadata'' are supported on feature level like this is done on class level and allow to specify custom attributes for associated methods only in interface type or only in implementation type.
 
* debugger: dropping feature or class stones on breakpoints tool to add related breakpoint
 
* debugger: dropping feature or class stones on breakpoints tool to add related breakpoint
 
* debugger: enhanced breakpoint mechanism by adding print message, hit count (condition), and provide "Is True" and "Has Changed" condition.
 
* debugger: enhanced breakpoint mechanism by adding print message, hit count (condition), and provide "Is True" and "Has Changed" condition.

Revision as of 12:33, 17 January 2007

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

6.0.x

Placeholder for new stuff since last intermediate release.

New features

  • studio: Finished internationalizing starting dialog, wizards.
  • studio: Integrated Smart Docking library.
  • studio: Integrated tab editor mechanism.
  • EiffelWizard: Introduced i18n library to make it possible to display in different languages.
  • compiler: .NET Enums are can be automatically converted to INTEGERs
  • compiler: indexing tags interface_metadata and class_metadata are supported on feature level like this is done on class level and allow to specify custom attributes for associated methods only in interface type or only in implementation type.
  • debugger: dropping feature or class stones on breakpoints tool to add related breakpoint
  • debugger: enhanced breakpoint mechanism by adding print message, hit count (condition), and provide "Is True" and "Has Changed" condition.

Feature removed

Bug fixes

  • studio: Fixed bug#11760 that replacing on empty result crashed es.
  • studio: Auto-complete members for open target agents have been corrected. bug#11767.
  • studio: Fixed bug#11772 that a crash ocurred while renaming clusters in property tool.
  • compiler: Fixed bug causing test#dotnet046 to fail, now functions that are .NET properties can be called and executed from client code.

User changes

  • compiler: added conversion of TYPED_POINTER to POINTER before reattachment to reference entity so that the behaviour is the same in classic and .NET modes
  • compiler: All versioned COM import interfaces now have versioned interface member names based on the trailing version number of the interface name, as this meta information is not available in any other way. This greatly improves the versioned names and makes implementing interfaces much easier.
  • compiler: The unique keyword will yield a syntax warning if enabled.
  • debugger: improved cosmetic of debugger's exception handling dialog

Developer changes

debugger: refactored breakpoints and exceptions processing for easier integration of other projects on debugger.

6.0.65740

New features

  • debugger: console based debugger is now working for classic, dotnet, on windows and unices (-debug or via -loop : still experimental)

Feature removed

Bug fixes

  • compiler: fixed a bug in .NET consumer that can cause some assemblies to be consume infinitely.
  • compiler: fixed a .NET bug that prevents System.Windows.Forms.Panel from being compiled correct and subsequently causing a compilation to fail, due to incorrect an mapped inherit property and assigner. This addresses test#dotnet043.
  • compiler: Fixed bug#11758 for eweasel test#incr279, where the compiler would crash when generating the call to Precursor when both the current class and the parent class had their number of formal generics changed.
  • compiler: Fixed bug#11766 for eweasel test#term146 and test#incr129 where the compiler would crash at degree 4 when checking the conformance of a feature, and the signature involves a type which have an incorrect parent hierarchy (i.e. one parent does not have the right number of actual generic parameters).
  • store: Fixed bug#10523: if you create a DB_REPOSITORY before being connected to the database, some of the queries made on the database are not returning the proper result in ODBC(e.g. odbc_sensitive_mixed will return 0 instead of 3 for an ORACLE database). By adding the precondition we nicely solve the problem by forcing client to connect first before creating an instance of DB_REPOSITORY.
  • store: Fixed some issues related to the new implementation of expanded semantics which would break some introspection part of EiffelStore.
  • favorites: fixed bug#11745 "feature item" favorites were being lost on restarting EiffelStudio
  • gui: fixed bug#11749 with debugger's grid being empty.
  • debugger: fixed bug#11755: empty string with huge capacity were slow to be displayed.
  • debugger: improved display of objects tool header bar. (minor)

User changes

  • base: sped up {SPECIAL}.copy_data which was not inlined.

Developer changes

6.0.65604 (December 17th 2006)

New features

  • compiler: improved backup mechanism so that overridden classes are copied in the library where they are defined (they were previously copied in the library where the override cluster was defined).
  • studio: Integrated the internationalization library. Added a preference named "general.locale" to switch among languages. English and Chinese are available for the moment
  • debugger: added auto expressions on watch tools
  • studio: Added metric history support. Calculated metrics with their inputs can be sent into history so they can be recalculated afterwards.
  • general: Revision number of EiffelStudio has changed because we reached the limit set by most OS for the revision (65535). So now it is split into revision.build, that is to say rev 65570 will read 6.5570.
  • debugger: added an experimental console based debugger.

Bug fixes

  • compiler: Fixed issue with inline agents where if you have one and during a compilation from scratch you have a compiler error, then fixing this error and recompiling, it would crash when melting or freezing (test#incr277).
  • compiler: Fixed issue with C compilation linking error when a generic class which have an invariant clause has its formal generics changed (test#incr278).
  • compiler: Fixed C compilation error on Windows for trying to compile empties Cxxx directories (test#ccomp061).
  • compiler: Fixed incorrect code generation of agents on attribute when target is open (test#exec264).
  • compiler: Fixed incremental bug when an agent creation based on a feature whose signature changes for less arguments (test#incr276).
  • compiler: Fixed a backup creation bug when two classes from the same cluster/library have the same original file name, the backup would only contain one or the other because we use the original file name. Now we use the original class name.

User changes

  • base: Sped up HASH_TABLE iteration and lookup by about 8% or more.
  • base: TUPLE can now compare items using reference equality (=) or object comparison (is_equal).
  • vision2: Changed behavior of {EV_TITLED_WINDOW}.raise to always make sure the window is visible on screen (show if hidden, restore if minimized).
  • vision2: Fixed behavior of is_show_requested and is_displayed for EV_GRID and its items so that it conforms to the widget behavior in Vision2.
  • wel/vision2: Raised compatibility bar to Windows 2000 or greater. No more support for Windows 98 or NT 4.0

Developer changes

  • debugger: deep refactoring (reduce the number of onces, renamed and moved some debugger related data)
  • studio: to help track incremental compilation bugs, we build a replay backup window that given a backup directory will go through each compilation and perform them the way it was done by the end user.

6.0.65344 (December 3rd 2006)

New features

  • compiler: A root type can now be a generic derivation.
  • studio: 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.
  • compiler: Integers can now also be specified with binary and octal representation
  • compiler: Manifest characters can now also be specified with binary, octal and hexadecimal representation. Manifest characters can be specified up to 32 Bit.
  • compiler: Possibility for "hidden/implementation" clusters in libraries, clusters that are not accessible if the library is used (like libraries in libraries are not accessible).
  • compiler: Added supplier_precondition assertion level that enables to only check preconditions of trusted libraries.
  • debugger: New Debugging options dialog (to set the arguments and other)
  • compiler: Don't do an expensive degree 6 when we freeze or finalize.
  • compiler: Newly added clusters are recursive by default.
  • studio: Favorites are now stored in the user settings.
  • compiler: Warning if an environment variable has changed and opportunity to (temporarily) use the old, stored value
  • compiler: Trigger a full configuration rebuild if environment variables have changed
  • compiler: Added configurable (project to class-level) optimization for .NET project that will mark all classes frozen if they are not descended by another.
  • studio: Add assemblies dialog shows more assembly information.
  • studio: Some diagram generation for assemblies
  • studio:Display documentation for .NET Framework assemblies on .NET 2.0
  • studio: Display features tree for .NET classes.
  • studio: Display uncompiled .NET classes.
  • debugger: Now we can pass modified environment variables to the debuggee application.
  • compiler: Externals (includes, objects, resources, ...) can now be relative to the ecf file by using the new replacement $ECF_CONFIG_PATH.
  • compiler: UUID is not needed for non library systems. If no uuid is specified a random one will be generated. (Startup dialog may not work correct if the config has not been saved with the random generated uuid)
  • debugger: New contextual menu on breakpoints tool for multiple action on class (enable first bp on all features ...)
  • studio: Only expand the currently used target in the project settings.
  • compiler: Changed version of configuration format to 1.1.0
  • compiler: Only print warnings for unknown attributes and tags if we detect an unknown version (try to be upward compatible).
  • compiler: Speed up consumer cache synchronization so working with large .NET caches or large assembly sets is much faster.
  • debugger: now it is possible to restart the debuggee without unraising and raising again the debugger's interface
  • debugger: now we keep the layout for each watch tool in preferences.
  • compiler: Custom conditions now also take environment variables into account.
  • compiler: Display unsubstitued path to cluster/assembly/library if a file/directory open error occurs.
  • studio: Added a cancel button in the dialog of the automatic precompilation to cancel the precompilation.
  • COM Wizard: EiffelStudio button is enabled also if the Eiffel compilation fails.
  • compiler: Generate an error if a configuration file used in a precompile has structurally been changed as the precompile is not usable in this case anymore.
  • base: The HASH_TABLE in base has 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.
  • studio: Added dependency view so supplier/client dependency of a group/folder/class can be investigated. Feature calls are included in dependency view.
  • studio: Added syntactical supplier/client support in class view.

Bug fixes

  • COM wizard: Time library was not included which lead to problems if a COM component used the DATE_TIME data type.
  • compiler: Fixed incrementality bug with agents where finalizing and then freezing would cause some unresolved externals.
  • compiler: Don't do an expensive degree 6 if assertion level or similar project settings have changed.
  • studio: Decreased amount of created GDI objects on windows in some grids.
  • studio: Fixed a problem with externals in the project settings.
  • studio: Fixed viewpoint handling for assemblies
  • studio: Fixed output to file redirection in the process library on windows.
  • studio: Fixed samples that would not compile.
  • compiler: Fixed a crash if a library without an UUID is used.
  • compiler: Fixed a problem that classes that were not visible before did not get compiled when they were made visible.
  • compiler: Fixed CECIL name if there is a renaming specified in the visible clause.
  • compiler: Fixed VTCT error was not detected if a prefix/renaming changed on an assembly or library.
  • vision2: Fixed bug when setting a pixmap on a menu entry which has a submenu, the submenu would disappear.
  • compiler: Fixed a bug in the check if local assemblies are present.
  • compiler: Fixed some problems with sub clusters of overrides.
  • compiler: Interpolate environment variables also in metadata cache path specified on the command line.
  • compiler: Fixed some bugs in the documentation generation related to sub clusters.
  • compiler: Option changes always led to an expensive degree 6 even if a fast degree 6 would have been enough.

User changes

  • base: EXECUTION_ENVIRONMENT.get 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 since now you do not need to set it since the W_code knows where to find it.

Developer changes

  • cli_debugger is now under framework, and the corresponding clib has to be compiled.
  • New delivery scripts on unix will now compress packages using bzip2 as they are about 30% smaller than the packages build with gzip.
  • The eifinit/studio folder has now been moved into studio/eifinit
  • build has been renamed into esbuilder
  • vision2_tour has been renamed into vision2_demo
  • Possibility to build a delivery which fits into the unix directory layout.
  • Use the normal HASH_TABLE in the compiler.
  • ID_AS does no longer inherit from STRING, instead it has a name_id and the string is stored in NAMES_HEAP
  • Added additional applicable inspect-able types to VOMB1 error help text.