[[Property:title|Release notes for EiffelStudio 6.2]] [[Property:link_title|6.2]] [[Property:weight|-9]] [[Property:uuid|fc43b67d-46a0-6ab1-ed2c-9aaef186f333]] ==Graphical environment== ===What's new=== * Added new contract editor tool to ease edition of contracts on routines and classes. * Added Eiffel Information System which let you connect external documentation to your Eiffel code and vice versa. * Added ability to avoid comment duplication by using the in your descendant comment to reuse the parent one which is shown in all our formatter tools.. * Added new light batch compiler `ecb'. It provides the same features as `ec' when using the batch mode. Currently projects compiled with `ec' are not compatible with those compiled with `ecb'. The main difference between the two is that `ec' is compiled with exception trace and multithreading support which could slow down the compiler by a factor of 20 to 40% depending on your platform. * Added experimental unit testing tool. ===Improvements=== * Error list tool now supports multiple selection, for better copy to clipboard usage. * Enhanced some errors to report better context information. * Optimized adding of items to the Error List by circumventing an expensive search when adding single items. ===Changes=== * Error list items context now shows the full group name but after CLASS.feature because it is of lesser importance. * Restructured layout of user files to support unification and user-override files of Eiffel compiler installation files. Relocated default Eiffel projects location into the user files folder (windows and mac only). ===Bug fixes=== * Fixed the EiffelCOM wizard so that it generates C code that compiles. ==Compiler== * Click [[Major changes between ISE Eiffel 6.1 and ISE Eiffel 6.2|here]] for the compiler release notes. ==Debugger== ===Graphical environment=== * New breakpoint editor, which centralizes in a unique dialog the parameters of the breakpoint. * Added tag support for breakpoints. * Added new "When hits.." actions (such as enable/disable breakpoints, start/stop execution recording, and others...). * Better breakpoints tool, to see, sort or filter the breakpoints * Enhanced execution record and replay mechanism. This allows to record the execution, and replay the recording in EiffelStudio and see/browse the recorded values, and the calls executed. * Better dialog to change the layout of the Objects tool grid. It is possible to easily change the order of 'Current, arguments, locals, ...'. * Added a toggle button, to ignore or not the breakpoints. * Added dropdown menu on the "[Start]" button to have quicker access to useful features. ===Debugger engine=== * Watch tool: added support for "create .." expression. ==EiffelBuild== * Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes. ==Libraries== ===EiffelBase=== * Changed signature of {SPECIAL}.same_items and {SPECIAL}.all_default to take an extra argument. Our analysis shows that it was only used by ARRAY and that it should be harmless. If you have a compilation error, simply add `0' as first argument of your call. * Changed physical_size in INTERNAL to return the real allocated size of an object along with its header size. * Added deep_physical_size in INTERNAL to compute the size of an object and all its dependencies. * Improved speed of read_stream in FILE so that it used underlying `fread' once rather than calling `getc' for each requested character. Our benchmarks show that you can save up to 2s for 1000 calls. * Added an assigner routine for item in ARRAY2. This might break descendant classes of ARRAY2 redefining item. * Updated code toward Void-safety. ===EiffelNet=== * Fixed bug in {SOCKET}.read_stream where if there was a socket error, then it would cause a precondition violation in C_STRING. ===EiffelTime=== * Added support for DEBUG_OUTPUT for DATE, TIME and DATE_TIME objects making it easier to debug code based on them. * Fixed bug where duration in days between two dates overlapping a leap year would yield a result off by +1 or -1. * 10% speed improvement on certain date operations (can be seen on eweasel test#time002). ===EiffelVision2=== * [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]] ===EiffelVision2=== * Fixed a bug in {WEL_REGISTRY}.enumerate_key where the routine would go in an infinite loop if the key name was larger than 64 characters. [[EiffelStudio release notes|Click here to check out what was new in other versions]]