- Fixed "V8M Mainline" and "FPv5-SP-D16" library build variants.
- Pre-Build and Post-Build commands no longer apply to clean operation.
- Fixed vfprintf %f format when Printf Floating Point Supported is set to Float.
- Added environment option Switch Project To Text Editor to enable multi-project debugging switch on editor focus.
- Target device status shows multiple device status when multi-project debugging.
- Added Debug Location toolbar.
- Added additional Debug Symbols File and Debug Symbols Load Address project properties.
- Fixed LIBMEM RPC loader instability when downloading to V8M architectures.
- Fixed caret not being visible with certain fonts when located in virtual space.
- Significantly improved speed of selection deletion when editing large files.
- Added Hide/Show toolbar on editor context menu.
- Fixed goto definition opening a relative include file under certain circumstances.
- Fixed open with external browser (macOS only).
- Automatic column resizing in properties window is now disabled if column splitter is moved.
- Package manager can now be opened from the new project dialog.
- Added LIBMEM_DRIVER_PAGED_WRITE_OPTION_DISABLE_DIRECT_WRITES option.
- Add stdatomic.h and helper functions to C library.
- Fix include file dependency generation when Keep Preprocessor Output is enabled.
- Fixed linker script generation and memory usage display when memory segment ends at 0xFFFFFFFF.
- Added Library Optimization project option and Small/Fast library build variants.
- Added TargetInterface.setTCK() target script function.
- Added Debug > Target Loader > Loader Type project property.
- Fixed crash clearing execution profile window when not debugging.
- Fixed FTDI based target interfaces not setting the Target > Fast Memory Accesses target property to Yes by default.
- Added Text Editor > Visual Appearance > Mate Match Off Screen option.
- Removed text menu separators on macOS.
- Fixed the recent projects list not being updated when project is opened from the recent projects window.
- Fixed pinning of projects not working in the recent projects window.
- Improved resizing of dynamic folder properties window.
- Fixed crash when docking windows.
- Fixed crash when attempting to create a directory on a Windows drive that does not exist.
- Improved appearance of list view titles when using dark theme.
- Added Internet > HTTP Caching environment option.
- Added Package Manager > Verify Package Downloads environment option.
- Fixed waypoint back and forward keyboard accelerators not working on macOS.
- Add support for ARMv8-A/R AAarch32 architecture.
- Add __clz*i2, __ctz*i2, __popcount*i2 and __parity*i2 helper functions to C library.
- Add support for Cortex-A53 executing in AArch32 non-secure state.
- Debugger will display data on debug terminal that is written to the ARM/CortexA/R DCC channel when debugio is not enabled.
- Added USB > Maximum Packet Count CMSIS-DAP target property.
- Fixed lock up when using some CMSIS-DAP devices on Windows 10 and macOS.
- Improved CMSIS-DAP performance when entering and exiting debug state.
- Fixed crash when using FLM loaders on Linux and macOS.
- Fixed crash with ST-LINK/V2 that has earlier than V2.J28 firmware.
- The colour of column guide bars can now be modified.
- Fixed caret not being visible with certain fonts when an underline caret style is selected.
- Editor keyboard accelerators will now activate when code suggestion popup is visible.
- Fixed reassignment of FindUsingGoogle command shortcut not being remembered.
- Fixed crash when calling character type functions and UTF-8 locale codeset has been selected.
- Fixed link error when providing user defined __user_find_locale function.
- Fixed iswspace function not recognising some characters as spaces when UTF-8 locale codeset has been selected.
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 8-2018-q4-major source release.
- Updated the LLVM/Clang tools build to use the 7.0.1 source release.
- Pre-Build and Post-Build commands now work with solution and batch builds and on dependent projects.
- Add project properties to enable external build commands to be used for compile and link.
- Replaced environment options Enable All Warnings Command Line Options and Enforce ANSI Checking Command Line Options
with project properties Enable All Warnings Command Line Options, Enable All Warnings C Compiler Only Command Line Options and Enable All Warnings C++ Compiler Only Command Line Options.
- Added Enforce ANSI Checking C Command Line Options and Enforce ANSI Checking C++ Command Line Options.
- Fixed saving of TI hex files from memory window.
- Fixed memory window not updating after loading memory from a file.
- Add support for Cortex-M7 ETB tracing.
- Scroll line up and scroll line down operations now move cursor into visible area if it is off-screen.
- Fixed crash when closing editors.
- Fixed code suggestion dialog not highlighting selected item with correct colour when dark theme is selected.
- Improved terminal emulator receive performance when using high baud rates.
- Added ProjectExplorerExcludeFromBuild keyboard command.
- Debug terminal now handles carriage return characters.
- Fixed slow building problem introduced in version 4.3.1.
- Added option to open file with external editor to project explorer context menu.
- Fixed package manager not correctly uninstalling legacy packages.
- Fixed use of section attributes in source code when the same section has been renamed using the section name project properties.
- Fixed linker script not being regenerated when Code > Linker > Additional Linker Script Generator Options property is modified.
- Setting the Code > Linker > Check For Memory Segment Overflow property to No no longer disables unplaced sections checks from the GNU LD linker script. These checks can now be disabled by adding the -no-check-unplaced-sections option to the Code > Linker > Additional Linker Script Generator Options property.
- Fixed --gap-fill option not being passed to objcopy if the Code > Linker > Additional Output File Gap Fill Value property is set to 0x00. Clear this property if existing behaviour is required.
- Added C++14 sized deallocation functions.
- Added support for STLINK-V3 to ST-LINK/V2 and ST-LINK target interfaces.
- Added Debug > Target Control > Check Load Sections Fit Target Description project property.
- Fixed incorrect "load section does not fit the target description" error message.
- Auto-surround text is no longer activated when using block selection.
- Fixed incorrect font spacing in list view windows when display scaling is used.
- Fixed crash when dragging a window icon over the icon of another window in the the same docking area.
- Fixed register selection pins in register window doing nothing when clicked.
- Fixed crash when closing editor windows with the code outline window active.
- Fixed placement of .data_tcm_run section in default flash_to_tcm_placement.xml file.
- Added "Unaligned Access Support" code generation option.
- Added "Link Time Optimization" code generation option.
- Updated the LLVM/Clang tools build to use the 7.0.0 source release.
- Fixed output of floating point numbers using printf when precision value is 1.
- Fixed crash when evaluating certain dwarf information.
- Fixed crash while disassembling a line with a long symbol name.
- Fixed crash when target connection is lost or reset.
- Fixed inheritance of the "Reset Script" property using the active build configuration.
- Fixed watch window variables not being updated correctly after they have been modified.
- Added Text Editor > Programmer Assistance > Code Completion Replaces Existing Word option.
- Fixed Ctrl+F not focussing text editor find popup on some Linux distributions.
- Fixed incorrectly displayed parameters in code suggestion popup when showing overloaded functions.
- Fixed use of tab key when function prototypes are displayed in code suggestion popup.
- Fixed crash if tab size gets set to 0.
- Fixed potential crash when code suggestion popup is displayed and an Alt key combination is pressed.
- Comments are no longer displayed as an italic font by default.
- Improved IDE start up and project loading time when a lot of editors are open.
- Added Environment > User Interface > Theme option (Windows and Linux versions only).
- Fixed sporadic crash when IDE is starting up.
- Editor tabs can now be reordered.
- Editor tab order is now preserved in session file.
- Project files can now be drag and dropped into the project explorer in order to load them.
- Fixed missing environment settings when Japanese system locale is selected.
- Fixed slow register window search.
- Fixed list view windows not using the Environment > User Interface > Application Monospace Font property.
- Fixed Sentinel USB tokens not working after Windows 10 version 1803 update.
- Fixed crash when building on a machine with more that 16 cores.
- Batch builds are now done in parallel.
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 7-2018-q2-update source release.
- Updated the LLVM/Clang tools build to use the 6.0.1 source release.
- Added -disable-missing-runin-error linker script generator option.
- Added Code > Linker > Additional Linker Script Generator Options project property.
- Multiple run in sections can now be specified in section placement file.
- Fixed using Alt+Tab when quick search window is visible (Linux only).
- Added Text Editor > Programmer Assistance > Code Completion Selection Key option.
- Added EditMoveSelectedLineUp and EditMoveSelectedLineDown commands and assigned them to Alt+Up and Alt+Down keys.
- Keyboard map is now saved with UTF-8 encoding.
- Web browser links to text files now open in web browser rather than text editor.
- Add capability to import eclipse .project/.cproject files as supplied with STM32Cube sample projects.
- Fixed crash when closing editor windows when code outline window is open.
- Fixed processing of multiple backspace characters in text output windows.
- Fixed crash in outline window when viewing certain C++ code.
- Fixed missing clipboard operations from text output window's context menu.
- Line edit property editors now initially selected.
- Fixed crash in stack usage window viewing certain .elf files.
- Updated the LLVM/Clang tools build to use the 6.0.0 source release.
- Supplied versions of arm_neon.h that are compatible with the supplied gcc and clang compilers.
- Command line builder now implements -verbose, default is to build silently.
- Added Code Generation option "ARM Advanced SIMD Auto Vectorize" to enable loop vectorizing in the compilers.
- Added prototype for __putchar() to stdio.h.
- sys/stat.h now declares mode_t and off_t types.
- Added $(UnixTime) system macro.
- Removed deprecated throw declarations in new header file.
- Fixed inability to add items to the watch window when periodic update is enabled.
- Edited source files will not be used by the debugger.
- The Debug option "Connect With Reset" is now ignored by the j-link target interface.
- J-Link implemented breakpoints are now cleared on debug stop.
- Linux version now using libusb-1.0 library for USB access.
- The CrossConnect serial number can now be cleared when editing the Target > Host Connection target property in the properties window.
- Added Text Editor > International > Auto-Detect UTF-8 option.
- Fixed text editor tooltip not working when word starts on first column.
- Fixed goto definition not working correctly when definition has been selected.
- Tab key now indents only if selection is multi-line.
- Find in files dialog can now be opened using Ctrl+Shift+F from the incremental find dialog.
- Fixed activation of keyboard accelerators from HUD windows.
- Fixed automatic installation of packages when clicking on documentation links.
- Fixed debug terminal find only carrying out search once.
- Fixed bookmarks window updating bookmark line numbers when lines were inserted into or deleted from a different file.
- Fix command line supplied to clang static analyzer for ARM/Cortex-A/Cortex-R devices.
- Fixed opening of project files when the File > File Open Action property is set to Web Browser.
- Popup error message now displayed if package list cannot be downloaded when refreshing.
- Added File Search > Collapse Results environment option.
- Fixed crash when refreshing the outline window while editing an empty XML file.
- Fixed setting propertyGroup defined properties on folder nodes when importing package files.
- Fixed Windows installer failure when user name contains certain non-ASCII characters.
- Fixed loss of icons and inability to start IDE from desktop if umask has been set preventing read and execute permissions from being enabled for others (Linux only).
- Added c++1z and gnu++1z C++ language standard options.
- Replaced gcc c++ exception handling code with llvm equivalent.
- Fixed command line generated when "Keep Preprocessor Output" is enabled.
- Improved parallel build performance on Linux and macOS hosts.
- Word and half-word writes to SWO channel 0 are now displayed in the debug terminal.
- Improve debug when compiler option "Supply Absolute File Path" is set to "No".
- Fixed crash when quick watch used on a C++ struct containing member functions.
- Enhanced Threads window to be able to display additional RTOS queues.
- The Text Editor > Programmer Assistance > Check Spelling environment option now defaults to No.
- Fixed code formatting of a selected block not working correctly when the Tab Cleanup On Save option is enabled.
- Fixed NULL being inserted into text file when CTRL+Space is pressed on Linux version of the code editor.
- Added replace in selection to the find dialog's find options summary.
- Fixed freezing of IDE when saving a large text file and the Delete Trailing Space On Save option is enabled.
- Improved performance of tabify and untabify operations.
- Cursor now moved if it is on a location that is deleted by the code formatter.
- Added Formatting > Empty Lines At End Of File option.
- Fixed Find Extras context menu not correctly showing the text that will be searched for.
- Added Text Editor > Formatting > Use .clang-format File formatting option.
- Auto comment no longer activates when in block selection mode.
- Fixed crash when using a display with a 16-bit color depth.
- Fixed HUD windows not closing when all docked windows have been closed or removed.
- Fixed crash when changing active projects while Source Navigator is running.
- Check boxes in project system dialogs can now be toggled by a single click.
- Fixed menu key not opening context menu in watch and register windows.
- Improved appearance of list view check boxes when using display scaling.
- Property editor dialogs can now be resized.
- Remove .plist files created by clang static analyzer.
- Fixed find window's file extension filter not being saved when using Find Extras options.
- Fixed find window's additional options summary not being displayed when options are concealed.
- Find window's additional options summary now includes file extension filter.
- Full file path now displayed in find window's result list.
- Fixed ordering of history in package release notes.
- Fixed potential problem when multiple processes are accessing settings.
- Fixed unresponsive GUI when build generates a lot of output.
- Added File Search > Flat Search Result Output environment option.
- Fixed incorrectly located line edit in list views.
- Fixed crash when running on an Ubuntu 14.04 system using KDE window manager.
- Fixed broken license activation and management when Use External GCC option is enabled.
- Added Environment > Find and Replace > Greedy Regular Expressions environment option.
- Add support for Cortex-R7, Cortex-R8, Cortex-A15 and Cortex-A17 processor cores.
- Added "V8M Has DSP Instructions" project option.
- Added "V8M Mainline" and "FPv5-SP-D16" library build variants.
- Fix tdata placement in Cortex-M placement files.
- Fixed crash when connecting to J-Link from 32-bit Windows variant.
- Documented the file format for the "Type Interpretation File" project property.
- Fixed crash if something is entered in the disassembly window's expression input when not debugging.
- Fixed display of multi-line messages in output window's task view.
- Code editor suggestions now inserted on all lines when in block edit mode.
- Code editor replace all now only replaces text within block when in block selection mode.
- WebKit web browser now uses display scaling factor.
- Show Large Icons In Toolbars option now applies to docking windows.
- Added keyboard shortcut editor to environment options dialog.
- Fixed crash that occured when cancelling the new project wizard when on the edit common project settings page.
- Fixed code editor suggestion popup not restoring opacity when ctrl key is released.
- Pasting of a block selection is now done as a block insertion even if text editor is not in block edit mode.
- Fixed text terminal not staying at end of file when maximum line limit is reached.
- Added missing close button on code editor find dialog.
- Pasting of a block selection is now done as a block insertion even if the text editor has lost focus.
- Add environment option to enable the text editor to display section headers of ELF files.
- Fixed generation of unexpected characters when composing a character with ` ' or ^ keys.
- Fixed wireless network interfaces not being included in list of network adapters on Windows.
- Updated the LLVM/Clang tools build to use the 5.0.0 source release.
- The inttypes.h header file now includes stdint.h as per the c99 standard.
- Added "Math Errno" project option.
- Dependency files are now deleted on project rebuild/clean.
- Fixed generation of symbols when address_symbol and size_symbol attributes are used in a memory map or section placement files.
- Fixed "Raise Interrupt" with Cortex-M simulator.
- Fixed crash with IAR v8 generated elf files.
- Fixed usage of brackets in debug watch expressions.
- Additional load files can be relative to the project directory.
- Fixed crash when scrolling the disassembly window with the mouse wheel when debugger is not running.
- Added Text Editor > Formatting > Additional Formatting Styles environment option.
- Added case sensitivity, whole word and regular expression options to code edit's incremental search dialog.
- Code editor's incremental search dialog no longer resets find dialog settings.
- Fixed drag and drop of file onto a project explorer file node from an external program.
- Fixed loss of focus when an expanded project explorer node is deleted.
- Fixed renaming of build configurations not applying when clicking on another build configuration after change.
- Modified macOS text editor cursor key mapping to be more like other macOS text editors.
- Double clicking on company logo images in package manager and new project wizard now has no effect.
- Fixed update of registers window status message when no registers are selected.
- Fixed running of build command lines containing a '>' output redirection character.
- Fixed command line property editor.
- Added static_assert definition to assert.h.
- Fixed crash when Folder Options node is selected in project explorer and Open Solution in Editor is activated.
- Dynamic macros are now expanded in property editor macro preview.
- Added RelInputDir and FolderPath macros.
- Added empty solution project template.
- Added missing __powidf2 and __powisf2 compiler helper functions.
- Fixed crash using Debug | Restart with the simulator target before startup breakpoint is hit.
- Fixed crash using Target | Attach Debugger with J-Trace target.
- Fixed bug in backtracing code which caused local variables to be displayed incorrectly.
- CWSys object can now be used from crossload script.
- Local, global, auto and watch window columns are now independently configurable.
- Fixed display of signed 32-bit integer variables on 64-bit Linux and macOS hosts.
- Fixed Cortex-M simulator return from exception when using both main and process stack.
- Speed up single stepping of large programs when there are many unfound symbols in watch window.
- Add "Auto" capability to SWO baud rate project property.
- Changed values in variable and register windows are now identified by red text rather than a red background.
- Avoid memory and watch window update during download.
- Improve speed of disassembly when source files cannot be found.
- Added -reset option to CrossLoad.
- Smaller up and down buttons in property window.
- Shift+Tab now works when text editor is in block selection mode.
- Indent when text editor is in block selection mode now aligns to the indent size setting.
- Highlight all selected text now works when text is selected by keyboard.
- Fixed opening of files using macOS Finder.
- Improved opening of files from the command line.
- Fixed crash in text editor when moving left a word at a time.
- File extension comparisons for project, package and archive files are now case insensitive.
- External diff tool runs as a detached process.
- Fixed crash in code outline window when viewing an XML file containing a syntax error.
- Add "Copy Full Path" to context menu in project explorer.
- Find in files on solution will not search object and library files.
- Fixed crash reporter hanging if report submission fails.
- Environment option descriptions are now selectable.
- Improved performance of text editor brace matching in long files.
- Stop accessing address zero on debug reset on Cortex-M devices.
- Add "Starting Stack Pointer Value" debug project property.
- Macro viewer in property editor now has horizontal scroll bar.
- Fixed blank entries in propery editor's build configuration combo box (macOS only).
- Hyperlinks in property editor's description fields now open in an external browser.
- Highlighted finds are now local to each text editor.
- Fixed text editor match delimiter and extend selection operation (Shift+Ctrl+]).
- Fixed moving of popup windows displayed when project is loading.
- Fixed Delete key not deleting selected text when cursor is at the end of the file.
- Fixed crash running installer on Linux when KDE plugins are installed on the system.
- Windows version no longer requires the Universal C Runtime update to be installed.
- Updated macOS code signing certificates.
- Fix generating additional output file when building with "Use External GCC".
- Updated the GCC/BINUTILS tools build to use GNU ARM Embedded Toolchain 6-2017-q2-update source release.
- Updated LLVM/Clang to version 4.0.1.
- C runtime start code now has an optional call to an external function named InitializeUserMemorySections if INITIALIZE_USER_SECTIONS is defined.
- Fix bug locating to assembly code source files.
- Locals window update when accessing variables that are in restricted memory ranges.
- Check syntax option is now enabled on files with .html extension.
- Find extras menu order now the same in context menu as it is in the main menu.
- Fixed certain Alt key accelerators not working on macOS.
- Fixed index problems introduced in version 4.0.2.
- Memory window size warning can be disabled and is now only shown when the size changes.
- Fixed crash when the memory diff dialog is shown after download verification has failed.
- Fixed incorrect calculation of memory usage window cell height when using high DPI fonts.
- Fixed crashes caused by uncaught exceptions (Linux only).
- Fixed incorrect width of editor margin when using Windows scaling.
- Fixed pressing tab key while in block edit mode.
- Fixed occasional randomly placed tooltips in code editor.
- Added Text Editor > Editing > Tab Key Indents Preprocessor Directives environment option.
- Fixed text editor crash when selecting and deleting past end of file with virtual space enabled.
- Fixed text editor scrolling to the far left column when text is selected and the mouse is moved.
- The Code Outline window now uses the same parser as the Source Navigator this has
improved C++ support but has removed conditional preprocessor directives.
- The Code Outline window can now display doxygen style comments in the Preview pane.
- Fixed crash showing symbols browser for IAR generated executables.
- Opening studio from shortcut when Allow Multiple Studios is set to No and studio is already running now unminimizes and raises main window to the top.
- Can now close the solution whilst the Source Navigator or Find References windows are active.
- Statistics in the Project Explorer displays the sum of the files sizes of the containing folder node.
- Improved error message reporting when studio startup fails.
- Added "Export Makefile" to project build context menu.
- Reworked compiler driver command line options.
- Fixed the 64-bit Windows J-Link DLL not being found after it moved location in the V6.16 J-Link software release.
- Fixed crash when auto disconnecting simulator before simulator has stopped.
- Holding the shift key while scrolling the memory window with the mouse scroll wheel now locks the start address.
- Added Debug > Memory Window > Scroll Wheel Modifies Start Address environment option.
- Fixed text editor cursor color when using CrossWorks Dark color scheme.
- Added Insert Cursor and Overwrite Cursor colors to editor color schemes.
- Fixed text editor repaint when highlight cursor line mode is enabled.
- Fixed display of large toolbar icons.
- Fixed activation of popup toolbar icons.
- Fixed path property editor when using scaling on Windows.
- The text editor line number font size now scales with the main text editor font size.
- Project properties dialog now remembers splitter placement.
- Improved support for Windows scaling.
- Fixed code completion suggestion popup appearing on the wrong display on multi-display systems.
- Fixed Edit > Selection > Tabify.
- Added text editor block selection and edit.
- Fixed File > Recent Files and File > Recent Projects not selecting first element of menu when activated by keyboard.
- Fixed Command+W not closing current editor on macOS.
- Improved macOS clipboard support.
- Avoid auto loading externally modified project file during build.
- Grey out goto definition (and others) when indexer is running.
- Fixed window group Close All Windows option not recording in session file that windows have been closed.
- Fixed excessively fast vertical scroll wheel scrolling in text output windows.
- Editor dock positions are now restored when solution is loaded.
- Fixed activated licenses not being remembered on Linux.
- Fast, new look user interface.
- Native 64-bit Windows, macOS and Linux versions.
- macOS Retina displays now supported.
- New WebKit based help viewer.
- GNU ARM Embedded Toolchain version 6.
- LLVM/Clang version 4 compiler.
- Brace matching now takes into account inactive code lines.
- Inactive code highlighting now updates as you type.
- Added Text Editor > Save > Default Line Endings environment option.
- Added different bitmaps to the project window for executable, library and staging project types.
- Build detects when files have been excluded/included and cut/pasted into projects.
- Project explorer paste file onto file will add it to the containing folder.
- The source browser window has renamed the Stack column to Frame Size.
- Added Code, Data and Const size columns to the source browser window.
- Added Pre-Build Command and Post-Build Command project options.
- Added Post-Archive Command project options.
- Added environment option Enable All Warnings command line option.
- Added environment option Enforce ANSI Checking command line option.
- Changed default for Emit Relocations to Yes.
- Removed STLPort from the distribution. This is available as a library package.
- Changed Printf Floating Point Supported project option to select between Float and Double support.
- Changed default for Omit Frame Pointer to Yes.
- Added Access Variables Within Memory Map Only project property.
- Added Copy To Clipboard to memory window.
- Single stepping will step again if there is more then one instruction sequence associated with a source line of code.
- The Auto Update feature of the execution profile window uses the J-Trace PRO streaming feature.
- Added locate next/prev source/instruction buttons to execution trace window.
- Added function call and return entries to execution trace window.