Difference between revisions of "EiffelStudio 5.7 Releases"

(New features)
(Bug fixes)
Line 20: Line 20:
 
* Solaris: menus now disappear when clicking on an EiffelStudio editor.
 
* Solaris: menus now disappear when clicking on an EiffelStudio editor.
 
* Fixed issue in debugger where stepping through assignments on named tuples will jump to an incorrect location.
 
* Fixed issue in debugger where stepping through assignments on named tuples will jump to an incorrect location.
 +
* Forbid renaming of a group (cluster, library, precompile, assembly) into a name of another group.
  
 
===User changes===
 
===User changes===

Revision as of 12:35, 12 July 2006


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. You can also download the latest revision here.

EiffelStudio 5.7.x Releases

5.7.x

Placeholder for new stuff since last intermediate release.

New features

  • Display a list of assemblies found in various default places in the add assembly dialog.
  • Heavily optimized generation of completion lists - part one of two.
  • Added properties for classes and targets.

Feature removed

Bug fixes

  • Fixed column sizes in project settings.
  • Fixed escaping of special characters in the configuration.
  • Fixed multiple targets with the same name could be added in project settings.
  • Fixed wrong data displayed if target dialog was canceled and then opened again in project settings.
  • Solaris: menus now disappear when clicking on an EiffelStudio editor.
  • Fixed issue in debugger where stepping through assignments on named tuples will jump to an incorrect location.
  • Forbid renaming of a group (cluster, library, precompile, assembly) into a name of another group.

User changes

  • Updated Vision2 to use EV_POINTER_STYLE instead of EV_CURSOR. It should not break existing code unless:
  1. you are inheriting from Vision2 classes and redefined a routine returning or taking a EV_CURSOR.
  2. you are using an agent to get the cursor for an EV_GRID_ITEM.

Developer changes

5.7.61112 (July 10th 2006)

New features

  • New library external, similar to object external but will be added after object externals in the command line.
  • Added the ability to have accelerators on EV_WINDOW and descendants (before it was on EV_TITLED_WINDOW and descendants)
  • Possibility to add a precompile from the project settings.
  • Properties tool
  • Addition of EV_POINTER_STYLE in replacement of EV_CURSOR which prevents proper display of cursors through remote desktop, and better optimization since an EV_POINTER_STYLE cannot be modified.

Bug fixes

  • Debug run was launched before c-compilation was finished.
  • Tabs in file pattern and condition dialog did sometime not appear.
  • Changed behavior in Vision2 for accelerators, the key down action will be called before the accelerator is called. So that now GTK and Windows behaves the same.
  • Fixed a problem during conversion of ace files if vision2 or wel externals where used but vision2 or wel itself was not used.
  • Fixed two bugs with the consuming of assemblies.
  • Preferences are now shown in alphabetical order.
  • Fixed a runtime bug due to an incorrect code generation in .NET mode for an inline agent instantiated in a descendant class.
  • Fixed test#incr256: issue when you change the signature of an agent (e.g. add or removal of arguments), the generated code will be incorrect.
  • Fixed test#term142: issue when `separate' is used, it would crash the compiler instead of treating is as just syntactical sugar.
  • Fixed test#exec226: issue when the type of a named tuple is a formal generic parameter or CHARACTER, we would generate incorrect C code.
  • Fixed test#exec225: issue when you are using an expanded generic class, we would generate incorrect type declaration resulting in a segfault when creating the type.
  • Fixed test#term141: issue when an agent is created on a function returning a like argument.
  • Fixed stack overflow when checking that a basic type conforms to a reference type.
  • Fixed windows installer to install GDI+ if not present.
  • Fixed issue with SGI versions which could not be compiled so far with the new compiler and new vision2 because EiffelStudio was getting too big for the SGI linker.

Developer changes

  • Added "Debugging options" menu item in "Debug" menu
  • Changed the way estudio/ec(ewb: debugger)/eiffel debugger's daemon/application interact. Now estudio is just an ec launcher, and ecdbgd is the new eiffel classic debugger's daemon.

5.7.60907 (July 2nd 2006)

