Version
- Tags:
- Release
- eiffelstudio
Release notes for EiffelStudio 17.05
Graphical environment
What's new
- The EiffelStudio Inspector was extended to check for obsolete features and obsolete calls and to make the users aware of coming removal. For that, the inspector checks for presence of well formatted date in obsolete message (following the ISO-like
[yyyy-mm-dd]
format). Reported severity of obsolete calls depends on the associated date ( when the date is in the future, for less than 1 year old, and for more than 1 year old). Removal of obsolete features is suggested when the specified date is more than 1.5 year old. - Added a shortcut ( by default) and a contextual menu item (on editor tabs) to restore a recently closed tab.
- Using Pick&Drop functionality, users can now pick token for local variables and arguments from the EiffelStudio editor and formatters. Drop it into editor, and cursor will be moved to related declaration. Note that for now only normal feature locals and arguments are supported (this excludes inline agent, inline separate, object tests, and across variables).
Improvements
- Improved the completion mechanism within the editor (especially when inline agent, or inline separate are before the cursor).
Compiler
- Added Visual Studio 2017 support for C compilation on Windows.
- Improved performance of object initialization checks in complete void safe mode when a class has hundreds of attributes and features (including inherited ones).
- On Windows, you may experience a breaking change with respect to the compilation of Eiffel libraries wrapping the Win32 API.
- Indeed, to allow users to use in the same system libraries such as cURL, SSL, zeroMQ, ... ; the C generated code is now compiled using
WIN32_LEAN_AND_MEAN
. - As a result, it is not sufficient anymore to just include
<Windows.h>
to use a Windows API, you should look at the MSDN documentation and include the header they say you should be using. - The unfortunate result of this change is that you have to go through your externals and fix them according to the MSDN documentation. On the other hand, the positive aspect is that the change will be backward compatible with all the versions of EiffelStudio.
- Indeed, to allow users to use in the same system libraries such as cURL, SSL, zeroMQ, ... ; the C generated code is now compiled using
- Relaxed typing rules for conditional expressions to allow for different types to be used in different branches as soon as they are pair-wise conforming. Special care is taken about attachment and separateness statuses so that the expression
if foo then "Bar" else Void end
is valid and is of typedetachable STRING
.
Libraries
Breaking changes
- To have a fully void-safe docking library, some creation procedures were updated and now require a docking manager object as argument.
General
- Updated libraries and examples included with EiffelStudio installation to avoid obsolete feature calls.
- Added a new creation procedure to
STRING_8
andIMMUTABLE_STRING_8
:make_from_c_substring (c_string: POINTER; start_pos, end_pos: INTEGER)
to initialize from a substring between two position of ac_string
.
C_library
- Updated
libpng
library to version 1.6.28 - Updated
zlib
library to version 1.2.11
JSON
- Added
is_string
,is_number
, ... query toJSON_VALUE
. - Fixed parsing of Integer 64 values when they are greater than maximum value of Integer 32.
EiffelWeb
- Improved and fixed various issues in the libcurl and EiffelNet http_client: fixed query, and form data encoding; better support for port number in net implementation, follow redirection only for 3** status code, allow forcing the encoding for the form data (
multipart/form-data
orapplication/x-www-form-urlencoded
). - Fixed computation of
path info
in WSF_REQUEST for extreme cases.
ROC CMS
- The ROC CMS solution (used for eiffel.org) got many improvements:
- better control on published state, added notion of author and editor for content.
- User can set a human friendly profile name (for security, it is better that usernames do not appear in pages).
- Extracted administration pages from normal website (improved performance, and allow to use specific admin theme).
- Improved configuration of content formats by selecting various available filters.
- New modules (sitemap, messaging, wikitext, embedded feed aggregation, google search v2, ... )
See change log. for more details.
Back to Release Notes