EiffelStudio 5.7 Releases

Revision as of 02:01, 22 June 2006 by Alexander Kogtenkov (Talk | contribs) (Bug fixes: Added a note about fixes for properties)

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases. The release notes of EiffelStudio can be found at the following URL.

DOWNLOAD

EiffelStudio 5.7.x Releases

5.7.x

Placeholder for new stuff since last intermediate release.

New features

  • Visibility of new soft icons
  • Added support for displaying correct renamed names.
  • Use ECMA names for predefined types (STRING_8, CHARACTER_8, CHARACTER_32, INTEGER_32, REAL_32, REAL_64). The old name are still available for convenience.

Feature removed

Bug fixes

  • Fixed page down/up problem in completion list.
  • Fixed bug in `c_ev_load_pixmap' on Windows where it would seldomly crash when called.
  • Fixed bug in `change_name' in FILE on the .NET version where if the `new_name' is the same file as the existing file it would simply delete the file.
  • Fixed test#exec170 when Precursor is actually an external routine, it would call the wrong routine.
  • Fixed multiple issues with code generation for properties that might result in invalid IL.

Developer changes

  • Optimized completion list. Much faster than it was.
  • EiffelSoftware.Runtime.dll is now in $ISE_EIFFEL/studio/spec/$ISE_PLATFORM/lib.

5.7.59914 (June 19th 2006)

New features

  • Allow to edit non readonly library configuration files.
  • Supported new syntax without the keyword is in feature declarations.
  • Allowed a bracket expression to be used as a target of a qualified feature call (this is an extension to ECMA standard that does not permit this syntax at the moment).
  • Display classes that are overridden under the class that overrides them in the classes tree.
  • New icons being introduced.

Feature removed

  • Do not report VWEQ as errors since removed from the ECMA specification. Instead they are now warnings if user chose to see them.

Bug fixes

  • Various project settings fixes and improvements.
  • Fixed a bug with the save operation if there was a conflicting file lock.
  • Set correct focus on refactoring dialogs.
  • Improved keyboard handling of project settings (still work in progress).
  • Fixed some problems with root specification if the root class is overridden.
  • Fixed some incrementality bugs with assemblies.
  • Fixed a problem that renamed classes were not correctly set clickable information in documentation generated.
  • Fixed a bug that XMI generating in .net project crashed compiler.
  • Fixed that .net project documentation could not be generated.
  • Fixed the bug that generating document with eiffel format resulted in anything clickable back quoted.
  • Fixed bug#10406 that static completion using an uncompiled class crashed EiffelStudio.
  • Fixed completion problems after syntax error.
  • Refresh feature tree after saving so that new features can be seen without compilation. But features in the tree not compiled can not be picked.
  • Fixed a bug that clicking on an renamed and uncompiled feature directed the editor to ancestor class.

Developer changes

  • improved backup generation, copy assemblies and library configuration files, adapt library configuration files to be usable without any changes

5.7.59623 (June 11th 2006)

New features

  • Added assigners to .NET public field (commonly used for .NET structs).
  • inspect statements can now accept .NET enum typed variables as the inspected value, when clauses can now use static access to .NET enum member to check inspect cases.
  • added warning (VTCM) if a class listed in an export clause does not exist in the surrounding universe (maybe at some later point this could change into an error)
  • added Unicode support to debugger (STRING_32 and much better support for WIDE_CHARACTER)
  • detect added classes in an override cluster during quick melt
  • added automatic compilation upon debug launch if classes have been changed
  • added first version of configuration interface
  • Redesigned presentation of code completion window. On .NET, it even shows all the overloads of a .NET routine.
  • New code completion list with tree view enabled if needed.

