Version
- Tags:
- Release
Release notes for EiffelStudio 14.05
Graphical environment
What's new
- Eiffel Inspector: A static analysis tool to help you maintain a high code quality. Currently there are 35 rules that can detect coding style, performance, or runtime issues.
- Automatic Fixing: EiffelStudio can fix some class of errors automatically. Currently we fix unused local variables and missing types to the declaration of local variables.
- Added support for SSL to EiffelNet.
Improvements
- Made sure to show the groups content very early in the compilation process.
- Reduced size of project file in EIFGENs directory to speed up loading and saving of Eiffel projects after each compilation.
- Better handling of multiple monitor to ensure EiffelStudio is opened on the same screen as it was at last launch.
- AutoTest: Made it possible to run test cases outside of the AutoTest framework by simply calling them from a normal class.
- compile_all: Made it easier to compile a project for the various platforms we support. This is done by using the new -platform option where a platform name can be either unix, windows, macintosh, or vxworks. If you suffix the platform name with ! it will only compile projects that are sets for this platform. If a project specify a platform and the -platform has been set and is different, the project will be ignored.
Changes
- Support for .ACE and .EPR files have been dropped from EiffelStudio. A tool ace2ecf is now available to convert .ACE to .ECF if needed.
- AutoTest: EiffelStudio will never saved generated test classes in the EIFGENs directory, user will have to specify a directory. This is to avoid losing tests after deleting an EIFGENs directory.
- New created projects are set to the complete void-safety level.
Bug fixes
- Fixed slow formatting of classes/features after editing the corresponding class.
- Made sure to show the feature comment when showing the contracts during code completion.
- Fixed improper display of conditions in task and external nodes of the Eiffel Project Settings dialog.
- Fixed an issue with preferences where setting them to a value, you will never be able to set it back to its default value.
- Fixed an editor issue where saving a class would force a refresh of the editor instead of just saving.
- Fixed an editor where copy/pasting code containing new lines with some leading tabs, the cursor would be improperly positioned after pasting.
- Fixed crash when searching for a feature while the editor hasn't finished loading (bug#18792, bug#18501, and bug#17626)
- Fixed wrong newline characters on Windows when creating a new class from our templates.
- Fixed the "Evaluator Died" error when running AutoTest on Unix systems (bug#18078).
- Prevented a crash when trying to run AutoTest and no executable is present (e.g. case of compiling a project as a library instead of as an application) (bug#18838).
- Fixed crash when you start running a test that was just renamed it (bug#18686).
Compiler
- Click here for the compiler release notes.
Debugger
N/A
EiffelBuild
- Click here for the EiffelBuild release notes.
Libraries
General
Most libraries do now compile in the highest level of void-safety except the following ones:
- docking
- editor
- edk
- graph
- memory_analyzer
Arguments
- Changed the default display of help by showing first the option arguments and then the non-switched arguments.
Base
- Added
{READABLE_STRING_GENERAL}.is_whitespace and{READABLE_STRING_GENERAL}.is_substring_whitespace . - Added
epsilon andmachine_epsilon queries as requested by users in REAL_32 and REAL_64. - Added missing
min_value andmax_value from the .NET version of REAL_32 and REAL_64. - Removed obsolete feature
{TUPLE}.make . - Fixed
{FILE_UTILITIES}.files_end_with to respect the depth level specified in argument. - Fixed issues with the handling of the Unicode escape character. If the escaped UTF-32 string contains the escape sequence and it is trying to escape something that could fit the UTF-16 or UTF-8 encoding, then we store the content as is. This is to avoid the case for UTF-16 where if you have: ?61 it would yield a after round-tripping. Now if the UTF-16 or UTF-8, contains the escape character, the resulting string would have it twice, which again preventing proper roundtriping.
Internationalization
- Removed
get_locale andget_language fromI18N_FILE_SCOPE_INFORMATION to use the Eiffel naming conventionlocale andlanguage and also changed the types to be detachable. This requires updating callers to the new names and to also perform a check that the request yields an attached entity.
Regexp
- Renamed CHARACTER_SET and BYTE_CODE into PCRE_CHARACTER_SET and PCRE_BYTE_CODE to avoid name conflicts with libraries that have the same class names.
Ribbon
- Added ability to assign hot keys to ribbon elements.
Store
- Improved the behavior of storing binary data by not imposing the user to convert its binary stream to hexadecimal in the case of stored procedures and prepared statements. This is a breaking change as now it will store whatever you provide as is. For traditional SQL statements it remains the same and binary data needs to be converted.
- Better handling of conversion of REAL_32 and REAL_64 to decimal when the associated column is a decimal.
- Removed precondition
is_allocatable ,descriptor_available , ordescriptor_is_available to many EiffelStore routines. If a descriptor cannot be allocated, the execution of the routine will fail and an error code and message will be reported. - Fixed issue with ODBC when storing large strings when using a prepared statement or a stored procedure, only the first 4000 bytes would be stored.
- Fixed issue with ODBC when storing a string into a binary column of the database which would fail with a mismatch.
- Fixed issue when the length of a table or column name is more than 50 characters.
- Fixed issue with ODBC where a large ASCII data would have their first byte missing.
- Added support for handling NULL values in a database using ODBC when using a mapping in DB_SELECTION, DB_DYN_SELECTION, DB_CHANGE or DB_DYN_CHANGE.
Vision2
WEL
- Optimized performance of
WEL_RICH_EDIT_BUFFER_SAVER . - Fixed issue in
{WEL_STRING}.set_string_with_newline_conversion with Unicode characters above the 65535 range, the result of the conversion to UTF-16 requires more space and when you have to replace %N into %R%N we forgot to resize the content before inserting the %R%N characters. - Fixed issue in
{WEL_STRING}.set_string_with_newline_conversion where if the input string had only one character after the last %N, that character would be discarded. That is to say "%Na" would yield "%R%N" instead of "%R%Na" (bug#18783). - Fixed incorrect signatures for the wrapping of PostMessage, GetCurrentProcessId and GetWindowThreadProcessID which do not return a pointer but an integer type.
XML
- Fixed XML parser when the input file is exactly the same size as the xml file input stream chunk size (default 4096 bytes).
Back to Release Notes
cached: 12/30/2024 10:35:52.000 AM