diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-63-and-ise-eiffel-64.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-63-and-ise-eiffel-64.wiki index 42a006a3..e78bf82e 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-63-and-ise-eiffel-64.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/compiler/compiler-history/eiffelstudio-6-compiler-history/major-changes-between-ise-eiffel-63-and-ise-eiffel-64.wiki @@ -4,10 +4,10 @@ [[Property:uuid|08206c9f-42fc-d007-ca09-4cf6a42207c2]] ==What's new== {{seealso|[[Differences between standard ECMA-367 and Eiffel Software implementation|Differences between standard ECMA-367 and Eiffel Software implementation]] }} -* Added new compiler command line options: '''-experiment''' and '''-compat'''. The '''-compat''' option has no effect in 6.4. The '''-experiment''' option changes the internal value of $ISE_LIBRARY to look for libraries under $ISE_EIFFEL/experimental/library. Those libraries are tryly void-safe with respects to ARRAY/SPECIAL and because of that change it might break your existing code. In 6.5, the experimental libraries will be the default libraries and you are encouraged to take steps to ensure your code will compile fine with the experimental libraries. We made it possible to compile the same code under the 2 sets of libraries, and therefore testing should be quite easy. +* Added new compiler command line options: '''-experiment''' and '''-compat'''. The '''-compat''' option has no effect in 6.4. The '''-experiment''' option changes the internal value of $ISE_LIBRARY to look for libraries under $ISE_EIFFEL/experimental/library. Those libraries are truly void-safe with respect to ARRAY/SPECIAL and because of that change, might break your existing code. In 6.5, the experimental libraries will become the default libraries. So, you are encouraged to take steps to ensure that your code will compile with the experimental libraries. We have made it possible to compile the same code under both sets of libraries. This should facilitate testing. * Added support for iPhone platform. -* Added support for the new syntax for object test, i.e. "attached {T} exp as u" instead of "{u: T} expr". -* Added free syntax for '''stable''' attributes; the final syntax is being discussed by the ECMA committee. Stable attribute is an attribute of a detachable type that is never assigned void. This property makes it possible to apply to it most of the CAP rules suitable for read-only entities. The stable attributes can be declared using value stable of the note tag option, for example: +* Added support for the new syntax for object test, i.e. "attached {T} expr as u" instead of "{u: T} expr". +* Added free syntax for '''stable''' attributes; the final syntax is being discussed by the ECMA committee. Stable attribute is an attribute of a detachable type that is never assigned void. This property makes it possible to apply to it most of the CAP rules suitable for read-only entities. The stable attributes can be declared using value '''stable''' of the note tag option, for example: a: detachable MY_TYPE note option: stable attribute end diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-64.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-64.wiki index fc93fce7..92c6cf44 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-64.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-64.wiki @@ -7,19 +7,19 @@ ===What's new=== * Initial support for the iPhone platform to develop command line applications. Support for graphical applications will be available in the next release. * Added new libraries: the '''diff''' library, the '''encoding''' and '''internationalization''' libraries. -* To minimize breaking changes, EiffelStudio comes with two sets of libraries. The first set, which is the default set, is compatible with previous versions of EiffelStudio. The second set, which is labeled '''experimental''', is void-safe and contains some breaking changes such as new ARRAY, ARRAYED_LIST, HASH_TABLE, SPECIAL classes. Users are encourage to compile the experimental libraries to prepare their code when experimental will become the de facto library. It is possible to have code that compiles against both set without a change. +* To minimize breaking changes, EiffelStudio comes with two sets of libraries. The first set, which is the default set, is compatible with previous versions of EiffelStudio. The second set, which is labeled '''experimental''', is void-safe and contains some breaking changes such as new ARRAY, ARRAYED_LIST, HASH_TABLE, SPECIAL classes. Users are encouraged to compile with the experimental libraries in order to prepare their code for the future when today's experimental libraries will become the de facto libraries. It is possible to adjust code so that a single version compiles against both sets of libraries. * Added new tools to the EiffelStudio delivery. They are located under $ISE_EIFFEL/tools/spec/$ISE_PLATFORM/bin. The new tools are: -:*'''compile_all''': compile all the Eiffel Configuration File projects found under a directory and report which one do and do not compiles. +:*'''compile_all''': compile all the Eiffel Configuration File projects found under a directory and report which ones do and do not compile. :*'''syntax_updater''': update the Eiffel code found under a directory to use the latest ECMA syntax in your code. ===Improvements=== -*Added completion of attribute to create an attribute body. -*The completion window will now show a feature or class description tool tip. -* Supported new attached syntax for code completion. -* Better formatting of verbatim strings, that guarantees that copy/pasting from the formatted text will yield the same string content as the one in the Eiffel source code. +* Added automatic completion of the attribute keyword to create an attribute body. +* The completion window will now show a feature or class description tool tip. +* Added support for new attached syntax for code completion. +* Better formatting of verbatim strings, guaranteeing that copy/pasting from the formatted text will yield the same string content as the one in the Eiffel source code. * Improved display of ~ and /~ operators, as well as object test expressions. -* The project name in status bar, when we load a configuration (i.e: even before any compilation) -* Vastly improved population of the error list tool when thousands or errors/warnings are generated. +* The project name is displayed in the status bar, when a configuration is loaded (i.e: even before any compilation) +* Vastly improved population of the error list tool when thousands of errors/warnings are generated. * Added option in the new library dialog to show only void-safe libraries, for void-safe projects. ===Changes=== @@ -30,8 +30,8 @@ ===Bug fixes=== * Fixed failure when generating the flat view of some classes. * Fixed various issues with the testing tool. -* Fixed a bug where editor will disappear when debugging. -* Fixed some corruptions of docking layout of EiffelStudio. +* Fixed a bug which caused editor to disappear when debugging. +* Fixed some corruptions of the docking layout of EiffelStudio. ==Compiler== * Click [[Major changes between ISE Eiffel 6.3 and ISE Eiffel 6.4|here]] for the compiler release notes. @@ -70,8 +70,8 @@ ===EiffelNet=== * net: Added ability to only listen on the loopback address in NETWORK_STREAM_SOCKET -* Fixed some issues when trying to listen for either any address or the loopback address in both IPv4 and IPv6 mode on Windows. It also solves a security issue since if you have IPv6 enabled, then listening to the loopback would also listen to any address on the IPv4 interface. -* Fixed a memory leak in read and receive from SOCKET because we forgot to free the temporary buffer used to hold the data. +* Fixed some issues when trying to listen for either any address or the loopback address in both IPv4 and IPv6 mode on Windows. The fix also solves a security issue, because if you have IPv6 enabled, then listening to the loopback would also listen to any address on the IPv4 interface. +* Fixed a memory leak in read and receive from SOCKET caused by failure to free the temporary buffer used to hold the data. * Renamed privately exported make_from_fd to make_from_descriptor_and_address. * Re-enabled listening on 256 ports on Windows for the IPv6 library.