Difference between revisions of "EiffelStudio 13.11 Releases"

m (Bug fixes: Added notes on fixing bugs with bracket aliases.)
(13.11.9.3542 (Final Release))
 
(8 intermediate revisions by 3 users not shown)
Line 5: Line 5:
 
Beta download: ftp://beta:beta57@ftp.eiffel.com/13.11/
 
Beta download: ftp://beta:beta57@ftp.eiffel.com/13.11/
  
==13.11.x.y (...)==
+
==13.11.9.3542 (November 26th, Final Release)==
  
 
===New features===
 
===New features===
 +
* compiler: Supported parenthesis aliases that allow treating feature calls with arguments on entities that take no arguments to look as regular feature calls. This is mostly useful to make calls on agent objects, e.g. instead of <e>my_agent.call (x)</e> it may be possible to use <e>my_agent (x)</e>. Unlike bracket alias, parenthesis alias can be used with both queries and commands, but as with bracket alias, the corresponding feature should have at least one argument.
 +
* compiler: Supported new rules to handle actual arguments in a feature call that wrap last arguments into a tuple when:
 +
** the number of actual arguments exceeds the number of formal arguments
 +
** the number of actual arguments is equal to the number of formal arguments, but the last actual argument is not type-compatible with the last formal argument unless wrapped in a tuple.
 +
: This is mostly useful to make calls on agent objects avoiding explicit manifest tuple notation. For example, <e>my_agent.call ([123, "abc", value])</e> can be written as <e>my_agent.call (123, "abc", value)</e>, or, when combined with parenthesis alias, as <e>my_agent (123, "abc", value)</e>.
 +
* compiler: Supported conditional expressions that allow using different expressions to compute a value depending on some condition: <e>if x < y and x < z then x elseif y < z then y else z end</e>.
 +
* compiler: ecf redirection support -> provide a way to create redirection from a .ecf to another (similar to link)
  
 
===Improvements===
 
===Improvements===
 +
* library: Added parenthesis aliases for <e>PROCEDURE.call</e> and <e>FUNCTION.item</e> so that the calls to agents <e>foo.call (1, 2, 3)</e> and <e>x := bar.item ("qux")</e> can be replaced with <e>foo (1, 2, 3)</e> and <e>x := bar ("qux")</e>.
 +
* library: Added void-safe version of Gobo, only arguments, test, tools and XML are not yet void-safe.
  
 
===Feature removed===
 
===Feature removed===
  
 
===Bug fixes===
 
===Bug fixes===
compiler: bug#18266 (test#svalid031) - Fixed a bug that caused reporting a non-existent error for a renamed feature with a bracket alias.
+
* compiler: bug#18266 (test#svalid031) - Fixed a bug that caused reporting a non-existent error for a renamed feature with a bracket alias.
compiler: bug#18282 (test#multicon062) - Fixed a bug that caused incorrect error report for features with a bracket alias specified in multiple formal generic constraints.
+
* compiler: bug#18282 (test#multicon062) - Fixed a bug that caused incorrect error report for features with a bracket alias specified in multiple formal generic constraints.
 +
* compiler: test#attach108 - Corrected computation of scopes of read-only variables used in implicative expressions with conjuctions.
  
 
===User changes===
 
===User changes===

Latest revision as of 10:11, 26 November 2013

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

Beta download: ftp://beta:beta57@ftp.eiffel.com/13.11/

13.11.9.3542 (November 26th, Final Release)

New features

  • compiler: Supported parenthesis aliases that allow treating feature calls with arguments on entities that take no arguments to look as regular feature calls. This is mostly useful to make calls on agent objects, e.g. instead of my_agent.call (x) it may be possible to use my_agent (x). Unlike bracket alias, parenthesis alias can be used with both queries and commands, but as with bracket alias, the corresponding feature should have at least one argument.
  • compiler: Supported new rules to handle actual arguments in a feature call that wrap last arguments into a tuple when:
    • the number of actual arguments exceeds the number of formal arguments
    • the number of actual arguments is equal to the number of formal arguments, but the last actual argument is not type-compatible with the last formal argument unless wrapped in a tuple.
