[[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 ARRAY in editor, switch to clickable format, try to pick various elements, it would always pick BOOLEAN 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 IMMUTABLE_STRING_*
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 {DB_BREAKABLE_POINT_INFO}.text
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 PROCEDURE, FUNCTION, and PREDICATE 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 TABLE_ITERATOR and TABLE_ITERATION_CURSOR to provide a common way for TABLE 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 STRING_32 string (previously it was limited to STRING_8).
* 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 {FILE}.read_to_string which would not change the hash_code of the string given as argument.
* Improved speed of HASH_TABLE lookups.
* Added {POINTER}.is_default_pointer.
* Excluded class BIT_REF from the default setup. In order to use type BIT one has to define a variable USE_BIT
.
* Made {LINKED_STACK}.duplicate void-safe, made a postcondition in {INTERVAL}.intersection 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 {ARGUMENT_BASE_PARSER}.copyright deferred.
[[EiffelStudio release notes|Click here to check out what was new in other versions]]