Difference between revisions of "EiffelStudio 14.05 Releases"

(Bug fixes)
(Improvements)
Line 9: Line 9:
 
===New features===
 
===New features===
 
===Improvements===
 
===Improvements===
 +
* studio: Reduced size of '''project.epr''' and time it takes to save/retrieve a project by only saving what is needed. Some projects went from 250MB down to 100MB on disk, and from 800MB to 300MB in memory usage.
  
 
===Feature removed===
 
===Feature removed===

Revision as of 16:54, 13 February 2014

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

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

14.05.x.x (...)

New features

Improvements

  • studio: Reduced size of project.epr and time it takes to save/retrieve a project by only saving what is needed. Some projects went from 250MB down to 100MB on disk, and from 800MB to 300MB in memory usage.

Feature removed

Bug fixes

  • vision2: Fixed by one error when mapping a caret position to the actual caret position of the underlying Windows implementation that has %R%N and not just %N. This fixes vision2 test {TEST_EV_TEXT}.test_test_caret_positioning.

User changes

Developer changes

14.05.9.4243 (February 10th 2014)

New features

  • net: EiffelNet with SSL support.
  • zlib: New Zlib compression library
  • ribbon: Added support for assigning hot keys to ribbon elements.

Bug fixes

  • compiler: Fixed bug#18758 and test#anchor072 which only affected .NET code generation of qualified anchor types.
  • compiler: Fixed a long standing bug where descriptions in external nodes were lost.
  • compiler: Fixed eweasel test#config028, test#config029 and test#config038 where compiler would crash when using a cluster/library with an invalid path.
  • compiler: Fixed a regression that caused a C compilation error after removing a type from the system.
  • studio: Fixed improper display of conditions in task and external nodes.
  • vision2: Fixed a regression in EV_DRAWABLE_IMP on Unix platforms that causes a crash on some Unix platforms.
  • other: Fixed various regression from rev#94113.

14.05.9.4113 (January 29th 2014)

New features

  • base: Added epsilon and machine_epsilon queries as requested by users in REAL_32 and REAL_64. Added missing min_value and max_value from the .NET version of REAL_32 and REAL_64.
  • espec: Added latest version of ESPEC.
  • compiler: The compiler will now report syntax warnings for non-supported empty lists such as {}, () and []. And it will report an error in an export clause if after the type nothing is specified.

Improvements

  • argument: we allow the nologo command line option on Unix to ensure that programs have pretty much the exact same command line interface.
  • compiler: we now provide syntax warnings for unsupported empty lists such as (), or [], or {}, as well as an empty export clause `export {NONE} end'. It is not ECMA compliant to accept those.
  • compiler: made workbench code more compact and faster by about 5 to 9% average.
  • Made most libraries compile in the highest level of void-safety except the following ones:
    • docking
    • editor
    • edk
    • graph
    • memory_analyzer
  • testing: Made possible to run AutoTest test cases outside of the AutoTest framework by simply calling them from a normal class.
  • vision2: Created a set of classes to make it easier to develop AutoTest tests for code based on vision2.
  • runtime: In workbench mode, if the melted file cannot be found, instead of exiting the application, the application will run as if it had never been melted and will print a warning in the console.

Feature removed

  • library: Removed obsolete feature {TUPLE}.make.

Bug fixes

  • compiler: bug#18759 (test#iteration004) - Changed processing of {ITERABLE}.new_cursor to use a renamed version of the feature in a descendant class rather than the feature having this name.
  • compiler: bug#17233 (test#term196) - Supported iteration on an expression of a formal generic type.
  • compiler: bug#17239 (test#term198) - Fixed a bug that caused a crash when compiling the code that used an inline agent as an iteration expression.
  • compiler: bug#16983 (test#anchor055), bug#17034 (test#anchor057) - Fixed a bug that caused a crash when compiling the code with the creation of an object of a qualified anchored type with a formal generic.
  • compiler: test#anchor070 - Fixed a bug that might cause compiler crash when nested qualified anchored types with a longer feature chain were involved in qualifiers of other qualified anchored types.
  • compiler: bug#16991 (test#anchor056) - Fixed a bug that might cause a compiler to report an unknown feature in a qualified anchored type with a formal generic qualifier constrained only by formal generic types.
  • compiler: bug#18795 (test#melt104) - Fixed an issue with address expression (not part of the Eiffel specification, only supported for backward compatibility) when melting code would crash the compiler.
  • compiler: fixed test#exec341 where performing an assignment via "{EXT}.fea := bar" would fail at runtime.
  • dotnet: Fixed a code generation bug when using across where the .NET code generation would perform a cast on the target type of the expression instead of on the type of the cursor.
  • studio: Fixed an issue where if you open EiffelStudio on screen 1 of a multiple screen setup, then maximize EiffelStudio on screen 2. Next time you open EiffelStudio it would open maximized on screen 1 rather than on screen 2.
  • wel: Fixed a bug with `set_string_with_newline_conversion' where if the input string had only one character after the last %N, that character would be discarded. That is to say "%Na" would yield "%R%N" instead of "%R%Na". This fixes bug#18783.
  • studio: Fixed an issue on Windows where once you set a preference to True, you could never go back to its default value. For example, force debug mode would always be active once set, same for linking the editor and the context tool and many others.
  • studio: Fixed a saving issue where each time you saved a document, it will blink instead of not changing anything.
  • studio: Fixed a copy and paste texts with multiple lines with some leading tabs into the editor. The cursor in the end is positioned N characters before the place it used to be. (N is the number of lines of the pasted text)
  • base_extension: Fixed a crash in ENVIRONMENT_ARGUMENTS when arguments are removed after first access to ENVIRONMENT_ARGUMENTS. This is the case when using `--sync' option in a Vision2 application on Unix.
  • process: Fixed redirection of standard error to a file which was redirecting to standard output instead.
  • runtime: Fixed bug#18785 and eweasel test#ccomp089 for Linux 32-bit, but the fix will also affect any platform where the C compiler was not doing what we expected to compute the value of NaN, +Infinity and -Infinity for floating numbers.
  • compiler: test#anchor071 - Fixed computation of a qualified anchored type that involves a formal generic parameter and feature redeclaration in a descendant of the formal generic constraint.
  • studio: Fixed bug#18792, bug#18501 and bug#17626 when searching for a feature while the editor hasn't finished loading.
  • studio: Fixed a long standing issue where the new class template had the wrong newline on Windows.
  • store: Fixed Autotest test#test_numeric_types and test#test_numeric_types_use_decimal_mode by ensuring that a decimal read from the database (almost like a string representation) is converted to a REAL_64 the same way it is done in class {STRING}.to_real_64, otherwise we get different rounding.

User changes

  • EiffelStudio: Moved project setting option Full class checking to Advanced section.
  • EiffelStudio: Changed project settings defaults to complete void safety.
  • compiler: In circa 2000, we allowed $x and $(expr) as expression instead of just argument passing. But while this was good for just $x, $(expr) is actually not supported properly in the code generation. As a consequence we have disallowed $(expr) outside argument passing.
  • wel: Fixed incorrect signatures of wrapping for PostMessage, GetCurrentProcessId and GetWindowThreadProcessID which do not return a pointer but an integer type.

Developer changes