EiffelStudio 17.05 Releases

Revision as of 07:02, 15 May 2017 by Alexander Kogtenkov (Talk | contribs) (Bug fixes: Added a note on fixing bug#19356 (test#thread025).)

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

Beta download: https://ftp.eiffel.com/pub/beta/17.05/

17.05.x.x

New features

Improvements

  • library (docking): Docking library is now completely void-safe. Breaking changes: some creation features now require a docking manager object as an argument.
  • compiler: Obsolete calls are detected and reported for features used as binary and unary operators and in conversions.
  • compiler: Messages about obsolete calls provide information about source code location.
  • EiffelStudio (inspector): Obsolete messages are checked for presence of a date in format [yyyy-mm-dd] that tells when the feature is considered obsolete and call to it should be removed. If the date is not specified, a warning is reported and a default value [2017-05-31] is used.
  • EiffelStudio (inspector): Obsolete calls are detected and reported with different severity levels depending on the message date:
    suggestion - in the future
    warning - less than 1 year old
    error - more than 1 year old
  • EiffelStudio (inspector): Obsolete features reported with different severity levels depending on the message date:
    nothing - less than 1.5 year old
    warning - more than 1.5 year old
  • compiler: Improved performance of object initialization checks in complete void safe mode when a class has hundreds of attributes and features (including inherited ones).
  • library: Updated libraries and examples included with EiffelStudio installation to avoid obsolete feature calls.

Feature removed

Bug fixes

  • compiler: bug#19333 (test#melt110) - Fixed a bug that caused melted code to fail when it had a call to {CHARACTER_32}.is_character_8.
  • library (base): test#reflection010 - Fixed a postcondition dynamic_type_set of the feature {REFLECTOR}.new_instance_of that did not take into account a possibility that the supplied type ID may have an attachment mark.
  • library (vision): - Fixed a precondition violation that may be triggered by dropping selected file names on Windows into a Vision widget.
  • library (base): bug#19277 (test#lib044) - Fixed bugs in traversal of HASH_TABLE using ITERABLE cursors when some elements are removed: incorrect evaluation of cursor_index that may cause a postcondition violation when advancing to the next item, incorrect backward traversal that may produce spurious items.
  • compiler: test#attach124, test#attach125, test#attach126 - Fixed a bug that might lead to a call on void target in a completely void-safe program if newly created objects are created, passed to once functions and are returned as their result but then fail to finish their initialization because of an exception.
  • EiffelStudio: bug#19336 - Fixed a bug that might cause a crash when Windows drag and drop mechanism is used to a drop a file name to the IDE when no project is open.
  • compiler: test#attach127 - Fixed a bug that might cause access on void target in a completely void-safe application that passes an incompletely initialized object inside an expanded argument to a creation procedure that makes a qualified call on the incompletely initialized object.
  • compiler: test#attach045 - Fixed a bug that might lead to undetected void safety issue when compiling in complete void safety mode and there is a test that an argument or a stable attribute is not void in an inherited precondition. Now attachment status of these variables does not depend on preconditions.
  • library: test#lib045 - Fixed a bug in HEXADECIMAL_STRING_TO_INTEGER_CONVERTER that caused incorrect processing of negative numbers when requested type was (a sized variant of) NATURAL.
  • compiler: test#codeanalysis025 - Fixed a bug that might cause code analyzer to finish with an error when checks involve inline agents or built-in features.
  • run-time: test#scoop080 - Fixed a bug that might cause evaluation of a class invariant on a separate object before executing its creation procedure body.
  • compiler: test#scoop081 - Fixed a bug that might cause infinite recursion when evaluating preconditions with agents in SCOOP mode when the system is frozen or finalized.
  • library: scoop_patterns - Fixed inline C code that used a run-time macro that was renamed earlier.
  • library: pcre - Fixed postconditions that used reference comparison instead of string value comparison to compare arguments with attributes initialized with the argument values.
  • library (thread)/run-time: bug#19356 (test#thread025) - Fixed a bug that might cause incorrect behavior during thread termination if attribute terminated of class THREAD is renamed in a descendant.

User changes

  • library (docking): Some creation procedures in the Docking library now require a docking manager object as an argument.

Developer changes