Difference between revisions of "EiffelStudio 5.7 Releases"

(Bug fixes)
(Bug fixes)
Line 23: Line 23:
 
* Fixed some selection issues after removal of a group in the project settings.
 
* Fixed some selection issues after removal of a group in the project settings.
 
* Fixed feature rename refactoring for "when {CLASS}.feature then" clauses.
 
* Fixed feature rename refactoring for "when {CLASS}.feature then" clauses.
 +
* Fixed some problems with the dection of changes in overriden classes.
  
 
===User changes===
 
===User changes===

Revision as of 14:20, 20 September 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

  • Added a "Find Added Classes & Recompile" command, that detects externally added, unreferenced classes and recompiles.
  • Also print error position if there is a parse error in an Ace file that should get converted.
  • Automatic precompilation output is now displayed in a dialog and the main window is no longer frozen.
  • Consuming .NET assemblies is much faster, when compiling using a fresh cache or adding new assemblies. The compiler is now smart and will only fully consume assemblies that types from are needed.
  • Clusters with sub clusters can now be removed in the project settings.

Feature removed

Bug fixes

  • WEL: fixed an issue with modal dialogs where `result_id' would not be properly set after a modal dialog is discarded.
  • Vision2 on Windows: a menu with an ampersand (i.e. menu.set_text ("Test && Verify")) could be truncated when displayed (i.e. the `y' could be missing).
  • Fixed issue where right clicking on an invariant of a class would cause a crash of EiffelStudio.
  • Fixed a bug in the location computation if the location is /
  • Add newly created libraries/clusters to the classes tree if the icon right above the tree is clicked.
  • Fixed issue where selecting `Cancel' right after starting a finalization would crash/hang EiffelStudio.
  • Fixed bug that would incorrectly map .NET types for partially consumed assemblies.
  • Fixed some selection issues after removal of a group in the project settings.
  • Fixed feature rename refactoring for "when {CLASS}.feature then" clauses.
  • Fixed some problems with the dection of changes in overriden classes.

User changes

Developer changes

When compiling as the cause of confirming a compilation when trying to debug (because of changes), when failing a compilation, the continue dialog is now a warning dialog and has it's cancel button activate by default.

5.7.63625 (September 18th 2006)

New features

  • Optimized degree 6, most of the time do not check read only groups for modifications.
  • Added possibility to edit project settings in open project dialog.
  • Added optional check which enforces class names to be completely unique.
  • To conform to ECMA specification, an alias clause of an external can now be an empty string.

Feature removed

  • It's no longer possible to override classes in assemblies as this does not make any sense (the assemblies can't be changed).
  • Removed possibility to set a prefix or renamings on a cluster level.

Bug fixes

  • Take needed .NET options (use finalized precompile, metadata cache path) into account when automatically building the precompile.
  • Fixed/made more robust some incrementality problems with configuration errors in compiled classes (duplicate class, file without a class, ...)
  • Problems with validation if a group that already exists is added again in the project settings.
  • In some cases the project settings window dimension were not saved properly.
  • Removed some unneeded excludes from the gobo library.
  • Fixed some bugs in the favorites.
  • Fixed long standing memory corruption bug which happens when loading PNG images in Vision2.
  • Better default locations for the directory/file dialogs.
  • Fixed a bug that resulted in an expensive degree 6 and doing other degrees in situations where it's not needed.\
  • Fixed issue when targetting the editor with a synonym feature, the combo boxes would show briefly the feature and then switch quickly to the first synonym.

Developer changes

  • WEL: Changed rgb_quad in WEL_BITMAP_INFO to return a pointer to the actual memory location in BITMAPINFO rather than a copy. Making it more efficient to manipulate the values.

5.7.63441 (September 10th 2006)

New features

  • Automatically build missing precompiles if a project is opened.
  • Added a ISE_PRECOMP variable that is automatically populated with the correct value to the default precompiles. eg. $ISE_PRECOMP\base.ecf
  • $ISE_EIFFEL is replaced with $ISE_LIBRARY during the conversion of an Ace file
  • Added -no_library option to batch compiler to not convert clusters in Ace files to libraries in ecf file
  • Also autocompile upon debug launch if there are unsaved changes or project setting changes.
  • Enabled VWEQ if a project was converted from an Ace file.
  • Precompiles are automatically built in -batch mode.
  • Added configuration files for the German and French version of the time library.
  • Made property tool smarter in the choice of the group to change options. E.g. if we want to change options on a cluster in the base library, we get the base library itself.
  • Added agent information display for debugger (only classic system for now)
  • Metadata consumer's balloon tip now shows more status information. There are notifications about concurrent cache access and dependency evaluation.

Bug fixes

  • Fixed bug that it was not possible to remove a group prefix.
  • Fixed diagram generation for non HTML documentation generation.
  • Fixed some changes to the version of a target were not stored.
  • Fixed debugger crash on Windows when debugging a process whose process ID is greater than 10000.
  • Fixed issue with formatting of create clauses which specify an export clause in contract/interface view: we would only see one { and not the class to which it is exported.
  • Fixed a problem in the Ace file conversion with assemblies.
  • Fixed crash if an opened class was externally removed and then clicked in the features tool.
  • Add group should should ignore case for check if there is already a group with the same name present.
  • Also build missing precompiles in command line mode if the -clean flag was not specified.
  • Fixed a problem where a class got overridden and was not updated in the editor.
  • Fixed net library on .NET.
  • Fixed issue with consumer hanging when trying to consume CLR 1.0 assemblies using EiffelStudio (x86 version)
  • Fixed some incrementality problems.
  • Fixed debugger issue for expression evaluation on dotnet 2.0 (better management for neutered objects)
  • Fixed debugger issue to evaluate renamed functions or attributes under specific context.
  • Fixed bug in configuration system that requested consumption multiple times for the same assembly (fresh compilation only) and thereby impacting performance.
  • Fixed issue where removing an formal generic parameter of a class, sometime the compile would crash at degree -1 in PATTERN.instantiation_in.
  • Fixed issue where after an incremental recompilation, Precursor calls would call the incorrect precursor or even the redefine routine (causing an infinite recursion until memory exhaustion).

Developer changes

  • Added Eiffel\library\environment library which specifies the layout for the Eiffel installation at a central location. On Windows it implies that the registry key are all under HKLM\Software\ISE\Eiffel57.
  • Eiffel metadata consumer now only consumes what is necessary when consuming assemblies. Dependent assemblies are partially consumed and are fully consumed in degree 5 when a .NET type is required from a dependent assembly.
  • Added a neater command-line interface for the Eiffel Metadata Consumer tool (emdc) for command line consumptions. It can now be used to precompile assembly frameworks and diagnose issues with consumption. (Compile consumer with emdc target.)

5.7.63005 (August 27th 2006)

New features

  • Added a refactoring menu.
  • Added possibility to explicitly set the EIFGENs location (project location) of a used precompile.
  • Speedup of preferences dialog.
  • Check if assemblies can be opened before even starting the consumer.
  • EiffelVision2: added ability to ignore the default key action on widgets.
  • Improved eiffel compilation output in `output' tab so that generation of auxiliary files and progress of dead code removal appears in the status bar.

