Difference between revisions of "EiffelStudio 6.4 Releases"

(Bug fixes)
m (Bug fixes: Added a bug fix for attributes initialized in a once routine)
Line 9: Line 9:
 
===Bug fixes===
 
===Bug fixes===
 
*runtime: Fixed bug#15280 and eweasel test#except034 that {EXCEPTION_MANAGER}.last_exception not cleared after successful retry if melted.
 
*runtime: Fixed bug#15280 and eweasel test#except034 that {EXCEPTION_MANAGER}.last_exception not cleared after successful retry if melted.
 +
*compiler: Correctly reported VEVI error for attributes initialized from a creation procedure by calling a once routine because the latter is not guaranteed to be executed on subsequent calls.
  
 
===User changes===
 
===User changes===

Revision as of 23:15, 11 February 2009

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

6.4.x

New features

Improvements

Feature removed

Bug fixes

  • runtime: Fixed bug#15280 and eweasel test#except034 that {EXCEPTION_MANAGER}.last_exception not cleared after successful retry if melted.
  • compiler: Correctly reported VEVI error for attributes initialized from a creation procedure by calling a once routine because the latter is not guaranteed to be executed on subsequent calls.

User changes

Developer changes

6.4.7.7062 (February 9th 2009)

New features

  • Eiffel2Java: void-safe, added void-safe example.
  • EiffelWeb: void-safe.

Improvements

  • compiler: attached attribute initialization in creation procedures is now detected not only by inspecting the top-level instructions, but also the nested complex instructions with several possible execution paths, like conditional instruction, multi-branch, etc.

Feature removed

Bug fixes

  • testing: Fixed a bug where minimization of test was not done resulting in very large regression tests.
  • compiler: Fixed eweasel test#attach047 where type of array of string passed as argument to the creation procedure of the root class should have an attached actual argument type.
  • compiler: Fixed eweasel test#svalid018 where a crash occurred in `process_converted_expr_as' because we failed to verify that the expression still compiles fine even if inherited, because although it might compile fine in the ancestor, in the descendant it might not if they use a different set of options (e.g. non-void-safe in parent and void-safe in descendant).
  • eiffelweb: Fixed issue with `hexa_to_ascii' to make sure we process correctly even incorrectly encoded URL. Added `insert_pair_without_encoding' and `parse_urlencoded_input'. Fixed input_data to return an empty string and not to report an error and the content_length is empty as it is permitted to do so.
  • eiffelweb: Fixed issue bug#15267 by inheriting from SHARED_STDIN and SHARED_STDOUT to provide `stdin' and `output' in CGI_IN_AND_OUT.

User changes

  • base: Made several changes in EiffelBase so that the same version can be compiled in void-safe mode as well as in non-void safe mode. The code that might not be compile anymore is `create {CELL [SOME]}' because default_create is not a creation procedure anymore.

Developer changes

  • studio: The Groups tool and Favorites tool are now based on ESF.
  • studio: Significant changes made in ESF tool foundations to further optimize startup and memory performance. Panels are no longer created unless the panel UI is actually needed.

6.4.7.6930 (February 2nd 2009)

New features

  • compiler: for enhanced backward compatibility with 6.3, estudio and ec/ecb have a new command line option `-compat' to launch EiffelStudio or the command line compiler with compilation settings compatible with those of 6.3. On Windows, you also have a new shortcut entry in the start menu for launching EiffelStudio in this compatibility mode.

Improvements

  • compiler: Better explanation for VDPR(3) errors when two or more precursor are available by listing all the precursors.
  • compiler: Non-void arguments are now detected not only when they are specified in the voidness tests in immediate preconditions, but also in inherited ones.

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#attach042 and test#attach043 where type of agent was incorrect when target was of type `like Current' or when the routine had no open arguments, in both cases the compiler generated detachable types when attached were expected.
  • compiler: Fixed some regressions eweasel test#fixed119 and test#incr318.
  • compiler: Fixed invalid precursor missed detection thus fixing eweasel test#valid117.
  • runtime: Fixed eweasel test#runtime011 were a memory corruption could occur when twining a SPECIAL or a TUPLE object under certain circumstances.
  • studio: Fixed a bug where editor will disappear when debugging.

