Difference between revisions of "EiffelStudio 17.01 Releases"

(Feature removed: Added a note about removing support for SED_INDEPENDENT_DESERIALIZER.)
m (User changes: Added a note on reporting an error instead of a warning when changing concurrency.)
Line 37: Line 37:
 
===User changes===
 
===User changes===
 
*library: Marked <e>{ANY}.as_attached</e> as obsolete to simplify removal of calls to it when transition to void-safe code is finished.
 
*library: Marked <e>{ANY}.as_attached</e> as obsolete to simplify removal of calls to it when transition to void-safe code is finished.
 +
*compiler: Changing a concurrency setting for a compiled project causes a compiler error instead of a warning.
  
 
===Developer changes===
 
===Developer changes===

Revision as of 01:26, 2 December 2016

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

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

16.11.x.x

New features

  • library: Supported a version of a process library (used to launch external processes) for single-threaded environments. It differs from the full-fledged version by absence of wait for process termination with timeout (no wait_for_exit_with_timeout), asynchronous writing to child process standard input (put_string is blocking) and reading from child process standard output and error streams (redirection to agents is not supported). Performance-wise, a combination of {BASE_PROCESS}.launch/{BASE_PROCESS}.wait_for_exit runs faster than a call to {EXECUTION_ENVIRONMENT}.system.

Improvements

  • EiffelStudio: Configuration option "Are types attached by default?" defaults to True when reading non-void-safe projects so that if the project is changed to be void-safe, the recommended default for attachment status of class types without marks is used.
  • compiler: Supported nested inlining of a selected set of features from SPECIAL in finalized mode: base_address, clear_all, copy_data, count, item, overlapping_move, non_overlapping_move, put.
  • compiler: Fix crash in melted code when calling {TYPE}.is_attached, {TYPE}.is_expanded.
  • Library (Base): Add ability to change the start position when storing/retrieving using a SED_MEMORY_READER_WRITER.
  • Library (Base): Add {TYPE}.is_deferred and use this in {REFLECTOR}.new_instance_of to avoid creating abstract type at runtime.
  • Library (Base): Refactored RT_DEBUGGER with breaking changes: rt_worbench_for_for_debugger renamed into wait_for_debugger and discard_debug into disable_debug.
  • EiffelStudio: Grouped options in target/library/precompile/cluster/class tabs in Project settings dialog in sections by their purpose.
  • EiffelStudio: Supported multiline descriptions in an option tab of Project settings dialog and in Customized formatters dialog.

Feature removed

  • EiffelStudio: Removed option "Are types attached by default?" from project settings dialog. Potential incompatibility: old Eiffel configuration files (ECF) that rely on "class types are detachable by default" policy and migrate to "attached by default" policy will need to be changed directly by editing the file, not from EiffelStudio.
  • library: Removed support for automatic retrieval of data by SED_STORABLE_FACILITIES using SED_INDEPENDENT_DESERIALIZER that was obsolete for several releases. SED_INDEPENDENT_DESERIALIZER will be removed from the library in a later release.

Bug fixes

  • runtime: Fixed a bug in the CECIL macro eif_attribute_type that always returned EIF_POINTER_TYPE instead of the type code corresponding to the actual attribute type.
  • library (Net): Properly handle BCC recipients by really hiding them.
  • compiler: Fix C compilation errors when using the profiler in final mode on strict C compilers (fix bug#19193 and eweasel test#final16, test#ccomp070)
  • compiler: test#melt108, test#melt109 - Fixed a bug that led to an incorrect type of a boxed object of a sized variant of NATURAL obtained as a result of two reattachments: manifest constant to a variable of this NATURAL type and this variable to a reference entity.
  • compiler: bug#19264 (test#attach121) - Fixed a bug that caused an exception trace when reporting a bug about uninitialized attributes for an inline agent in presence of other bug reports.
  • runtime: bug#18952 (test#melt106) - Fixed a bug that might cause a program crash in a precondition with an object test with an explicitly specified expanded type.
  • library (Base): bug#19278 (test#store044) - Fixed a bug that might cause failure to retrieve objects stored by a different system if some reference attributes or SPECIAL storage were attached to expanded objects.
  • compiler: test#attach122 - Fixed a regression bug that might cause incorrect optimization of an object test when its expression is a local variable declared as attached or a result of a feature of an attached type leading to access on void target during execution.
  • compiler: test#attach123 - Avoided optimizing away object tests when their expressions are of attached types unless the whole system is compiled in complete void safety mode.

User changes

  • library: Marked {ANY}.as_attached as obsolete to simplify removal of calls to it when transition to void-safe code is finished.
  • compiler: Changing a concurrency setting for a compiled project causes a compiler error instead of a warning.

Developer changes