New features

  • Added possibility to declare a target as abstract (i.e. a target that can not be used to compile a system).
  • Added icons for project settings and improved gui interface a bit.
  • Added a check if the assemblies from an incremental/precompile compilation are still in the metadata cache.
  • Added commands to quickly add a library or an assembly to the system without using the project settings dialog.
  • Added wild cards support for code completion.
  • Added possibility to add child clusters in project settings.
  • Conversion of ace files now converts base, wel, vision2 and time clusters into their library equivalents.
  • Feature completion discards arguments if there are already suspected ones.
  • Added inline agents to the compiler. At the moment there are two restrictions:
    • Only inline agents with a "do end" part are accepted.
    • The IDE doesn't give any support for Code completion, feature view and debugging.
  • Added possibility to have agents on attributes and externals.
  • There is no freeze anymore, if a new agent is declared.
  • Added shortcuts for toggle buttons in completion list. By default they are from F1 to F5 from left to right.
  • Refresh icons in the feature tree when saving. Now the icons are up-to-date to the text.
  • finish_freezing.exe can now generate 32bit unmanaged binaries for Microsoft .NET projects.
  • Introduce new setting `force_32bits', in ecf, that accepts a true or false value. When true, .NET projects compiled using a 64bit version of EiffelStudio will generate 32bit assemblies and unmanaged lib.dll binaries.
  • Class rename refactoring is now able to deal with renamings/prefixs that don't produce a conflict

Bug fixes

  • When reporting a VSCN error, the two classes referred to the first one, now it will take you to each class.
  • Fixed a code completion bug that in tree mode if there were more than one matching items as sub-node of the only node, the list did not show but tried to complete the only top node item in the tree.
  • Fixed the bug that class completion did not complete correct name displayed in the list.
  • Do not copy assemblies that are in the gac into the assemblies folder of the build folder.
  • Fixed a bug that after a new name is added to an existing feature we get the new node in feature tree from saving but the node was not able to locate corresponding feature.
  • Fixed the completion break introduced by wild card that when in non filter mode it did not select closest match.
  • 32bit versions of EiffelStudio now generate 32bit assemblies. This means executing assemblies that use unmanaged code on a 64bit OS, compiled using a 32bit version of EiffelStudio, will execute correctly.
  • Fixed some problems with refactoring and overridden classes.
  • Enabled removed button when selecting a corrupted project.
  • Added missing VICR and VISC errors description
  • Fixed some issue with debugger's grid.
  • Now the EiffelStudio's preferences grid is supporting the mouse wheel scrolling

Developer changes

  • Refactored properties, to circumvent compiler problem with convert_to_data which produces compiler errors on sgi for the BOOLEAN_PROPERTY.

5.7.60362 (June 26th 2006)

New features

  • 85% 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 names are still available for convenience during a compilation. At runtime added a way to enable the old mapping. It is on by default for CECIL and store/retrieve. It is off by default in INTERNAL.
  • Big performance improvement for .NET projects. Assembly consumer is now only started if we really need to consume an assembly.
  • Error and Warning context tools now show the number of respective errors and warnings on their notebook label.
  • Added viewpoint selector with which the views are able to display various renamed names at different viewpoints.
  • Added type to expandable ambiguated name node and labels of named tuples in completion list.
  • Added possibility to condition for dynamic runtime.
  • Display renamings/prefixes in class tree.

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.
  • Fixed a bug in project settings where changing the value of MSIL classes per module or MSIL generation type was not working correctly.
  • Fixed a possible bug where visible classes that were not used anywhere did not get compiled.
  • Fixed an issue where the tree was not refreshed if the name of a group was changed.
  • Various improvements of project settings dialog.
  • Some improvements for backup generation.
  • Generate original name based documentation for any class texts.
  • Fixed some small problems/bugs of doc generation.
  • Improved feature tree so that it does fresh all the time when saving.
  • Optimized completion list, which dramatically reduces time displaying a big list.
  • Fixed the bug that completing strin|.out did not work.
  • Handled space problem in code completable text field. And fixed some bugs which were not easy to reproduce when we had space problem.
  • Fixed scrolling always made selection visible in completion list.
  • Fixed the bug that in uncompiled classes it displayed last list whenever trying to complete features.
  • Fixed a potential bug that centering a renamed class or group in diagram tool crashes the compiler.
  • Disabled centering an assembly in diagram tool.
  • Fixed a memory leak.
  • Fixed a bug where changed/added renamings/prefixes where not taken into account.

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)