Feature removed

  • Removed -local command line compiler option. It is now the default. To use user settings, one has to specify the new `-use_settings' option.

Bug fixes

  • fixed some bugs with precompiles that made it impossible to change a class while creating the precompile
  • fixed various problems in libraries used in precompiles (e.g. wrong assertion levels)
  • fixed most cases of class rename refactoring problems if a class was only listed in the export clause
  • fixed a bug if a cluster is converted into a library and there is an error in this library
  • fixed a bug with namespaces with overriden classes
  • fixed visible classes information where not saved correctly in configuration
  • fixed a bug if we add a class in EiffelStudio and then directly remove it outside EiffelStudio without compiling in between
  • fixed a bug with conditional breakpoint using a local BOOLEAN variable as condition
  • fixed a crash when trying to enter a class name during degree 6.
  • fixed issue on unix platforms where starting dialog and debugging grids would be unusable because too slow for selection.
  • fixed that generating html doc crashed the compiler.
  • fixed "Go to" function in html documentation.
  • fixed a problem that renamed classes were not correctly set clickable information in documentation generated.
  • fixed a bug that XMI generating in .net project crashed compiler.
  • fixed that .net project documentation could not be generated.

Developer changes

  • created base_extension and gobo_extension libraries which provide some extensions to base and gobo

5.7.59395 (June 4th 2006)

New features

  • Updated starting dialog to provide more options when creating/opening projects.
  • Only show classes context related in completion list, which also enabled prefix support in auto completion.
  • Support static call on anchored type and formal type.
  • Added ability to search a folder in search tool.
  • Added possibility to have multiple file rules and condition them.
  • Changed default assertion level of libraries to require.
  • Changed root class behavior to check if there is a vscn conflict (other class with same name reachable from the root cluster).
  • Eiffel Metadata Consumer (.NET) now presents itself, when active, in the system tray with a click-enabled balloon tip of status.
  • Metadata Consumer tooltips can not be customized to a user specification, see MDC_InformationTips for more information.
  • Allow to condition depending on compiler and .NET CLR version.
  • Allow file exclusion rules to be conditioned.
  • Changed way we handle platform and builds now it's either a list of included platforms or a list of excluded platforms
  • Added new `-local' option to command line compiler. When specified no user file will be read or created. Making the compiler easier to perform batch compilation without interfering with your day to day work.
  • No more .user file, they are now stored in a user directory and the settings are now saved on a per target basis.
  • Implemented auto-completion after "create {like a_anchor}.", "create {G}.", "{like a_anchor}.", "{G}.".
  • Implemented pick and drop after "create {like a_anchor}.", "create {G}.", "{like a_anchor}.", "{G}.".
  • Implemented things like "create {FILE_NAME}Result.make" where make is pickable.
  • Implemented inlined externals as specified in ECMA.
  • Changed the arguments you can pass to `estudio'. You can specify just a project name, or one of the following command line options: -config config.ecf [-project_path path] [-clean] [-melt] [-finalize] [-freeze] [-precompile].
  • Implemented that only those creations specified in the list of formal declarations can are inserted into the list when user tend to complete a creation routine.
  • New EV_GRID_CHOICE_ITEM for EV_GRIDs.
  • Added enable,disable,clear breakpoints toolbar item on the breakpoints' tool.

Feature removed

  • Removed class header modifier from diagram tool since it can be replaced by new refactory tool.

Bug fixes

  • Fixed a bug that crashed class name auto completion if there where some conditioned groups
  • Fixed a bug that wrong classes were located when typing overriding/overridden in address bar.
  • Fixed a bug of class completion in New Class dialog/ Expression dialog that crashed the compiler.
  • Fixed a small position issue of completion window which was too far off the text field when it appeared in upper.
  • Fixed a bug during removal of a class in .NET
  • Fixed two bugs with overrides where changes where not detected correctly.
  • Fixed a bug if we changed from all_classes compilation to a normal compilation.
  • Fixed a bug that a focused quick search bar did not show up when switching between windows.
  • Fixed the doc generation bug of instruction like 'create {FILE_NAME}s.make_from_string ("")' where s is STRING.
  • Fixed the bug of displaying flat view of (create {RAW_FILE}.make ("")).exists.
  • Fixed a bug that instuction l_agent := agent {EV_TOOL_BAR_BUTTON}.set_text was displayed as l_agent := agent {EV_TOOL_BAR_BUTTON} ?.set_text
  • Fixed a bug that l_agent := agent a_string.adape_size was not correctly displayed.
  • Fixed a typo in the configuration file format it is now external_resource instead of external_ressource.
  • Fixed a bug with precompiles if there were some changes with the basic classes.
  • Fixed a bug if a class was renamed and we didn't check for conflicts of the new name with other classes.
  • Fixed a bug if someone used the same group name in multiple targets that inherit from each other.
  • Fixed change of current working directory when using File Open/Save dialogs on Windows.
  • Fixed namespace inheritance in clusters, assemblies and libraries.
  • Fixed crash during loading of a new project if some settings where wrong.
  • Fixed problem if a relative path was specified as a project path.
  • Fixed a memory corruption which would occur when a large amount of memory has been allocated and when the mechanism of partial scavenging fails (i.e. no objects moved) it would not free the `ps_to' zone and thus the GC crashes when encountering this block of memory which should have been freed in `split_to_block'.
  • Fixed some bugs with class name changes.
  • Fixed some bugs with assemblies.
  • Fixed issue with `to_character_32' and conversion from a BOOLEAN, CHARACTER or CHARACTER_32 to a numerical type which would not give you the proper results when interpreted.
  • Fixed issue with CHARACTER_32 which were still encoded as 16-bits value when used as attributes.
  • Fixed most of memory leaks.
  • Fixed a bug that completion after parenthesized arguments did not show named tuple generic labels.
  • Fixed bug#10252 that read only class became editable when locating a feature through feature true or address bar.
  • Fixed a bug that named_tuple_type.hash_code where hash_code could not be picked nor completable.
  • Fixed a bug displaying flat of create {ARRAYED_LIST [STRING]}Result.make (0) where Result type is LIST [STRING].
  • Fixed a problem if we have multiple libraries and remove a library in one library which is still used in another library.
  • Fixed a problem in the location lookup of a class in the classes tree while using various libraries which have circular dependencies.
  • Don't generate a warning for a changed metadata cache path if the path has only different casing.
  • Fixed class rename refactoring detection of class names in comments from `CLASSNAME' to {CLASSNAME}.
  • Fixed problem with different renamings or prefixes for the same assembly in different libraries.
  • Added some missing explanations for errors and warnings.


