Version
- Tags:
- Release
Release notes for EiffelStudio 7.1
Graphical environment
What's new
- New SCOOP processor garbage collection which now lets you create more than 1500 processors during one execution. There is still a limit on the number of concurrent processors you might have.
- Added the Eiffel Web Framework contribution to build web applications or services in Eiffel.
- Added support for specifying C compiler flags and linker flags.
- Preview of GTK3 support which includes a HTML5 back-end for EiffelVision applications.
- Added support for EIFFEL_LIBRARY environment variable, if set and ISE_LIBRARY is not set by the current user, the former will be used to locate libraries.
- Info tool:
- Added a new Add button and Go To button. Rearranged the position of Delete button.
- Added a new built-in variable SYSTEM_PATH that refers to the location of system in which current entry is written.
- Added new contextual menu "Info" and sub menus Add Info to and Copy URI from.
- Implemented "DOC" protocol, supporting "bookmark" parameter, as long as Word is installed and available.
- Synchronize stones into Into Tool when clicking "Synchronize Context Tool"
- Improved acceptance of stones in the tool.
- Remember selected item when the tree is rebuilt (for recompilation and so on)
- Added a button to choose a file from a dialog for "Source".
- Added a dropdown list of choices for protocols.
- Changed names and sequence of columns as following: Target Source Parameters Protocol Name Tags Override
- Drew signs on icons to show there is information related to a tree node.
- In addition to "Unnamed" as default name, put "URI" as default protocol and http://www.yourwebsite.com as default Source when creating a new entry.
- Added completion list for available variables in Source.
Improvements
- Better copy/paste of code to avoid useless reformatting after copying and pasting a block of text. The smart behavior is available via Ctrl+V or Shift+Ins. If the new behavior is not adequate, Ctrl+Shift+V will paste as is.
- Better formatting of Eiffel source code when using the pretty printer.
- Better performance of SCOOP runtime for certain types of concurrent calls.
- Printing in postscript mode now allowed on Unix (previously, printing always defaulted to RTF); added
use_postscript
preference. - Take into account mice with high resolution wheels.
- Avoid flashing when completion window is updated at each keystroke.
- Avoid resizing the grid all the time in Info tool when grid items are recreated for sorting, or other operations.
- Avoid adding empty attributes in code like EIS: "name=" when editing EIS entries.
Changes
- Removed addition of .NET targets in our project configuration templates to make it easier on new users to compile a project out of the box.
Bug fixes
- Fixed support of non-ASCII keyboard characters on Unix platforms.
- Fixed issue with automatically generated tests which included tests that should have been excluded because they represented invalid tests (e.g. precondition failures).
- Fixed issue where EiffelStudio would fail while trying to generate tests for a generic type whose generic derivation doesn't exist in the system.
- Fixed a runtime issue when testing automatically generated tests for a void-safe program, they would always fail instead of passing (when they should be passing).
- Fixed a failure of EiffelStudio when trying to display the help of a compiler error.
- Fixed disappearance of dashed pick and drop lines on Windows.
- Fixed an issue where trying to perform a diff inside the console tool would crash EiffelStudio.
- Fixed a bug in EIS tool, when target was changed from class to feature or back, the column "Override" was not updated correctly.
Compiler
- Click here for the compiler release notes.
Debugger
Graphical environment
- Improved speed for multiple rows selection in watch tool.
- Disable "ignore breakpoints" when launching debug session from "autotest" tool, or from execution parameters dialog.
- Fixed a "Call on Void target" due to missing dynamic type information (Grid item crash in debugger).
- Allowed evaluation of expressions which would not be valid if void-safety rules were applied (for example using a local that is detachable but the expression does not tell if at the evaluation time the local is attached or not).
EiffelBuild
- Click here for the EiffelBuild release notes.
Libraries
EiffelBase
- Fixed a bug with
{ARRAY}.force
when the new lower index is less than the old lower index - count. - Fixed a bug with
{ARRAY}.force
where if the items had to move, the newly allocated area was not reset. - Corrected precondition of
{ARRAY}.force
that did not allow storing elements at existing indexes. - Added
{PLATFORM}.is_scoop_capable
to find out if a system is compiled using a SCOOP capable runtime. - Added ability to create a local string using a separate string.
- Moved most of the queries of strings descendants (e.g.
is_real
,is_integer
, ...) to classREADABLE_STRING_GENERAL
to make it easier to handle all the various kinds of strings. - Added
{HASH_TABLE}.disjoint
to find out if 2 tables have some common elements or not based on the key comparison criteria. - Made explicit that the
<code>area</code>
is shared between anARRAY
and anARRAYED_LIST
created via conversion. - Fixed improper implementation of
<code>copy</code>
forUNIX_FILE_INFO
andBOOL_STRING
which caused for the former a sharing of someFILE
specific information. - Fixed
{STRING_32}.left_adjust
that did not work properly when the string contained only white spaces. - Fixed an issue with
{FILE}.exists
on Windows 32-bit when files are larger than 2GB. It only occurs with the latest version of the Microsoft C++ compiler (VS2010 or later).
EiffelStore
- Added support for XML data in ODBC.
- Fixed an issue with retrieving blob of null-size.
- Added ability to connect to several databases at once for the same database handle.
- Added ability to connect to an ODBC database using a connection string.
- Improved support for MySQL.
- Added query to find out how many rows have been affected by the last query.
- Made sure that errors are properly propagated when calling
{DATABASE_MANAGER}.execute_query_without_commit
. - Properly handled
{DB_CHANGE}.reset
. - Improved SQL string escaping. Fixed bug escaping for ODBC.
- Added capability to enable multi-statements execution for MySQL.
EiffelThread
- Breaking change in class
THREAD
, descendants should now call{THREAD}.make
in order to initialize threads properly. This change was required to have a project using SCOOP be able to use libraries that are only aware of multithreading. - Fixed a memory corruption issue occurring when many threads are exiting at once, or that a child thread exits immediately after its parent but the parent is not yet finished in its termination.
EiffelTime
- Fixed improper parsing of 2 digit hours.
EiffelVision2
Web Browser Library
- Fixed a C compilation issue when finalizing a project using this library.
WEL
- Added ability to print to a specific printer or the default printer without having to show the printer dialog.
- Added support for loading EMF files through
WEL_GDIP_METAFILE
. - Fixed an issue with
WEL_DISK_SPACE
that was not working in 64-bit mode. The fix implies a breaking change in that now aNATURAL_64
is returned instead of anINTEGER_32
. - Added SCOOP support.
Back to 7.x