[[Property:title|Release notes for EiffelStudio 7.0]]
[[Property:link_title|7.0]]
[[Property:weight|13]]
[[Property:uuid|302c6dc1-3ed0-cc25-0ec8-851ead074caf]]
==Graphical environment==

===What's new===
* [[EiffelRibbon]]: a Windows specific library and tool to add a ribbon to your EiffelVision2 applications.
* Debian packages available for downloads.
* Added external contributions: Decimal library, Json parser, arbitrary precision mathematics, encryption (SHA1, MD5, x509, ...).
* Added previews of libraries: sqlite3, regular expression, ...
* Added a command line option "-tests" to run all associated Autotest tests from the command line.

===Improvements===
* Better integration with the latest Linux Desktop environments: Unity from Ubuntu and KDE 4.0.
* SCOOP speed improvements.
* Added support for .NET 4.0 runtime.

===Changes===
* BIT type is now obsolete.
* Location of precompiled libraries has been moved to a user specific directory that can be referenced via the $ISE_PRECOMP variable in your project configurations. This addresses some permission issues depending on how and under which user EiffelStudio was installed.

===Bug fixes===
* Fixed a display issue of Unicode characters when reporting an error. (bug#17661).
* Fixed a pick and drop issue where it could be confused (e.g. select <e>ARRAY</e> in editor, switch to clickable format, try to pick various elements, it would always pick <e>BOOLEAN</e> instead) (bug#17666).
* Fixed issue with pick and drop of a feature from an override class whose position is further away than the original class would not scroll to this feature (bug#17406).
* Fixed some issues of window positioning when using EiffelStudio with multiple monitors.
* Fixed a case where you could have 2 editor panes open on the same class.

==Compiler==
* Click [[Major changes between ISE Eiffel 6.8 and ISE Eiffel 7.0|here]] for the compiler release notes.

==Debugger==
=== .NET debugging ===
* It is now possible to use the EiffelStudio debugger to debug Eiffel applications targeted to Microsoft .Net 4.0. 
{{caution|Currently, to debug Eiffel targeted to Microsoft .Net 4.0, it is necessary to set the preference "debugger.dotnet.keep_stepping_info_dotnet_feature" to "False" in order to avoid problems when using the debugger's "Step into" command.}}

===Graphical environment===
* Fixed a problem with missing tool content when an assertion violation was ignored.
* Instances of classes <code>IMMUTABLE_STRING_*</code> are now correctly displayed in the debugger's tools.
* Added a toolbar button for the "Attach" command.
* The exception trace is now included when watch evaluation fails due to an internal error.
* Fixed various issues in which the debugger is unable to retrieve information about an object, especially from the current object.
* Fixed various watch evaluation issues involving argument variables.

===Developer changes===
* The <code>{DB_BREAKABLE_POINT_INFO}.text</code> is no longer truncated, allowing the retention of the full line of Eiffel code.

==EiffelBuild==
* Click [[EiffelBuild Version History|here]]  for the EiffelBuild release notes.

==Libraries==

===EiffelBase===
* Prevented creation of instances of <e>PROCEDURE</e>, <e>FUNCTION</e>, and <e>PREDICATE</e> using a creation instruction. An agent has to be created via the agent expression provided at the language level.
* Fixed a potential reporting of version mismatch when there is a mismatch but actually no version changes.
* Added <e>TABLE_ITERATOR</e> and <e>TABLE_ITERATION_CURSOR</e> to provide a common way for <e>TABLE</e> like datastructure to iterate over using the new across loop.
* Improved speed of `replace_substring_all` when replacing a smaller string by a larger one.
* Added support for string searches of a <e>STRING_32</e> string (previously it was limited to <e>STRING_8</e>).
* Fixed {IMMUTABLE_STRING_XX}.shared_substring which would not be properly processed by many string operations (e.g. item, item_code, code, ...).
* Changed the behavior of {STRING_XX}.twin to create a new string where the capacity is set to the count of the twinned strings and not to its capacity. In scenarios where a large buffer is used but a frequent twin is used it has a big impact on speed and memory usage.
* Fixed an issue with <e>{FILE}.read_to_string</e> which would not change the hash_code of the string given as argument.
* Improved speed of <e>HASH_TABLE</e> lookups.
* Added <e>{POINTER}.is_default_pointer</e>.
* Excluded class <e>BIT_REF</e> from the default setup. In order to use type <e>BIT</e> one has to define a variable <code>USE_BIT</code>.
* Made <e>{LINKED_STACK}.duplicate</e> void-safe, made a postcondition in <e>{INTERVAL}.intersection</e> void-safe.

===EiffelVision2===
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]

===EiffelStore===
* Added support for INTEGER_xx and NATURAL_xx datatypes.
* Added support for transactions in the MySQL handle.
* Various speed improvements for SQL queries.
* Added support for multiple database connections.
* Added support for immutable and unicode strings.
* Added support for GUID type.
* Added support of DECIMAL type.

===Argument parser===
* Made feature <e>{ARGUMENT_BASE_PARSER}.copyright</e> deferred.

[[EiffelStudio release notes|Click here to check out what was new in other versions]]  