User changes

  • compiler: renamed VUPR errors to their ECMA name VDPR.

Developer changes

6.4.7.6833 (January 26th 2009)

New features

Improvements

  • wel: now void-safe
  • lex: now void-safe
  • encoding: now void-safe
  • process: now void-safe
  • time: added void-safe sample

Feature removed

Bug fixes

  • studio: Fixed bug#15253 where editor is missing from docking layout.
  • base: Fixed bug#15266 where we incorrectly merged the code value for {IO_EXCEPTION} and {RUNTIME_IO_EXCEPTION} thus breaking existing code not based on Eiffel exception object. (eweasel test#except035)
  • base: Fixed bug#15273 and eweasel test#except033 that an exception thrown through rescues caused infinite loop.
  • studio: Fixed the bug "Show disambiguated names" and "Show obsolete items" button on completion window did not function correctly and made tooltips on option buttons translatable.

User changes

Developer changes

6.4.7.6747 (January 19th 2009)

New features

Improvements

  • base: Updated the IMMUTABLE_STRING classes to have an efficient string extraction query `shared_substring' which will let you create a substring of an existing immutable string without actually duplicating the data.
  • studio: Added option in the new library dialog to show only void-safe libraries, for void-safe projects.

Feature removed

Bug fixes

  • compiler: Fixed a bug with pre/post actions which were always executed regardless of the specified condition.
  • runtime: Fixed eweasel test#store020 where our recoverable store mechanism could not retrieve an object if it was generic and using a formal as actual generic parameter in a generic derivation using an expanded type. This is because in 6.2, we decided not to perform the instantiation of the attribute as it was not working properly when generic derivation is a generic expanded type. For the time being, if there is a mismatch where expected type is a FORMAL_TYPE, we try to instantiate it in the current processed type and if there is a match then we know it is ok, otherwise we reject the code. This also fixes bug#15256.
  • runtime: Fixed eweasel test#store019 where using the SED facilities to store/retrieve attributes which are attached would fail.

User changes

Developer changes

6.4.7.6645 (January 12th 2009)

New features

  • studio: Added compile_all, syntax_updater and Eiffel image embedder tool to the EiffelStudio delivery. They are located under $ISE_EIFFEL/tools/spec/$ISE_PLATFORM/bin.
  • editor: Added `flush' to force a full load of texts.

Improvements

Feature removed

Bug fixes

  • compiler: Fixed bug#15235 where some C compilers do not like that we generate a C array of size 0.
  • compiler: Fixed correctly location reporting of error classes, using the location where the code is written which differs from the current class being analyzed.
  • compiler: Fixed bug#15139 by checking when parts of a multi-branch conditional instruction even when the inspect expression does not type check (see test#valid228).
  • compiler: Fixed test#attach039 by using written class when evaluating precursor features as the current feature may be inherited.
  • compiler: Fixed bug#15144 by checking that a self-initializing attribute is not processed recursively (see test#term169).
  • compiler: Fixed bug#15129 by using a mixed routine-attribute table for attributes that may be self-initializing (see test#final072).
  • studio: Fixed issue bug#15222 to respected existing note clause tags and values.
  • finish_freezing: Fixed typo reported in bug#15239.
  • net: Move definition of FD_SETSIZE before using the Windows header files so that we can really listen on 256 descriptors (breaking change introduced in the IPv6 version which is now the official).

User changes

Developer changes

6.4.7.6592 (January 5th 2009)

New features

Improvements

  • studio: Automatic class licenser now preserves all other note clause terms when replacing a license in the class text.

Feature removed

Bug fixes

  • studio: Fixed reporting of feature errors to report the correct class name when referring to parent class errors.
  • studio: Fixed EIS tool broken by either compiler changes or improper attachment usage.
  • studio: Fixed a library target compiled as an application target was not editable by EIS.
  • studio: Fixed a bug that note elements were not properly setup when recomputing configuration, which caused missing of some EIS entries.