This is mostly useful to make calls on agent objects avoiding explicit manifest tuple notation. For example, my_agent.call ([123, "abc", value]) can be written as my_agent.call (123, "abc", value), or, when combined with parenthesis alias, as my_agent (123, "abc", value).
  • compiler: Supported conditional expressions that allow using different expressions to compute a value depending on some condition: if x < y and x < z then x elseif y < z then y else z end.
  • compiler: ecf redirection support -> provide a way to create redirection from a .ecf to another (similar to link)

Improvements

  • library: Added parenthesis aliases for PROCEDURE.call and FUNCTION.item so that the calls to agents foo.call (1, 2, 3) and x := bar.item ("qux") can be replaced with foo (1, 2, 3) and x := bar ("qux").
  • library: Added void-safe version of Gobo, only arguments, test, tools and XML are not yet void-safe.

Feature removed

Bug fixes

  • compiler: bug#18266 (test#svalid031) - Fixed a bug that caused reporting a non-existent error for a renamed feature with a bracket alias.
  • compiler: bug#18282 (test#multicon062) - Fixed a bug that caused incorrect error report for features with a bracket alias specified in multiple formal generic constraints.
  • compiler: test#attach108 - Corrected computation of scopes of read-only variables used in implicative expressions with conjuctions.

User changes

Developer changes

13.11.9.2960 (August 2013 Sprint Release)

New features

  • Added ZeroMQ wrapper for version 3.2 or above.
  • Added support for Sun C compiler on Linux for RHEL, OL and Ubuntu 8.04. Other Linux distributions are not supported.
  • library: Added features {TYPE}.is_conforming_to and {TYPE}.is_strictly_conforming_to as implementations of the comparison queries from PART_COMPARABLE to support partial order on type objects (rev#92913).
  • library: Added functions {TUPLE}.new_tuple_from_special and {TUPLE}.new_tuple_from_tuple to create a tuple of a specified type filled with given values (rev#92917).
  • library: Added features {ROUTINE}.flexible_call and {FUNCTION}.flexible_item that accept argument tuples whose type should not exactly match the type of the routine as soon as the types of arguments match (rev#92918).

Improvements

Feature removed

  • library: Marked {ROUTINE}.empty_operands as obsolete to be ready for removal in the future as non-void-safe (rev#92918).

Bug fixes

  • vision2: Fixed issues with EV_RICH_TEXT on Windows which would crash if you make any selection. Improved the RTF parser to support non-standard RTF files.
  • base: Fixed EiffelBase in compatible mode so that one can link executable because it was still referencing some low level BIT runtime features that have now been removed.
  • compiler: Fixed schema specification of ECF to match what the compiler is actually expecting.

User changes

Developer changes

13.11.9.2854 (July 2013 Sprint Release)

New features

library: Added bracket alias for {FUNCTION}.item (rev#92855).

Improvements

  • Speed up SCOOP by an average of 35% up to 500% on some benchmarks.

Feature removed

Bug fixes

  • EiffelStudio: bug#18563 - Supported renaming of features used in qualified anchored types when refactoring code (rev#92744).
  • compiler: bug#18167 - Avoided using attachment status of variables computed for a routine body when checking a postcondition (rev#92760).
  • EiffelStudio: bug#16960 - Fixed an exception when showing an inherited class invariant with qualified anchored types (rev#92767).
  • compiler: bug#15591 (test#attach106), bug#17302 (test#valid270) - Fixed an erroneous reporting of VUOT for object test locals when right-hand side of a binary expression using these locals has a validity error (rev#92769).
  • compiler: bug#17693 (test#anchor061) - Avoided assertion violation when an assertion-enabled compiler is used to process feature that is no longer available for a formal generic because of renaming in the corresponding constraint (rev#92776).
  • compiler: bug#18643 (test#attach107, test#attach102) - Fixed a bug that may lead to unreported VEVI errors for attributes not properly set by a creation procedure when compiled in complete void safety mode (rev#92835).
  • compiler: Fixed a crash when converting old Ace files to new ECF format. (bug#18642 and bug#18628, rev#92820)

User changes

Developer changes