[[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]]