EiffelStudio 6.0 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.0.x Releases
6.0.x
Placeholder for new stuff since last intermediate release.
New features
Feature removed
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 is changed to reflect the feature removal of certain arguments (test#incr276).
User changes
- base: Speed up HASH_TABLE iteration and lookup by about 8% or more.
Developer changes
6.0.65344
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.
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.