Release notes for EiffelStudio 13.11

Graphical environment

What's new

  • Eiffel Information System links and other type of links are now clickable in the editor.
  • Editor shows both the Unix style or Windows style for new lines.
  • Added wrapper for the ZeroMQ messaging library.
  • Added ABEL, an object persistent layer on top of in-memory or relational databases.
  • Added support for Sun C compiler on Linux for RHEL, OL and Ubuntu 8.04. Other Linux distributions are not supported.

Improvements

  • Improved debug tooltip for nested feature call evaluation.
  • Improved completion window/tooltip positioning with respect to monitor coordinates and multiple displays.
  • Improved command line behavior of running tests to automatically perform the necessary compilation steps to test compiled system.
  • Completion and pick and drops will now work more reliably reliably after many edits.
  • Added void-safe version of Gobo. Only arguments, test, tools and XML are not yet void-safe.

Changes

  • We have changed our versioning scheme: we will use as the major revision the last 2 digits of the current year, here 13, and as minor the month of the release, here 11. Next release will therefore be 14.05.
  • When a Unicode character as an ASCII equivalent we will not silently convert it to the ASCII equivalent.

Bug fixes

  • Fixed "Evaluator Died" error when running tests in AutoTest when using certain combinations of root class and creation procedure.
  • Fixed bug#18563: Supported renaming of features used in qualified anchored types when refactoring code.
  • Fixed bug#16960: Fixed an exception when showing an inherited class invariant with qualified anchored types.
  • Fixed bug#18606: When completing some code you can see that the entries are shifting by one pixel. It is only visible via remote desktop or when desktop composition is disabled.
  • Fixed bug#18614: Moving text containing Unicode characters in the editor will lose the Unicode characters.
  • Fixed bug#18611: Preventing an EiffelStudio hang when browsing ECF in the group tool when ECF refers to each other recursively.
  • Fixed bug#18679: Clicking locate button in the Eiffel Information System tool when editor is empty would crash EiffelStudio.

Compiler

  • Click here for the compiler release notes.

Debugger

N/A

EiffelBuild

  • Click here for the EiffelBuild release notes.

Libraries

EiffelBase

  • 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").
  • Made TUPLE an iterable structure.
  • Added {TUPLE}.plus which will concatenate 2 tuples.
  • Fixed typo in {TUPLE}.is_uniform_character_32
  • 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).
  • 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).
  • 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).
  • Marked {ROUTINE}.empty_operands as obsolete to be ready for removal in the future as non-void-safe (rev#92918).
  • In HASH_TABLE, in the event of a mismatch, it is possible that the value of control was invalid (see bug#18670) so we reset it to 0.
  • Introspection changes in OBJECT_GRAPH_TRAVERSABLE:
    • Rewrote traverse to fix an issue with objects with expanded fields where we would not recurse into them. Added support for SPECIAL of expanded as well. We still have restrictions for TUPLE with expanded for which a copy be done.
    • Added new callbacks on_processing_object_action and on_processing_reference_action each time a new object is traversed, that help building a graph of objects.
    • Added has_failed to find if the traversal succeeded or not.
    • Added the ability to trigger or not an exception when a copy of an expanded object is done when we do not want any. Also we let user choose if exceptions will be raised to callers.

EiffelVision2

Eiffel Editor

  • Stop translating %R%N into %N on input, we now keep the original text to ensure positioning information can be easily converted by code reading text files.
  • Draw a symbol for new lines when formatting marks are displayed: "¯" is used for Unix style new line and "¬" is used for Windows style new line.

Web Browser

  • Added is_browser_usable to know if the browser library is available.
  • Simplified compilation of unix side of the library to load the webkit shared library at runtime without requiring it at compile time.

XML

  • Fixed XML cases where we have or <foo att> ... take into account the attribute att but report missing value for attribute att.
  • Add report_unsupported_bom_value routine to report unsupported BOM value error.

Click here to check out what was new in other versions