Developer changes

  • Refactored configuration library to be usable on .NET without unmanaged code.

5.7.58953 (May 14th 2006)

  • Added missing configuration file for precompiled libraries.
  • Fixed resizing of debugger columns.
  • Added resizing of columns within the content, not just using the header.
  • Windows installer can now precompile base|wel|vision2 (did not work previously because configuration files were missing).
  • Removed splash screen (windows) and text message (unix) for applications built with GPL release of EiffelStudio.
  • Fixed a bug in .NET properties code generation that caused Vision2 precompilation to fail.
  • .NET properties getter functions now have an assigner, if a setter routine is available.
  • Fixed bug in overrides that caused problems with all_classes and precompile compilation.
  • Changed classes tree behaviour for overridden and overrider classes to be more logical.
  • Fixed two bugs that caused problems with usage of precompiles.
  • Refactored code completion.
  • Fixed the Pick and Drop issue for overriding/overridden classes.
  • Improved Pick and Drop/code completion ability for loose types and named tuple.
  • Debugger: the user can choose where the "Current Object", "Locals"... items goes in the Objects tool (left or right grid)
  • Added assigner feature icons for feature tool and completion list.
  • Permitted assigning to static .NET properties.
  • Reference a non-existing compiled assembly resource (*.resource files) no longer crashes compiled. A warning is now generated.
  • Allow to use variables and environment variables in external resource locations.
  • Fixed a bug that did not update changed prefixes or renamings on assemblies.
  • Fixed a bug in configuration parsing that crashed the compiler in some cases with precompiles.
  • Allow Pick and Drop on possible unsaved text.
  • Activated PND in basic feature view.
  • 99% fix the problem that sometimes code completion does not work for locals. The rest 1% is the possiblity completing in an uncompiled feature a like argument local.
  • Enabled class auto completion in uncompiled classes.
  • Allow code completion after labels of named tuple.
  • Added labels of named tuple to completion list.
  • Fixed a bug in New Feature command, also in the similar place of diagram tool.
  • Refactored implementation of formatters in feature and class tool. Presentation under a multi-column list which enables user to sort results.

5.7.1005 (May 5th 2006)

  • All the 5.6 features are present in this release.
  • Support for new project configuration file. At this stage the format is still in beta and therefore expect some future changes before the final release of 5.7. The major changes from semantics point of view are that ultimately we are switching from clusters to clusters/libraries paradigm. Classes of a library should be self-contained, no external references allowed. Library also contains necessary external headers and object files. Also in a cluster or a library, only one class with a given name is allowed.
  • Diagram tool has been improved to take into account new libraries paradigm.
  • Better display of clusters in cluster tree.
  • Improved performance of runtime for large heap: for example if you have about 6GB of allocated memory the full collection time went from 10000s down to 30s when you have about 1GB of garbage and a lot of 0-sized objects.
  • Documentation includes recent changes in library, but actually contains too much (e.g. implementation classes in Vision2)
  • Pick and drop line is now a dashed line.
  • Home key now goes to the first non-whitespace character of the line (can be disabled through the "Smart home" preference).
  • Introduce `adapted' into TYPE for statically check conformance conversion.

5.7.0826 (March 26th 2006)

First public release of the open source version of EiffelStudio. This version uses 5.6 Ace file.

  • New search facility with quick search bar and project wide search with regular expression.
  • New profiling output using EV_GRID.
  • Ability to debug multithreaded applications, in particular to switch from one thread to another.
  • New refactoring facilities: class and feature renaming, feature pull-up.
  • C compilation output now appears in EiffelStudio.
  • On Windows, C compilation will use all available CPUs making it much faster.
  • Compilation progress now appears in status bar.
  • Debugger: improve display performance of the values
  • Debugger: Objects grids keep the layout (opened nodes), and highlight when a value changes (customizable)
  • Debugger: Better support of once value (including in MT context).
  • Debugger: In watches tools, when an expression raised an exception, display more information on the exception, including the trace (and improved error reporting).
  • Debugger: add way to ignore (do not stop on) exceptions (both on classic or dotnet, even if the mecanism is slighty different)