User changes

  • net: The IPv6 version of the EiffelNet library is now the official one. The old one has been moved in the obsolete cluster.
  • compiler: The compiler now accepts attribute and note as keyword by default.
  • argument parser: The argument parser library introduces some breaking changes in deferred feature signatures due to the conversion to Void-Safe.
  • studio: Added built-in EIS variable "ISE_DOC" with value of "http://doc.eiffel.com".

Developer changes

6.4.7.6402 (December 27th 2008)

New features

Improvements

  • compiler: speed up degree 6 by not looking at the content of all .e files to figure out the associated class name. We now assume on the first pass that the file name is the class name. On EiffelStudio, if none of the file were buffered, we went from about 1 minute spent to just less than 3 seconds. The improvement should be even more when classes are on a remote drive.
  • studio: Set current line number as initial line number of the Go to line dialog. This fixed bug#15193.

Feature removed

Bug fixes

  • compiler: Fixed missing detection of VRFT errors in cases like "a: TUPLE [a: TUPLE [out: INTEGER]]". Fixes eweasel test#exec293.
  • compiler: Fixed catcall checker crashing when enabled. Fixes eweasel test#term166.
  • runtime: Fixed eweasel test#exec293 where accessing labels of a Void tuple would not cause a call on Void target exception.
  • studio: Fixed a bug that shortcut preferences with `+'/`Numpad +' could not be modified.

User changes

  • compiler: now the compiler does not produce the class progress output in batch mode. If you want the old behavior, you have to use -verbose option.

Developer changes

6.4.7.6313 (December 22nd 2008)

New features

  • base: Added `same_keys' to HASH_TABLE. You can redefine this feature to use a different comparison criterion for the keys.

Improvements

  • compiler: Improved implementation of ~ and expanded comparison to use `is_equal' directly rather than using `equal'.

Feature removed

Bug fixes

  • compiler: Fixed eweasel test#exec292 where type of inherited formals where incorrectly interpreted in descendants.
  • base: Fixed a bug that would not recognize a class name A_SOMETHING as a valid identifier for INTERNAL.
  • studio: New library dialog now correctly sorts the contents base on the library name and not the path.
  • studio: Fixed bug#15173: EiffelStudio crash when selecting library
  • runtime: Fixed eweasel test#runtime010 where certain allocation patterns could cause a major slow down during a garbage collection cycle.

User changes

  • base: We do not use is_equal in EiffelBase, but instead the ~ operator. This could break some of your code, especially with HASH_TABLE.

Developer changes

6.4.76164 (December 15th 2008)

New features

  • studio: In-grid-item selection in Error List tool.
  • editor: Customizing some editor attributes, fonts, line height and etc., per instance.

Improvements

  • studio: Tabulated format of copied selection from the Error List tool.

Feature removed

Bug fixes

  • studio: Fixed bug#14237 where some manipulations on the UI could corrupt the EiffelStudio docking layout.
  • studio: Fixed bug#12453 where VYCQ error would print the feature name in blue rather than in green.
  • studio: Added a protection for bug#15116 where we could still try to access `content' while EiffelStudio has already destroyed the panel.
  • studio: Fixed bug#15073 that Pick and drop from output window didn't work when no class tool was available.
  • compiler: Fixed eweasel test#multicon050 where compiler did not handle renaming of a routine with an alias into a routine without one as it still thought the alias was available.
  • compiler: Added printing of referenced configuration file in which there is a conflict. This fixes bug#15099.
  • compiler: Fixed an incorrect VUTA(2) error being reported when compiling a static access call in void-safe mode. This fixes eweasel test#valid223.
  • compiler: Fixed an incrementality corruption (bug#15061 and eweasel test#incr296) which would occur a feature has an invalid signature for one failed compilation before it is fixed again.
  • compiler: Fixed bug#15027 where if you have a class which was originally only in an override cluster and then keep it in the override cluster but also now in a normal cluster, then we would not remove the compiled information from the override cluster which would cause in a later compilation the class to be forcibly removed from the system even though it is still in use.

User changes

  • base: it is now using the new alias syntax for operators instead of obsolete syntax based on `infix/prefix' keywords. As a result some of your code may not compile.

Developer changes