Version 5.1.1
Build
- Fixed crash importing EWARM/MDK-ARM projects generated by STM32CubeMX.
Debug
- Added TargetInterface.setBytes, TargetInterface.setMultUint16 and TargetInterface.setMultUint32 target script functions.
- Add Poke Instruction Script to Target Script project properties.
Editor
- Added Class, Enum, Enum Member, Macro, Type and Variable color scheme entries.
- Fixed C++ member initializers being syntax colored as function calls.
- Added Light Modern, Light High Contrast, Dark Modern and Dark High Contrast color schemes.
- Fixed removal of bookmarks when deleting lines.
- Fixed C preprocessor highlighting not updating when definitions are modified by changing a property group value.
IDE
- Fixed replace in files not replacing all instances of search string.
- Fixed missing icons when using dark theme.
Version 5.1.0
Build
- Fix not always displaying error messages in windows builds that terminate on error.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 13.3.Rel1 source release.
- Updated the LLVM/Clang tools build to use the 18.1.8 source release.
- Fixed update of interleaved source text in disassembly after build.
- Add Thread Model and DSO Handle Value project properties.
- Build log removes nodes that don't have messages and puts Notes and Includes under the relevant node.
Editor
- Fixed code format of selected text formatting one line beyond the end of selection.
- Fixed incorrect clipping of diagnostic highlights when scrolled horizontally off screen to the left.
- Fixed replace all in block selection when selection has been made from bottom left to top right.
- Fixed incorrect positioning of inline diagnostics when line contains tab characters.
- Fixed LSP operations failing after deleting a range that extends beyond the end of line or the end of the text document.
- Fixed editor not showing extra lines and columns when scroll bars are hidden.
- Fixed cursor disappearing off screen one character to the right while typing when Text Editor > Cursor Fence > Right Margin is set to 0.
- Fixed editor scrolling left on opening a file when certain screen resolutions and scaling factors are used.
- Improved suggestion selection dialog.
- Added Return or Enter or Tab option to Text Editor > Programmer Assistance > Code Completion Suggestion Selection Key environment option and made this the default value.
- Changed Text Editor > Programmer Assistance > Select First Code Completion Selection environment option default value to No.
- Fixed missing < and > characters in macro definition tooltips.
IDE
- Fixed the finish button not being the default on the last page of the new project dialog.
- Added support for ABGR32, BGR32, BGR565, BGR666, BGR555, BGR888, BGR444, GRAY8, GRAY4 and GRAY2 formats to the frame buffer window.
- Added Show Grid option to the frame buffer window.
- Fixed unreadable text colors in some widgets when using dark theme on certain Linux distributions.
- Added expand and collapse all actions to output window.
Version 5.0.2
Build
- Restored missing __user_set_time_of_day and __user_get_time_of_day function pointers.
- Revert back to non thread specific locales.
Debug
- Fix single stepping Thumb-1 bl/blx instructions.
Editor
- Improved clangd support for solutions with multiple projects.
- Added Ctrl+Space as the alternative default keyboard shortcut for the EditShowSuggestions command.
- Fixed some LSP operations not working correctly with file paths containing Unicode characters.
- Fixed backspace working incorrectly when the multi-line cursor is enabled and there are collapsed folds above the cursor.
- Fixed incorrect multi-line cursor height if edit deletes a collapsed fold within the multi-line cursor range.
IDE
- Fixed duplicate files being searched in the find and replace window when the search dependencies option is enabled.
Version 5.0.1
Build
- Fixed place_from_segment_end attributes in section placement file being ignored when section size has been specified using a K or M multiplier suffix.
- Restored Project Can Build In Parallel project property.
- Add 64-bit time_t functions to C library.
- Add uselocale to C library.
- Updated libcxxabi and libunwind with 18.1.1 source.
- Updated the LLVM/Clang tools build to use the 18.1.6 source release.
Debug
- Fixed CrossConnect JTAG/SWD clock being reset to maximum speed when switching between cores while doing multi-core debugging.
- Reinstated the Divider target property for CrossConnect and FTDI FTx232 based target interfaces. This property will only have an affect when the Speed property is set to 0 (best possible speed).
- Add Break All and Go All debug buttons.
- Add Step Into All and Step Over All debug buttons.
Editor
- Fixed code error highlights not updating after installing a support package that fixes the errors.
- Files without file extensions are now treated as C++ header files.
- Added When Not Debugging option to the Text Editor > Programmer Assistance > Show Inactive Code environment option.
- A code editor will now disable inactive code highlighting for the duration of the current debug session if the inactive code regions do not match the debug information.
- Added Languages > C and C++ > On Type Formatting option. When this option is enabled, the code formatter will be used to format the code as you type.
- Added Languages > JavaScript environment options.
- Added Rename Symbol action.
- Added syntax coloring and code folding support for JSON files.
- Fixed suggestion and signature popup disappearing too soon.
IDE
- Improved resizing behaviour of property editor windows.
Version 5.0.0
What's New
- Completely rewritten and improved code completion and navigation.
- In-place error and warning diagnostics as you type.
- Quick fix suggestions.
What's Changed
- CrossConnect and FTDI FTx232 based debug interfaces now have a Speed target property rather than a JTAG Clock Divider target property to control the speed of the JTAG/SWD clock.
Build
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 13.2.Rel1 source release.
- Updated the LLVM/Clang tools build to use the 17.0.6 source release.
Version 4.10.9
Build
- Add support for assembly file dependencies with .incbin directives.
- Fix use of Memory Segments in preference to Memory Map Files in linker script generation.
Debug
- Add Continue All Execution and Break All debug buttons.
- Fixed download and debug when using FT4232H based target interface devices.
- Add Stop All to breakpoint properties.
Editor
- Fixed incremental find always starting from the beginning of the file.
- Fixed Text Editor > Visual Appearance > Mate Match Off Screen option.
IDE
- Fixed sporadic failures when checking CrossKey licenses (Linux only).
Version 4.10.8
Build
- Fixed undefining __clang__ when used with clang-tidy.
Debug
- Fixed data breakpoint support for Cortex-M33 devices.
Version 4.10.7
Build
- Changed default Warning Level to Level 2.
- Fixed __cxa_throw and __cxa_rethrow corrupting callee save registers.
- Fixed restoring saved VFP registers on __cxa_throw and __cxa_rethrow.
Debug
- Add max command line option to instruction set simulator.
- Fixed debugger bitfield display of compiler generated DW_AT_data_bit_offset debug info.
- Add Don't to debugger Start From Entry Point Symbol which doesn't start execution.
- Fixed connecting to multi-drop SWD targets from a multi-core project using CrossConnect Neo, CMSIS-DAP and FTDI target interfaces.
IDE
- Frame buffer window now supports non-word aligned frame widths.
- Fixed incorrect positioning of combo box menus on multi display systems where the displays have been positioned at different offsets (Linux only).
- Outline window now refreshes if file being viewed is reloaded.
Version 4.10.6
Build
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 12.3.Rel1 source release.
Debug
- Fixed errors when reconnecting to CrossConnect Neo.
Editor
- Added Edit > Folding > Collapse Level n Folds menu commands.
IDE
- Fixed editor not locating cursor in the centre of the screen when selecting a result in the find window and the cursor is off screen.
- Fixed crash on startup when running on macOS Sonoma.
Version 4.10.5
Build
- Updated the LLVM/Clang tools build to use the 16.0.5 source release.
- Add support for C++ 20 modules.
- Add support for a single project precompiled header file.
- Add support for -Oz with gcc compilers.
- Add None (do not supply) to project properties.
- Add gcc compatible argument processing to command-line compiler driver.
- Add Add Property Group Options property to disable supplying property group preprocessor defines.
Debug
- Fixed debugger incorrectly accessing VBAR register on Cortex-R devices.
- Fixed ST-Link Connect With Reset.
- Fixed TargetInterface.setDebugInterfaceProperty() when used with ST-Link/J-Link.
- Fixed ST-Link connection with firmware upgraded by ST-LinkUpgrade v3.12.3
- Add J-Link APB access with Cortex-M devices (STM32H DBGMCU).
- Fixed target mismatch warning when used with J-Link with Built-in Flash Loader used.
- Add -count and -trace options to command-line simulator.
Editor
- Fixed incorrect movement of multi-line cursor when cursor is below a collapsed fold.
IDE
- String list property editor now removes text formatting when pasting.
- Find and replace window now opens editor when locating to a match found in a project file.
- Variable, disassembly and memory window address colors can now be customized using the Address color scheme entry.
- Fixed incorrect positioning of popup menus on multi display systems where the displays have been positioned at different offsets (Linux only).
System Requirements
- Linux versions now require GLIBC 2.27 and CXXABI 1.3.11 or later.
Version 4.10.4
Debug
- Added CrossConnect Neo support to Windows arm64 version.
Editor
- Fixed Edit > Format command using incorrect start directory for .clang-format file search.
- Fixed cursor positioning when moving cursor by mouse click on Linux.
- C/C++ syntax highlighter now highlights arm_neon.h and arm_mve.h types.
- Only one editor will now be opened if the same file is opened from multiple linked locations.
- Fixed opening of files when using the source file navigation operations.
Version 4.10.3
Build
- Updated the LLVM/Clang tools build to use the 16.0.0 source release.
- Add support for aligned_alloc.
- The debugio library will not be linked when Debug I/O Implementation is set to None.
- Add linker property Treat Libraries As Object Files.
Debug
- Added CrossConnect Neo SWO support.
- Fixed SWO prescaler calculation.
- Add Use Built-in TRACE support target property to SEGGER J-Link target.
- Fixed CrossLoad usage of loader files.
Editor
- Syntax colorer now colors single line doxygen style comments.
- Fixed syntax colorer ignoring the end of a multiline doxygen style comment when it comes after an incomplete command.
- Fixed delete key deleting incorrect text if auto indenting is enabled, there is only whitespace to the left of the cursor and the whitespace contains tab characters.
- Added Text Editor > Save > Format On Save environment option.
- The Edit > Format command no longer saves the editor contents prior to running the formatter.
IDE
- Fixed code completion and code outline window not treating a .h file as a C++ file when used in a C++ project.
- Variable, register and memory window value colors can now be customized using the Value and Value Changed color scheme entries.
- Project file is sorted with case insensitivity.
Version 4.10.2
Editor
- Added smart indenting for XML files.
- Added Languages > XML environment options.
- Delete key now unindents when auto indenting is enabled.
- Added preprocessor directive folding.
IDE
- Fixed opening the frame buffer window's context menu when another window is focused.
- Fixed crash when updating packages and a third party package is installed.
Version 4.10.1
Build
- Updated the LLVM/Clang tools build to use the 15.0.7 source release.
- Add -no-ctors and -no-dtors to mkld.
Debug
- Fixed single stepping of V8.1-M loop instructions.
- Fixed Debug | Step Over not doing build up to date check.
- Fixed not loading the target loader when Default Loader was the empty string.
- Fixed J-Link debug setting device type multiple times.
Editor
- Added EditToggleHeaderCodeFile command (Ctrl+K,Ctrl+O).
- Fixed delimiter matching when there is a string or character literal containing an escaped backslash character between the delimiters.
IDE
- Added save and copy commands to frame buffer window.
- Fixed find strings not being added to history when operation is started from outside of the find and replace window.
- Fixed invalid characters in target property values causing errors when loading target window settings.
Version 4.10.0
Build
- Add support for importing CMSIS project description files.
- Rebuild of Externally Built projects will now run the clean command before the build command.
- Add language specific preprocessor properties.
- Add language specific include files preprocessor properties.
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 12.2.Rel1 source release.
- Updated the LLVM/Clang tools build to use the 15.0.6 source release.
- Add ARMv8.1-M Mainline library builds.
- Add stdnoreturn.h header file and __noreturn macro.
Debug
- Add support for multiple loader configurations.
- Add support for STLDR flash loaders.
- Fixed ST-Link access to STM32H7 APB-AP.
IDE
- Find and replace window will now replace in files not currently being edited.
- Fixed multiple "Project modified externally" dialogs when project has been modified externally and an editor has been modified.
- Fixed the dashboard window's list of recent projects not being immediately updated when a new project is created or a non-existent project is loaded.
- Fixed crash when upgrading from a package version that has been removed from the package repository.
- The package upgrade button now automatically selects the latest package versions in the package manager.
- Added support for ARGB32, RGB32, RGB888, RGB565, RGB666, RGB555, RGB444 and monochrome formats to frame buffer window.
- Added auto-refresh, auto-evaluate, zoom and pixel information tooltip to frame buffer window.
- Fixed clipping of project window columns when using dark theme.
Version 4.9.1
Build
- Add support for 0X hexadecimal prefix in debug expressions.
- Add "Supply Input Character Set" and "Supply Execution Character Set" project properties.
- An error is now displayed when Code > Linker > Check For Memory Section Overflow is enabled and the section size is not a multiple of the section alignment.
- Fix C++ exception catching.
- Fixed section renaming when using Clang compiler.
Editor
- Fixed editor scrolling to the end of the file when Edit > Format inserts lines.
Version 4.9.0
What's New
- Numerous enhancements to the editor including code folding and split screen editing.
- Native 64-bit ARM Windows, Linux and macOS versions.
- Improved appearance on high DPI monitors.
- Faster builds.
- Enhanced support for UNICODE directory paths and file names.
- Package versions can now be selected in package manager.
- Command line package manager.
- Improved user interface themes and color scheme customization.
- New look dashboard window.
Build
- Updated the GCC/BINUTILS tools build to use the Arm GNU Toolchain 11.3.Rel1 source release.
- Updated the LLVM/Clang tools build to use the 15.0.4 source release.
- Added Analyze Command project properties.
- Added Color Diagnostics and Show Caret project properties to control diagnostic output.
- Added Stack Sizes project property which when enabled displays stack sizes in object/elf file disassembly.
Debug
- Added support for Dwarf-5 debug format.
- Fixed use of floating point format in debug_scanf.
- Fixed simulator clearing the execution trace on debug go.
- Execution trace window now locates to the last entry by default.
- Fixed executing Kinetis target script from CrossLoad
IDE
- Stack usage window now has Go To Call Site action.
- Code outline and source navigator windows now have Show Function Arguments option.
- Fixed graying of inactive code for header and assembly code files.
Version 4.8.8
Build
- Fixed Source Navigator/Analyze command lines for libcxx projects.
- Fixed use of "Unwind Tables" with clang compiler.
Debug
- Fixed error accessing registers when using DAPLink interfaces in Bulk/WinUSB interface mode.
- Improved detection of Bulk/WinUSB CMSIS-DAP interfaces.
- Added CMSIS-DAP > USB > HID Report Length target property.
- Fixed CMSIS-DAP interface locking up when connecting to some Xplained Pro boards from Linux and macOS.
Version 4.8.7
Build
- Fixed quoted zero length command line arguments being discarded when spawning processes.
- The macro $(SEGMENT_SIZE_REMAINING) can now be used in section placement size attributes.
- Added Code > Linker > Check For Memory Section Overflow project property.
Debug
- Fixed TargetInterface.setDeviceTypeProperty with J-Link target interface.
Version 4.8.6
Build
- Fixed supplying Linker Script files twice for External GCC projects.
Debug
- Fixed crash when displaying static const member data of the same type as the class that it is declared in.
IDE
- Fixed crash importing IAR projects.
Version 4.8.5
Build
- Added "Generate Listing File" project property.
- Fixed mkld support for end_symbol in memory segments.
- Fixed Clean executing pre/post build commands.
- Updated the LLVM/Clang tools build to use the 13.0.1 source release.
Debug
- Fixed display of FP registers for Cortex-M33 using J-Link target interface.
Editor
- Fixed crash using Edit > Selection > Increase Line Endent when virtual space is enabled and a block of text is selected extending past the end of the file.
- Fixed syntax coloring of integer literals containing single quote separators.
- C/C++ syntax highlighter now highlights stdint.h types.
IDE
- Fixed the 'Flat Search Result Output' checkbox in the find and replace window's settings dropdown not showing the current state.
Version 4.8.4
Build
- Add macro $(MemorySegments) to link pre/post build commands.
- The macro $(LibExt) is now available for External GCC link commands.
Debug
- The macro $(MemorySegments) is now the default memory simulation parameter.
Editor
- Improved performance of delimiter matching when editing a large file.
IDE
- Fixed paste keyboard accelerator being handled by editor when focused in the find in files dialog (macOS only).
- Added support for CrossKey USB license key.
Installer
- Fixed Linux file association.
Version 4.8.3
Build
- Updated the LLVM/Clang tools build to use the 13.0.0 source release.
- Updated the GCC/BINUTILS tools build to use the GNU ARM Embedded Toolchain 10.3-2021.10 source release.
Debug
- Added support for CMSIS-DAP v2.
- Fixed size display of unsized arrays in variables display.
- Display C file level statics and C++ static members in globals window.
- Added support for SWD multi-drop with CrossConnect, CMSIS-DAP and FTDI target interfaces.
Editor
- Fixed tab characters not being inserted when in block selection mode.
- Fixed positioning of cursor when carrying out a block insertion past the end of a line and the Use Tabs option is set to Yes.
- Editor now syntax colors files with .html file extensions.
IDE
- Fixed problem reading the environment.xml file on certain systems.
- Project Explorer context menu action Save Solution As... now generates a sorted project file.
- The Set Active Project dialog now initially selects the current active project.
Version 4.8.2
Build
- Fixed removing of project output files when project items are removed/added/excluded.
- Updated the GCC/BINUTILS tools build to use the GNU ARM Embedded Toolchain 10.3-2021.07 source release.
Debug
- Display secure/non-secure MSPLIM, PSPLIM in CPU register group.
- Fixed crash when displaying libcxx containers.
- Fixed simulated pkhbt, pkhtb instructions.
- Fixed variable view tooltip truncating uint64_t decimal values to 19 digits.
- Fixed crash when passing a null format pointer to debug_vprintf, debug_vfprintf, debug_vscanf and debug_vfscanf functions.
Editor
- Fixed syntax coloring of numerical escape codes.
- Fixed syntax coloring of #include filenames.
- Fixed incorrect indentation when inserting a tab character before another tab character.
IDE
- Fixed the find in files dialog not remembering the "Search In" selection between sessions.
- Fixed the find in files dialog not enabling the find button under certain circumstances.
- Fixed font selection when using macOS 12 (Monterey) BETA.
- The project explorer's build configuration combo box now displays the configuration name as the tooltip if the configuration name is wider than the combo box.
- The build configuration search now matches on each word rather than the entire string.
- Assembly code syntax colorer now colors FIXME, ATTENTION and Lint comment tags.
- Package manager groups can now be collapsed and expanded.
- Double clicking in terminal windows now selects words.
- Added BuildLinkProject command (Ctrl+P, K).
- Added OpenLinkerMapFile command (Ctrl+P, M).
- Added "Show Labels In Disassembly" and "Show Source In Disassembly" environment options to disassembly window context menu.
- Fixed project window keyboard accelerators not being enabled and disabled correctly when selecting project nodes.
- Fixed manual package installation not selecting all dependee packages for installation.
- Fixed display of find and replace window results containing tabs.
Version 4.8.1
Build
- Fixed BinaryFile.pokeUint32() script function ignoring the littleEndian option.
- Add support for ARMv8.1-M architecture and Cortex-M55 processor.
- The build macro $(RelInputDir) is set to dot for files that are not relative to the project.
- Fixed 'dot moved backwards' linker warning when placing 'run in' sections.
- Add project property Compile C Files As C++.
- Add project property Enable Use Of __cxa_atexit.
- Add project property Vector Extension for ARMv8.1-M architecture projects.
- Set the compiler property Use Builtins default to Yes.
- Updated the LLVM/Clang tools build to use the 12.0.1 source release.
Debug
- Changing the PC value in the registers window will now updated the debugger windows.
- The registers window splits up the cfbp register group into individual registers.
- Copy text selection in the memory window now copies the exact text to the clipboard.
- Fixed syntax coloring of disassembly when visible whitespace option is enabled.
- Add support for ITM_RxBuffer/ITM_RXBUFFER_EMPTY for target input.
- Add simulator support for FPv5 vrint/vcvt instructions.
Editor
- Fixed syntax coloring of XML comments.
- Fixed incorrect syntax coloring of certain C/C++ comments containing ampersand characters.
- Fixed syntax coloring of XML documents when visible whitespace option is enabled.
- Fixed highlighting of text containing tab characters.
- Fixed highlighting of text containing whitespace characters when visible whitespace option is enabled..
- Fixed syntax coloring of single line comments started with the '@' character in ARM assembly code.
- The editor now supports highlighting of C/C++ raw string literals.
- Improved graying of inactive code on lines containing C preprocessor directives.
- Fixed duplicated " or < characters when selecting #include code suggestions.
- Scroll wheel can now be used while selecting text with the mouse.
- Auto-indentation now uses the indentation level of the last non-empty line if enter is pressed on an empty line.
- Go to definition and declaration operations now highlight the symbol being searched for.
- Fixed the previous horizontal scroll position not being correctly restored when opening a solution and the editor is not docked in the default dock site.
- Fixed the previous cursor column position not being restored when opening a solution.
- C/C++ syntax coloring is now applied to files with no extension.
- Added "String", "String Delimiter", "String Escape", "XML Delimiter", "Spelling Error", "Line Number" and "Line Number Highlight" to customizable color scheme.
- Added EditDeleteLine command (Ctrl+Shift+L).
- Fixed text appearing behind editor scroll bars when using dark theme.
IDE
- Project Explorer context menu action Convert to Regular Folder now operates recursively and can subsequently be modified like a regular folder.
- Fixed edit actions (cut, copy etc) on project nodes in Project Explorer.
- Fixed Code Outline window not updating when editor is saved.
- Manual package installation now warns of package dependency errors when the depdendee package is unknown to the package system.
- Added Export to Text Editor to debug terminal.
- Line editor now scrolls when cursor reaches button or status message rather than removing it.
- Fixed file selector combo box not moving file list if parent window is moved.
- Fixed file selector combo box keeping file list on top of all windows.
- Fixed selecting of files from the file selector combo box file list when using the mouse.
- Find dialogs now preserve the state of the show options button.
- Fixed drag and drop of files on macOS.
- Fixed crash after closing disassembly window.
- Fixed crash when using find in files to search in the current document and there is no editor currently focused.
- Build log can now handle colored compiler diagnostics.
- Floating point registers will now be displayed in floating point format when Decimal format is selected.
- Manual package install now removes existing version of package if already installed.
- Improved appearance of macOS combo box dropdowns containing icons.
- Fixed external tools not appearing when the match element is omitted from the tool definition in external tools file.
- Fixed crash when carrying out clipboard operations on files located in output files folder.
- Fixed display of tab characters in terminal emulator window.
- Fixed property values in project explorer not updating when modified using dark theme.
- The selected folder in the find and replace window is now persistent between sessions.
- Opening the new project wizard while debugging now shows the "Stop debugging?" prompt.
- Fixed editor grouping C/C++ source and header files together in the "Single Title Button For All Documents" file selection menu.
Version 4.8.0
Build
- The build macros $(RelInputDir) and $(RelInputPath) are now defined for project level build commands.
- Fixed section renaming when using clang compiler.
- Escape ; in exported build commands on Linux/macOS.
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 10-2020-q4-major source release.
- Replace Run Static Code Analyzer with Analyze action on project explorer context menu.
- clang-tidy now used for Static Code Analyzer, checks are specified in project property Clang Tidy Checks.
- Add project property Analyze After Compile to enable the analyzer to run when a source file is compiled.
Debug
- Fixed simulator setting carry flag on thumb2 register shifted lsls, lsrs, asrs and rors instructions.
- Add support for displaying double precision registers d16-d31 with J-Link target interface.
- Added 64-bit view to memory window.
- Add support in registers window to display double precision registers in various NEON formats.
- Add debug support for restrict types.
IDE
- Debug terminal no longer erases line if the line been output ends with "\r\r\n".
Version 4.7.3
Build
- rtti can now be used without exceptions enabled.
- Fixed crash when adding files to project folder with no project node selected.
- Updated the LLVM/Clang tools build to use the 11.0.0 source release.
- Fixed clang/segger-cc compiler option for Merge Globals.
- Add Disable Function Inlining option to code generation options.
- Optimization levels 0-4 are now supplied to the llvm LTO compiler.
- Add Linker Search Path option to linker options.
- Fixed double counting of initialized data size statistic in project explorer.
- Fixed lock up when removing Externally Built projects that have the Clean Command property set.
- Debug support added to gcc LTO built executables.
- Fixed gcc LTO support for C++ programs that have the same symbol defined multiple times.
- Fixed llvm LTO support discarding weak symbol definitions.
Debug
- Fixed NaN detection in simulator.
- Improved disassembly window's update speed when scrolling.
- Fixed umaal implementation in simulator.
- Fixed Debugger > Restrict Memory Access using ELF file to determine target address ranges.
- Improved type interpretation for STLPort, libstdc++ and added support for libc++.
- Added debug_evaluate to debugIO.
- Add support for .debug_macinfo debug sections.
- Fixed exception when running CrossLoad with expired license support period.
Editor
- Fixed matching of delimiters that are within strings.
- Fixed tab characters not being used for auto indentation when tabs are enabled.
- Fixed loading of files from a file system that does not support file locking (Windows only).
IDE
- Fixed opening of package source files from help contents window.
- Fixed file selector dialog not remembering selected file type filter.
- Fixed GUI locking up when find in files on large files.
- Improved appearance of memory usage windows when window is small.
Version 4.7.2
Build
- Add support for ARMv8 architectures to intrinsics.h.
- Fixed passing Additional Assembler Options to compile step assembler command.
- Add Run Preprocessor option to assembler options.
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 9-2020-q2-update source release.
- Added BinaryFile.loadAppend() script function.
- Symbol renaming of __vfprintf/__vfscanf/__do_debug_operation done by linker command-line rather than in generated ld script.
- Updated the LLVM/Clang tools build to use the 10.0.1 source release.
Debug
- Fixed watch windows resetting the radix of child nodes when parent node is selected.
- Replace Clear Disassembly Breakpoints On Debug Stop with Disassembly Breakpoints environment option.
- Source breakpoints are shown in the disassembly window and vice-versa.
- Add debugger project option Alternative LDR Disassembly.
- Object file disassembly now contains intermixed source code.
Editor
- Fixed syntax coloring of assembly files not working when visible whitespace is enabled.
- Shift+Tab now reduces indentation of current line when no text has been selected.
- Text editor's horizontal scroll bar now uses maximum line length for maximum scroll value.
- Changed the Linux version's default keyboard shortcut for the EditUppercase command to "Ctrl+K, U" in order to avoid a clash with the Ibus input method's default Unicode Code Point shortcut. The original key sequence of "Ctrl+Shift+U" remains defined as an alternative shortcut.
- Added Edit > Selection > Toggle Comment (Ctrl+K, Ctrl+/) command.
- Selection comment and uncomment operations now add and remove comments at indentation level of selection rather than only at the start of the line.
- Added syntax highlighting for Python source files.
- Fixed inactive code coloring being cleared when file is saved.
- Fixed navigation commands being disabled when file is saved.
- The Edit > Others > Duplicate (Ctrl+D) command will now duplicate selected text.
- Spell check now ignores camel case words.
- Fixed extension of multi-line cursor after multi-line text insert.
IDE
- Symbol browser, watch, trace and register windows now save exported text files to the project directory by default.
- Memory usage window now shows the percentage used of segments and sections.
- Build summary now shows size of segments.
- Memory window columns are now grouped in auto column mode.
- Fixed project explorer's Open With > System Web Browser menu option doing nothing on Linux.
Version 4.7.1
Build
- Fixed vfscanf implementation always including support for character classes.
- Added missing wide character, float point implementations of vfprintf.
IDE
- Fixed errors when loading 3rd-party dynamic libraries on macOS Catalina.
Version 4.7.0
Build
- Fixed lock up when removing Externally Built projects that have the Clean Command property set.
- Fixed new project wizard's build configuration selector selecting incorrect configurations with some project templates.
- Fixed and improved definitions of wchar_t, WCHAR_MAX and WCHAR_MIN in header files.
- Fixed output of floating point numbers using printf when precision value is 1 and the Code > Printf/Scanf > Printf Floating Point Supported project property is set to Float.
- Updated the LLVM/Clang tools build to use the 10.0.0 source release.
- Added Windows > Project Explorer > Check Solution Target option.
- Files now appear in alphabetical order when dragging and dropping them into a project explorer folder.
- Fixed Left-justify printf format directive.
- Correct names of 64-bit clz/ctz helper functions.
Debug
- Fixed crash with ElfDwarf files containing .debug_types section.
- Fixed timeout problems with TargetInterface.runFromToAddress (and variants) when used with J-Link target interface.
- Fixed source file identification when debugging multiple elf files.
- Add Confirm Automatically Build Before Debug environment option.
- Improve cast support in debug expressions.
- Fixed Target > Attach Debugger setting breakpoints after Debug > Stop with no Target > Disconnect.
Editor
- Fixed syntax coloring of hex floating point constants.
- Added Text Editor > Visual Appearance > View Whitespace option.
- Fixed block editing on lines containing tab characters.
- Added Edit > Others > Toggle Column Guide.
- Fixed code formatter corrupting characters that cannot be represented using Latin 1 character encoding.
- Fixed code formatter marking file as modified when it has made no changes to the file.
- Fixed code formatter removing all breakpoints and bookmarks.
- Fixed file auto recovery appending characters to the end of recovered file in some circumstances.
- Selection highlight is now visible on text that has a background color specified in the color scheme.
IDE
- Fixed .elf files not appearing in the Target > Download File > Download Elf File... and Target > Verify File > Verify Elf File... file browsers.
- Keyboard options dialog now displays command descriptions as a tooltip.
- Fixed crash after deleting entries from clipboard ring window.
- Fixed default executable extension to be .axf for External GCC toolchain builds.
- Fixed appearance of memory usage windows when window is small.
- Fixed display of non-printable characters in binary editor.
- The binary editor font can now be specified using the Environment > User Interface > Application Monospace Font option.
- macOS application bundle paths can now be used when specifying the location of external executables.
- Fixed display of non-printable characters in binary editor.
- Fixed the restoring of main window position when located on a display arranged above or to the left of the display containing the menu bar (macOS only).
- Fixed context menus not appearing on a display arranged above the display containing the menu bar (macOS only).
- Fixed crash when starting and stopping the debugger using the editor toolbar buttons.
Version 4.6.0
Build
- Fixed generation of projects from a project template when file nodes have parent folder nodes containing no files.
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 9-2019-q4-major source release.
- Removed Use External GCC environment option and the -gcc command line option on crossstudio and crossbuild. See how to use an Using an External ARM GCC toolchain documentation for project property settings.
- Added Use External GCC and GCC Prefix project properties.
- Added Use Compiler Driver project property.
- Added fixed point implementation of expf selected when Library Optimization is set to Fast.
- Project explorer code and data size is now displayed as bytes when less than 1K.
- Project property Access Variables Within Memory Map Only changed to Restrict Memory Access.
- Changing the ARM Core Type project property now updates the ARM Architecture property.
- The User Include Directories are supplied to the assembler to support .include and .incbin directives.
- Updated the LLVM/Clang tools build to use the 9.0.1 source release.
Debug
- Fixed crash when PC Sampling used with J-Link.
- Increased the nested structure depth that can be displayed in watch windows.
- Add Load Begin Script and Load End Script project properties.
- SVD dim elements can now be specified as hex numbers.
- Add cJTAG to Target Interface Type project property.
- Fixed displaying breakpoints on code lines in startup completion symbol before startup completion has occured.
Editor
- Fixed text editor auto recovery duplicating end-of-line terminators when file being edited is in DOS format on a UNIX system.
- Fixed incorrect calculation of caret width when using proportional fonts.
- Added missing close button on code editor find and replace dialog.
- Fixed block uppercase and lowercase operations when block has been marked from top right to bottom left.
Installer
- Added additional file icons in order to improve appearance at smaller sizes (Linux only).
Version 4.5.1
Build
- stddef.h offsetof macro now uses _builtin_offsetof.
- Fixed Windows > Project Explorer > Read Only Data in Code option working the wrong way around.
Debug
- Fixed crash when using CMSIS-DAP target interface on latest versions of macOS.
Editor
- Fixed auto-complete suggestion being inserted when enter key is pressed immediately after closing suggestion dialog with mouse click.
IDE
- Fixed find in files dialog not disabling find button when search text field is empty.
- Fixed crash when using Find References on a preprocessor definition defined on the command line.
- Fixed project explorer not sorting tree when files are added using drag and drop.
- Fixed menu descriptions not appearing on status bar (Windows and Linux only).
Version 4.5.0
Build
- Updated the GCC/BINUTILS tools build to use the GCC ARM Embedded Toolchain 8-2019-q3-update source release.
- Add Generate Assembler Listing File project property.
- Updated the LLVM/Clang tools build to use the 9.0.0 source release.
Debug
- Add support for CoreSight SWO on Cortex-M devices.
- Fix clearing trace output when Debug > Break is used.
- Add support for ARM semihosting.
- Fixed simulator leaving pc on next instruction on b . detection.
- Add Load Additional Projects project property to enable a project to load the outputs of other projects.
- The property Debug Dependent Projects has changed to Debug Additional Projects the value Yes maintains the old behaviour.
Editor
- Editor now displays number of lines and columns selected when selecting text.
- Fixed the Replace in selection option not appearing on the find and replace dialog when only a single line is selected.
- Fixed selected text not adjusting size when carrying out a replace in selection.
- Fixed crash when using Edit > Column Tidy and a comment is selected.
Version 4.4.5
Build
- Fixed CrossScript crash when the BinaryFile.resize() function is called without previously calling the BinaryFile.load() function.
- Fixed crash when creating a new external built executable project.
- Fixed crash when creating an empty solution.
Editor
- Editor no longer outputs syntax errors to stderr when carrying out code completion.
IDE
- Help window search now updates while typing.
Version 4.4.4
Build
- Build log window's memory usage summary now displays small sizes in bytes.
- Removed option to select linker variant.
- Fixed crash when LTO processing of big endian object files.
- Fixed -template option on crossbuild.
- The preprocessor define __HEAP_SIZE__ is now set to the value of the Heap Size project property.
Debug
- Fix watch window latching the initial size of array variables.
- Added Debug > Debugger > Debug Terminal Log File project property.
Editor
- Code editor will no longer match braces, brackets or parenthesis located within comments.
- Fixed incorrect syntax coloring of C comments introduced with the /*!< character sequence.
- Fixed crash when starting a build with a keyboard accelerator whilst the code suggestion popup is visible.
- Fixed breakpointable line markers not appearing on lines that have a temporary breakpoint set.
- Fixed delete forward key deleting two characters when code suggestion dialog is visible.
- Fixed caret not being visible with certain fonts when located at the end of a line and an underline caret style is selected.
IDE
- New project file selection puts files into the folders.
- Register window's group selector popup now displays a scroll bar if there are more groups available than will fit on the display.
- Fixed crash if delete key is pressed in target window without having a target interface selected.
Version 4.4.3
Build
- 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.
Debug
- 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.
Editor
- 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.
IDE
- 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.
Version 4.4.2
Build
- 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.
Debug
- 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.
Editor
- Added Text Editor > Visual Appearance > Mate Match Off Screen option.
IDE
- 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.
Version 4.4.1
Build
- Add support for ARMv8-A/R AAarch32 architecture.
- Add __clz*i2, __ctz*i2, __popcount*i2 and __parity*i2 helper functions to C library.
Debug
- 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.
Editor
- 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.
IDE
- Fixed reassignment of FindUsingGoogle command shortcut not being remembered.
Version 4.4.0
Build
- 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.
- Added programNotSection parameter to ElfFile.peekBytes and ElfFile.crc32 JavaScript functions.
- Fixed parseInt and parseFloat JavaScript functions.
- Fixed Date.getTime JavaScript function.
- 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.
Debug
- 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.
Editor
- 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.
IDE
- Improved terminal emulator receive performance when using high baud rates.
- Added ProjectExplorerExcludeFromBuild keyboard command.
- Debug terminal now handles carriage return characters.
Version 4.3.2
Build
- Fixed slow building problem introduced in version 4.3.1.
IDE
- Added option to open file with external editor to project explorer context menu.
- Fixed package manager not correctly uninstalling legacy packages.
Version 4.3.1
Build
- 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.
Debug
- 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.
Editor
- Auto-surround text is no longer activated when using block selection.
IDE
- 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.
Version 4.3.0
Build
- 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.
Debug
- 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.
Editor
- 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.
IDE
- 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.
Version 4.2.1
Build
- 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.
Editor
- 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.
IDE
- 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.
Version 4.2.0
Build
- 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.
Debug
- 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.
Editor
- 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.
IDE
- 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.
Installer
- 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).
Version 4.1.1
Build
- 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.
Debug
- 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.
Editor
- 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.
IDE
- 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.
Installer
- Fixed crash when running on an Ubuntu 14.04 system using KDE window manager.
Licensing
- Fixed broken license activation and management when Use External GCC option is enabled.
Version 4.1.0
Build
- 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.
Debug
- 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.
IDE
- 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.
Licensing
- Fixed wireless network interfaces not being included in list of network adapters on Windows.
Version 4.0.6
Build
- 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.
Debug
- 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.
IDE
- 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.
Version 4.0.5
Build
- 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.
Debug
- 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.
IDE
- 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.
Version 4.0.4
Debug
- Stop accessing address zero on debug reset on Cortex-M devices.
- Add "Starting Stack Pointer Value" debug project property.
IDE
- 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.
Version 4.0.3
Build
- 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.
Debug
- Fix bug locating to assembly code source files.
- Locals window update when accessing variables that are in restricted memory ranges.
IDE
- 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.
Version 4.0.2
Debug
- 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.
IDE
- 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.
Version 4.0.1
Build
- Added "Export Makefile" to project build context menu.
- Reworked compiler driver command line options.
Debug
- 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.
IDE
- 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.
Licensing
- Fixed activated licenses not being remembered on Linux.
Version 4.0.0
What's New
IDE
- Fast, new look user interface.
- Native 64-bit Windows, macOS and Linux versions.
- macOS Retina displays now supported.
- New WebKit based help viewer.
Build
- GNU ARM Embedded Toolchain version 6.
- LLVM/Clang version 4 compiler.
What's Changed
IDE
- 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.
Build
- 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.
Debug
- 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.