Bug fixes

  • Fixed problem if a library is removed from one part of the system but still there in other places.
  • Fixed class file without a class error that was fixed was not detected.
  • Allow / as a cluster location.
  • Fixed problem that some advanced target settings could not be changed.
  • Cursor position of custom inserts was not set correctly if no $cursor$ place was defined.
  • Double click did not start new non graphic application wizard.
  • Do not change version of .NET clr from a precompile or during recompilation.
  • XMI export was not working.
  • Favorites of classes in libraries were lost after recompilation.
  • Some problems in documentation generation.
  • Debugging of inline agents now works properly.

5.7.62801 (August 21st 2006)

New features

  • Type mappings are also applied for class options and visible clauses.
  • Added new recompilation mode that only scans override clusters for changes.
  • COM wizard now uses ecf files and produces a library configuration that can be used in existing projects.
  • New option Shift-F8 to only recompile classes specified in override clusters.

Bug fixes

  • C library externals where not added if no object externals were specified.
  • Library names where autocompleted in addressbar even if they are not applicable.
  • XML serialization (preferences, configuration) did not correctly escape < and >
  • Project settings did not generate a correct configuration file if there are multiple targets and a base target has a precompile.
  • Fixed memory corruption introduced in 5.7.62488 with new agent optimization when you are using a function agent that returns a reference type. This also caused various random crashes in EiffelStudio.
  • Fixed a crash while freezing a class which redefines a feature whose inherited assertion uses a creation expression.
  • Fixed serious issue when trying to launch debugger under linux (unices)
  • Fixed classic debugger issue related to "dropped" values (i.e: expression on objects)
  • Cleaned up examples
  • Improved validation of some values in the project settings.
  • Fixed a problem in the undo of the refactoring.
  • Fixed a problem with renaming the root class.

5.7.62488 (August 13th 2006)

New features

  • Generate a name from the browsed location if the name is not yet set.
  • Version and installation information from the about dialog can be copied to the clipboard to make it easier to report bugs.
  • Updated/added documentation about refactoring.
  • Updated documentation of the project settings with latest changes.
  • Now pressing the enter key on a button will fire the select_actions. It did work in the past but only for EV_DIALOG, now it does work for any type of EV_WINDOW.
  • Display configuration file with problems in configuration errors.
  • Improved performance of agent calls especially when using a manifest tuple.
  • Increased line spacing on Windows to conform to other text editors.

Bug fixes

  • Generate a warning and do not rename the file during refactoring if the target file already exists.
  • Fixed problem in refactoring if the root class or root feature is renamed.
  • Fixed warnings were not generated for unknown class options.
  • Added check that a newly added group doesn't conflict with a group in a child target.
  • Fixed precompile was not removed correctly in project settings.
  • Sort assembly list alphabetically in add assembly dialog.
  • Fixed externally added classes in an override cluster where not always detected.
  • Fixed properties of classes in libraries could not be changed.
  • Validate names of system, targets, groups, classes and features in the configuration.
  • Fixed added/changed renaming let a VTCT error sneak by.
  • Fixed overriding classes where always parsed during compilation.
  • Fixed crash if a class with a syntax error was put into the diagram tool.
  • Fixed a bug in consumer that would re-consume all assemblies when a new one is added.
  • Fixed a bug in FILE/RAW_FILE on .NET where `bytes_read' was not updated in `read_to_managed_pointer'. This was affecting the SED serialization on .NET.
  • Fixed bug that a class could be created in a read only cluster.
  • Improved column resizing behavior in grids, only do resizing if we are not editing at the moment.
  • Fixed crash in -loop while displaying class or cluster information.
  • Fixed a bug that replace all allowed to replace text in read only classes, now those classes are ignored.
  • Fixed issues with windows appearing off-screen or at wrong position on a system with multiple displays.
  • Ensured that dialogs always appear visible even if their parent window is not.
  • Fixed clicking on line number margin of editor.
  • Fixed bug in HASH_TABLE when calling make on an already created and non-empty HASH_TABLE instance. Various internal state were not properly updated (for example `count', ...)
  • Fixed a bug where the assertion level as not saved correctly.
  • Fixed a problem where renaming a class in an override cluster which made another class not overridden anymore was not correctly handled.
  • Fixed crash in customize toolbar if a separator is picked in the destination list and dropped in the source list.
  • Fixed problem with gcc 4.0 and 4.1 that produced wrong output for the minimal integer in STRING.append_integer.
  • Fixed some problems with the create class and create cluster dialogs.
  • Fixed some problems in the feature formatting of not completely compiled features.
  • Fixed memory leak in EiffelStudio when opening/closing development windows.
  • Fixed memory/GDI leak in WEL and Vision2 on Windows where windows control did not get properly destroyed. For example, creating a toolbar and letting the GC destroy it would cause a leak of 2 GDI.
  • Improved GDI usage in Vision2 for tooltip managements as it would create 2 GDI per widget that has a tooltip. Now it is using only 2 GDI for the whole application.
  • Correctly escape characters in the preference library.
  • Fixed a crash in the preferences if some columns are hidden.
  • Fixed .NET consumer infinite conume of assemblies containing .NET enums with System.UInt64 members.
  • Debugger: fixed "go to this point"
  • Debugger: fixed debugger crash related to expression on BIT/BIT_REF object.
  • Debugger: fixed issue with cond breakpoint and stepping over acting like continue
  • Debugger: better support for inline agent in debugger
  • Debugger: better support for dotnet NativeArray values

User changes

  • Slightly changed behavior of EV_LAYOUT_CONSTANTS on GTK. Added `set_default_width_for_button' which should be used to have button of the right size.

5.7.62110 (July 30th 2006)

New features

  • Changed layout of project settings to a single tree layout.
  • Content of W_code is more compact. Let's say you W_code is 350MB before C compilation. On Solaris x86-64, it could take 1.8GB after C compilation, now it will take 1GB.
  • Revised metrics tool which major improvements on the interface and its power. You can now do all kind of software metrics. Documentation has yet to come.

Feature removed

  • Removed accelerator ESC for show/hide editor tool.
  • Removed "Search last".

Bug fixes

  • debugger: fixed crash when an exception occurred during expression evaluation.
  • debugger: fixed crash when settings negative "maximum displayed string size"
  • Fixed crash during refactoring of an uncompiled class with a syntax error.
  • Better validation for various values in project settings.
  • Fixed some typos.
  • Improved Ace file conversion of precompiles on Unix.
  • Fixed change of class options in the project settings.
  • Fixed problems with changes of precompile properties.
  • Fixed problems with messed up features tree after the class has been changed and saved.
  • Fixed a crash during refactoring if we had problems with file permissions.
  • Fixed picking removed class from Search results and dropping on Diagram crashes estudio
  • Fixed Ctrl+Shift+C switched formatter without asking saving.
  • Fixed the bug that a feature whose written body is from its ancestor could not be Pnd in basic feature view.
  • Fixed no automatic freezing after the system name was changed.
  • Fixed some problems after an error in a configuration file, where we did not always recover correctly.
  • Improved code completion when wild card character is not used.
  • Fixed some flat formatting bugs.
  • Fixed issue with .NET code generation which could fail during degree -1 when you have classes that substitute formal generic parameter (i.e. A [G] inherits from B [X, G]).
  • debugger: fixed issue on unices with debugger launching.
  • debugger: now on unices, we can add breakpoints during execution , and those breakpoints are effective (as on windows)
  • debugger: fixed out of memory exception when "maximum displayed string size" had a negative value.
  • Vision2: fixed resizing issue which would happen on Windows if too many widgets are nested in each other, those nested widgets would not resize properly.

Developer changes

  • Changed search behaviors with Find next and Find selection. Being clearer, Find Next, Find Previous, Find Next Selection and Find Previous Selection remain. And also shortcuts are changed accordingly.

5.7.61570 (July 24th 2006)

New features

  • Improved file and directory browse dialogs of project settings.
  • Moved automatic backup setting from general.cfg into the project settings.
  • Ctrl + Tab/Ctrl + Shift + Tab switches between sections in project settings.

Feature removed

  • Removed syntax error warning dialog.
  • Removed quick melt command and changed compile command to use quick melt (which now also detects externally changed files).

Bug fixes

  • Fixed a bug where some options of a class where changed and other options from the target where copied into the class options.
  • Fixed debug clauses where not listed in class options dialog.
  • Improved pick and drop icons for groups and targets.
  • Fixed column resizing in properties and project settings.
  • Fixed a crash if a cluster is selected and "Remove current item" is chosen in the menu.
  • Fixed some crashes related to empty editor.
  • Fixed a bug that some features occur twice in the flat view of classes. "occurences" in TWO_WAY_LIST, ARRAYED_LIST etc.
  • Fixed "frozen" was missing in flat view of a frozen feature.
  • Fixed like argument type evaluation which caused things like clone (a_string).substring didn't display correctly in flat view.
  • Fixed a crash of the features tool if there was a syntax error in the class.
  • Fixed some bugs and made some improvements to project settings and properties tool.
  • Fixed broken Ace file conversion.
  • Changed warning level of configurations converted from Ace files to have some warnings disabled by default to reflect the old warning level.
  • Fixed problem with precompiles during conversion of Ace files.
  • Fixed .NET condition was not updated in project settings.
  • Fixed feature names renamed as or from infixes or prefixes were not correctly displayed in click/flat view.
  • Display the name of the feature user requested in feature flat view rather than display all names of features that share the same body.
  • Fixed debugger "interrupt" feature on unices.
  • Fixed error in Objects tool layout regarding "arguments" and "locals".

User changes

  • Arguments control dialog now use a GRID to display arguments instead of combo list.
  • Changed default for INTERNAL so that mapping between old names and new names is automatically done.

5.7.61376 (July 16th 2006)

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.
  • Pick and Drop and auto completion are available even when there were syntax errors. They fail only in the case of the class having an error from the beginning.

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.
  • Fixed a crash when dropping a .NET feature in the editor.
  • WEL: Changed precondition of `set_maximum' in WEL_BAR and `set_horizontal|vertical_position' in WEL_SCROLLER/WEL_COMPOSITE_WINDOW so that we are not violating the postcondition of those routines.
  • Vision2: Fixed issue with EV_FONT_DIALOG on Windows which would not take into account font specified through call to `set_font'.
  • Vision2: Fixed issue where setting the `leap' of a scrollbar would have no effect, thus violating the postcondition of `set_leap'.
  • Fixed the code completion bug that class insertion failed when filter was not enabled.
  • Fixed some bugs in flat view.
  • Fixed a problem that wrong feature name was displayed in flat view of this feature.
  • Fixed some possible problems if a class has been removed and the system wasn't recompiled yet.
  • Fixed bug in .NET consumer that could not consume assemblies that contained properties whose internal get method was not prefixed with "get_"
  • Fixed documentation/class information for .NET 2.0 assemblies.

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.

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.
  • Fixed a bug in the editor that the editor cursor did not blink when the actual focus was in.

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)