The Embedded Experts

# Release notes for Ozone - the J-Link Debugger V2.56d

## Version 2.56d [05 Mar 2018]

### Improvements

1. Updated the included J-Link library to version 6.30f.

### Program corrections

1. Settings edited via the J-Link Settings dialog were not applied when Ozone was started with an empty project. Fixed.
2. Ozone possibly crashed when the download address input dialog was accepted. Fixed.
3. The generic memory dialog displayed an incorrect file size when opened in download mode. Fixed.
4. Data breakpoints could not be toggled on array elements via command "Break...OnSymbol". Fixed.
5. Debug windows were possibly not updated following a reset with mode RM_RESET_HALT. Fixed.
6. Data graph output possibly became erroneous following a reload of the program file. Fixed.
7. Ozone possibly became unresponsive when a program file was reopened while source breakpoints were expanded. Fixed.
8. Fixed multiple bugs related to the display and layout of window items.

## Version 2.56c [16 Feb 2017]

### Improvements

1. Added user manual sections "5.5. Downloading Program Files", "5.6. Register Initialization" and "6.3. Incorporating a Bootloader into Ozone's Startup Sequence".
2. Updated the included J-Link library to version 6.30d.

### Program corrections

1. Ozone applied standard PC and SP register values even when script function "AfterTargetReset" was implemented. Fixed.
2. On unix, absolute source file paths were possibly missing the leading directory separator. Fixed.
3. Script commands requiring the CPU to be halted possibly failed when executed immediately after hardware-reset. Fixed.

## Version 2.56b [12 Feb 2017]

### Improvements

1. Updated the included J-Link library to version 6.30c.

### Program corrections

1. Script callback functions were possibly not executed synchroneously with Ozone API commands. For example, script callback "AfterTargetDownload" was possibly not executed subsequent to command "File.Load". Fixed.
2. The debugger possibly did not switch to running state in situations where the target was resumed unexpectedly following a single step. Fixed.

## Version 2.56a [08 Feb 2017]

### Improvements

1. The time to open complex ELF programs was improved.
2. Updated the included J-Link library to version 6.30b.

### Program corrections

1. On Linux and macOS, symbol tooltips displayed file paths instead of file names. Fixed.
2. ELF source file paths possibly contained duplicate directory separators. Fixed.
3. Code profile data was possibly missing when debugging ELF files with large code size (>1 MB). Fixed.
4. Code profile text filters were possibly not applied to unexpanded nodes. Fixed.
5. Changes to CPU register performed within script function "TargetReset" were possibly not applied. Fixed.
6. Incorrect console feedback for command "Edit.SysVar" with parameter "VAR_BREAKPOINT_TYPE". Fixed.
7. Globally disabled table columns were possibly reactivated by user preference files. Fixed.
8. Fixed multiple bugs related to the display and layout of window items.

## Version 2.56 [01 Feb 2018]

### New Features

1. Added general support for the RISCV MCU architecture and concrete support for RISCV ISA specification RV32I.

### Improvements

1. Added commands "Break.SetCommand", "Project.ConfigSemihosting" and "Script.Exec".
2. Added a button to the find dialog: "find previous".
3. Ozone expressions now support the scope operator ("::").
4. Symbols are now displayed using qualified (scoped) names wherever neccessary.
5. Symbol resolution by name was improved and is now sensitive to both the PC and text cursor location.
6. The view menu was regrouped and a new entry was added: "Enter Full Screen".
7. Renamed the edit menu to "Tools". Affiliated user actions now start with the prefix "Tools", e.g. "Edit.Preferences" is now "Tools.Preferences".
8. Renamed three debug windows: "Memory" to "Memory Content", "JLink Web Control" to "JLink Control Panel" and "Data Breakpoints" to "Breakpoints on Data".
9. The window menu now shows the list of open source documents.
10. The memory usage window now provides thumbnail previews of memory regions and keyboard navigation was improved.
11. Breakpoint application is now delayed until after the program file was downloaded.
12. Added a "save to project file button" to the J-Link settings dialog and removed the popup dialog.
13. Peak memory usage was reduced.
14. Ozone now ships with the most current J-Link device definition files.
15. Updated the included J-Link library to version 6.30a.

### Program corrections

1. The automatic selection of peripheral unit SVD files for Cortex-M0/M1 target devices was inoperable. Fixed.
2. Disassembly export of purely inline expanded functions was not possible. Fixed.
3. The user notification "program file opened, download to target?" was no longer shown after command "File.Load" was used. Fixed.
4. For watched expressions of the form "const char*+offset", the string pointed to was possibly not displayed. Fixed.
5. It was impossible to set a breakpoint on an overridden function via the context menu of the functions window. Fixed.
6. Ozone's ELF parser module possibly failed to parse ELF files containing debug data sections larger than 2^25 bytes. Fixed.
7. The source viewer did not accept key sequences containing Alt-Gr on Windows. Fixed.
8. Documents with expanded source lines could not be edited. Fixed.
9. The active document could not be closed via the window menu when the source viewer had no input focus. Fixed.
10. When a text line containing tabulators was edited, characters were possibly not inserted at the correct text position. Fixed.
11. Project files created on macOS could not be opened on Windows or Linux. Fixed.
12. The find results window possibly displayed blank lines in between search results. Fixed.
13. After accepting the notification dialog "continue debugging with modified documents?", the debug session could no longer be started. Fixed.
14. Commands "File.Load" and "Target.LoadMemory" applied load address relocation only to single-record data files. Fixed.
15. Semihosting via software interrupt (SWI) was inoperational. Fixed.
16. Text search within edited documents was inoperable. Fixed.
17. Text search via find next (F3) did not start at the current text cursor position. Fixed.
18. The Memory Usage Window discarded symbols and data sections not contained within any top level memory segment. Fixed.
19. Fixed multiple bugs related to the display and layout of window items.

## Version 2.54b [20 Dec 2017]

### Improvements

1. Added input field "end address" to the generic memory dialog.

### Program corrections

1. Project settings were possibly not inserted at the correct project file text location. Fixed.
2. Multiple instances of the find/replace dialog could be opened. Fixed.
3. Multiple svd files contained incorrect CP15-register bit field specifications. Fixed.
4. Action find next (F3) was disfunctional (regression). Fixed.
5. The source files window possibly displayed duplicate file paths. Fixed.
6. Fixed multiple bugs related to the display and layout of window items.

## Version 2.54a [20 Dec 2017]

### Improvements

1. Disassembly now forces output alignment on user input addresses.
2. Updated the included J-Link library to version 6.22d.

### Program corrections

1. Faulty conversion to native newline format when editing standard text files. Fixed.
2. The debugger did not adapt to a changed RTT control block location following program file reload. Fixed.
3. When editing the find dialog's search text field, the text cursor jumped to the last character. Fixed.
4. Thumb instructions were possibly showing incorrect condition codes. Fixed.
5. The memory window remained empty following debug action "Reset & Run". Fixed.
6. For ELF files without mapping symbols, source lines could possibly not be expanded. Fixed.
7. Fixed multiple bugs related to the display and layout of window items.

## Version 2.54 [05 Dec 2017]

### New Features

1. Added debug information window "Memory Usage".

### Improvements

1. Disassembly output has been improved and brought to conformance with UAL.
2. Ozone expressions now support casts to array type and from program variables.
3. The dialog option "Do not show again" is now persistent across Ozone sessions.
4. Added command View.MemoryMap.
5. Updated the included J-Link library to version 6.22a.

### Program corrections

1. The RPM package installer could fail due to a letter casing error in the dependancy description. Fixed.
2. When an empty project was created and a target device was selected via the device selection dialog, the register window was not reinitialized. Fixed.
3. Fixed a possible crash that could occur when target memory was read. Fixed.
4. Ozone possibly crashed when an out-of-date RTOS plugin was loaded. Fixed.
5. Members of bitfield-structures were possibly displaying an incorrect data type and value. Fixed.
6. Bitfield-structures of packed size less or equal to 1 byte were possibly displayed incorrectly. Fixed.
7. Added missing peripheral "USART3" to svd file STM32F407IG.svd.
8. Multiple peripheral register SVD files were missing from the macOS application bundle. Fixed.
9. Disassembly for functions of size less than 4 bytes was not shown. Fixed.
10. Fixed multiple bugs related to the display and layout of window items.

## Version 2.52d [10 Nov 2017]

### Improvements

1. Added submenu "Recent Programs".

### Program corrections

1. Automatic reload of modified program files was inoperable. Introduced with 2.52c. Fixed.
2. Initial table column sizes were possibly incorrect when no user settings file and no registry data were available. Fixed.

## Version 2.52c [09 Nov 2017]

### Improvements

1. The console window now provides message timestamps.
2. When a debug session is running and a program file is opened, users can now select if the file is to be downloaded via a confirmation dialog.

### Program corrections

1. The source viewer exhibited font kerning artificats on unix. Fixed.
2. Source file resolution was partially inoperable on macOS. Introduced with version 2.52. Fixed.
3. Static class member variables were possibly displayed as being out of scope. Fixed.
4. The task list was possibly empty for "extreme release"-type embOS builds. Fixed.

## Version 2.52b [02 Nov 2017]

### Improvements

1. Updated the inluded J-Link library to version 6.20h.

### Program corrections

1. The device selection dialog did not allow to select Cortex-M3 R2P1 target devices. Fixed.
2. Static class member variables were possibly displayed as being out of scope. Fixed.

## Version 2.52a [27 Oct 2017]

### Improvements

1. The memory window's "copy special" context menu was reworked.

### Program corrections

1. When a project was generated and a breakpoint was set, the breakpoint did not get added to the breakpoint window until the debug session was started. Fixed.
2. Incorrect display of multi-line description texts within the register window. Fixed.
3. On execution point change, the memory window possibly did not auto-scroll to the input box value. Fixed.

## Version 2.52 [20 Oct 2017]

### New Features

1. The terminal window was upgraded with options "Echo Input", "Zero-Terminate Input" and "End Of Line Format".
2. The memory window was upgraded with selection and copy-to-clipboard capabilities.

### Improvements

1. Added commands "Profile.Export", Profile.ExportCSV" and "Project.SetConsoleLogFile".
2. Disassembly is now always performed from a safe starting point such as a function or data section base address.
3. Added keyboard-specific hotkey aliases (e.g., the shortcut "Ctrl-+" can now also be triggered by pressing "Ctrl-=" on UK and US keyboards).
4. The page scrolling behaviour of all debug information windows was improved.

### Program corrections

1. User input to register-based local variables was possibly not reflected within symbol windows. Fixed.
2. Trace settings were possibly not applied correctly when option "override trace settings" was selected. Fixed.
3. Program segments larger than 10 MB could not be downloaded. Fixed.
4. Source line information for the instruction preceeding the program's high PC was possibly incorrect. Fixed.
5. File paths starting with backslashes were misidentified as relative paths on windows. Fixed.
6. Bitfield structures containing non-bitfield members were possibly showing incorrect data. Fixed.
7. The application crashed when a hidden J-Link device was selected. Fixed.

## Version 2.50c [05 Oct 2017]

### Improvements

1. Updated the included J-Link library to version 6.20d.
2. Added context menu entry "Show Instruction Encodings" to the disassembly window.
3. Added user preferences PREF_NO_SRC_EDIT and PREF_NO_SRC_EDIT_ONLINE.
4. Byte sizes of source files are now computed as the sum of byte sizes of all contained functions. Previously, byte sizes were computed as the difference between high and low PC values.
5. A small breakpoint icon on an unexpanded source code line now indicates that at least one breakpoint is set on an instruction affiliated with the line.
6. The default setting for uninstaller option "Remove Application Settings" was set to "no".

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. When a data file was opened, the source viewer's document state was possibly not restored correctly. Fixed.
3. The disassembly window was cleared and remained empty when the program file was reloaded in offline mode. Fixed.

## Version 2.50b [22 Sep 2017]

### Improvements

1. Updated the included J-Link library to version 6.20a.
2. The execution counter display state is saved session persistently to user perspective files.
3. A message box notification is shown when system variable VAR_BREAK_AT_THIS_SYMBOL is invalid.

### Program corrections

1. The initial disassembly view location was possibly determined incorrectly when the ELF file did not provide entry point information. Fixed.
2. When system variable "BreakAtThisSymbol" was set to an invalid value and the ELF file did not provide entry point information, the program was resumed following reset. Fixed.
3. ELF files without data sections could possibly not be loaded. Fixed.

## Version 2.50a [15 Sep 2017]

### Program corrections

1. User perspective files of older format possibly caused the state of table windows to be restored incorrectly. Fixed.
2. Removed invalid symlink 'libQtWebKit.so.' from subfolder Lib. Fixed.
3. Library libQtWebKit.so.4 contained an invalid dynamic linker name. Fixed.

## Version 2.50 [11 Sep 2017]

### Improvements

1. Updated the included J-Link library to version 6.20.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Incorrect disassembly output in offline mode when symbol relocation settings were used. Fixed.
3. When the complete document text was deleted, undo was not available. Fixed.
4. FreeRTOS-Plugin: the xPSR register value was updated to an invalid value when switching tasks. APSR, IPSR and EPSR were not affected. Fixed.
5. Source breakpoints with mixed-state derived breakpoints could not be cleared by clicking on the sidebar. Fixed.

## Version 2.47 [06 Sep 2017]

### New Features

1. Ozone now supports editing of documents.

### Improvements

1. Added user preferences PREF_SHOW_ENCODINGS_ASM and PREF_SHOW_ENCODINGS_ITRACE.
2. Added command 'Project.AddRTTSearchRange'.
3. Added command line arguments --jlinkscriptfile and --jtagconfig.
4. Disassembly for PC-relative load instructions now displays the values of loaded data.
5. Literal data is no longer disassembled as program code.
6. File path resolution settings do no longer have to be specified before opening the program file.
7. The timeline window's zooming behaviour has been reworked to allow continous zoom level adjustments.

### Program corrections

1. Directory macros were expanded with trailing directory separator but should have been expand without. Fixed. Please note that users may have to adjust their project's path resolution settings following this change.

## Version 2.46c [05 Sep 2017]

### Improvements

1. Updated the included J-Link library to version 6.18d.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. When the text cursor was positioned on empty source lines, view-category actions could still be triggered via hotkey. Fixed.
3. Console feedback for commands containing the dollar sign was erroneous. Fixed.
4. Register descriptions were possibly cut off within tooltips. Fixed.
5. Incorrect initial width of the register window's name column following debug session start. Fixed.
6. The window layout was possibly restored incorrectly from user perspective files on certain platforms such as ARCH-Linux. Fixed.

## Version 2.46b [25 Aug 2017]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. CMSIS-SVD tag "cluster" was not supported. Fixed.
3. User perspective files: dock window height restored incorrectly by the title bar margin. Fixed.
4. Integer variables with type string "long ulong" were possibly misinterpreted as 32 bit integers. Fixed.
5. Editing memory window items possibly caused the editor to jump to undefined locations. Fixed.

## Version 2.46a [21 Aug 2017]

### Improvements

1. Updated the included J-Link library to version 6.18c.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Action "View.Source" was possibly jumping to incorrect source lines when used via hotkey. Fixed.
3. Disassembly of PC-relative load/store instructions possibly displayed incorrect data addresses. Fixed.

## Version 2.46 [17 Aug 2017]

### Improvements

1. Added option "clear on reset" to the terminal window.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Modifiying breakpoints via keyboard shortcuts could lead to undefined breakpoint behaviour. Fixed.
3. Startup of Ozone from within SEGGER's Embedded Studio was possibly taking unusually long. Fixed.
4. Following program file reload, disabled breakpoints were possibly no longer displayed by the source viewer. Fixed.

## Version 2.45a [14 Aug 2017]

### Improvements

1. Updated the included J-Link library to version 6.18a.
2. Added user preference "PREF_MAX_SYMBOL_MEMBERS".
3. Command "File.Open" does no longer download the opened program when a debug session is running.
4. Command line option "--datafile" was replaced with option "--programfile".
5. Ozone's touchpad scrolling behaviour was improved.
6. Ozone's expression evaluator now supports multi-dimensional arrays subscripts.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. When the reset mode was RM_RESET_HALT and script function "AfterTargetHalt" was in use, PC highlighting was possibly missing initially. Fixed.
3. Disassembly was not aligned to symbol and section boundaries when in offline mode. Fixed.
4. Local data window contents were cleared when the call stack window was closed. Fixed.
5. Symbol expressions with enumeration-type array subscripts were possibly not evaluated correctly. Fixed.
6. The command line parser did not accept both "-" and "--" as option specifiers and did not allow dashes in file paths. Fixed.

## Version 2.45 [07 Aug 2017]

### New Features

1. A filter bar has been added to the table-based debug information windows.
2. All disassembly-related features of Ozone are now also available in offline mode.

### Improvements

1. Updated the included J-Link library to version 6.18.
2. Added columns "Address" and "Description" to the register window.
3. Added command "Debug.ReadIntoTraceCache".
4. Added option "parent relative load" to the code profile window. When set, the CPU load of an item is displayed relative to its parent item.
5. The memory window now accepts drops of register and symbol items.
6. The address input box of the memory window now supports expression input. When the expression value changes, the memory window auto-scrolls to the new value.
7. When the J-Link dialog is accepted, a notification dialog will appear that allows users to commit changes to the project file.
8. Table header titles are now aligned identical to column content.
9. The table column state and the toolbar state are now saved to/restored from user perspective files.
10. The C++ runtime library is now statically linked to avoid possible library dependancy issues on linux.

### Program corrections

1. None.

## Version 2.44e [03 Aug 2017]

### Program corrections

1. Symbol tooltips were no longer displayed (regression). Fixed.
2. SVD register field arrays possibly not parsed correctly. Fixed.
3. The project wizard did not support single backslashes as directory separators. Fixed.
4. The project wizard possibly selected an incorrect SVD file for ARM7/9/11 targets. Fixed.
5. Source viewer arrow key navigation was inoperable on windows. Fixed.

## Version 2.44d [26 Jul 2017]

### Program corrections

1. The display of hexadecimal numbers was possibly incorrect when display option "divide big hexadecimal numbers" was set. Fixed.
2. Incorrect display of array elements for arrays with more than 2 dimensions. Fixed.
3. The layout of stacked debug information windows was not restored correctly from user perspective files. Fixed.
4. Ozone possibly crashed when viewing the FreeRTOS task list while RAM was not initialized. Fixed.

## Version 2.44c [25 Jul 2017]

### Improvements

1. Updated the included J-Link library to version 6.16j.
2. Improved integration of pointing devices with horizontal scrolling capability.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. On unix, the file dialog did not allow to select files without extension.
3. The viewport of the disassembly window could be scrolled beyond address 0. Fixed.
4. Source viewer arrow key navigation was inoperable on macOS. Fixed.
5. Certain types of expressions were not evaluted correctly. Fixed.
6. Register window contents were no longer available following a reconnect. Fixed.

## Version 2.44b [20 Jul 2017]

### Improvements

1. Updated the included J-Link library to version 6.16i.
2. Added checkbox "override trace timings" to the trace settings dialog.

### Program corrections

1. The default trace pin sampling delay was configured at 0 ns, but should have been 2 ns. Fixed.

## Version 2.44a [19 Jul 2017]

### Improvements

1. Updated the included J-Link library to version 6.16h.

### Program corrections

1. Fixed multiple problems related to the layout and display of window items.
2. Entering "?" or "help" into the console did no longer print the command list. Fixed.
3. Hotkeys "y" and "n" for dialog buttons yes and no were not accepted. Fixed.
4. Branch labels for CBZ/CBNZ instructions were not displayed. Fixed.
5. Following a reload of a modified program file, disassembly output was possibly incorrect. Fixed.
6. RTT IO could not be started when no program file was specified. Fixed.
7. The debian installer contained an invalid library dependancy. Fixed.

## Version 2.44 [13 Jul 2017]

### New Features

1. Added new command line arguments for startup project generation (user manual chapter 7).
2. Ozone now assigns each project a user perspective file (*jdebug.user). When the user perspective file is present and the project is opened, the project-specific window layout is restored.
3. Added a new debug information window: J-Link Web Control.

### Improvements

1. Source file resolution information is now aggregated and output in a single log message.
2. The disassembly window no longer shows source line labels affiliated with invalid symbol information (optimized code).
3. Restructured the command layout within wizard-generated script function "OnProjectLoad".
4. SWO Settings have been moved from the terminal settings dialog to the trace settings dialog.
5. Trace configuration was reworked. Added new commands "Project.SetTraceSource", "Project.SetTraceTiming", "Project.SetTracePortWidth" and "Project.ConfigSWO". Command "Project.SetSWO" is now obsolete. Use commands "Project.ConfigSWO" and "Project.SetTraceSource" instead.
6. The project wizard now automatically selects an appropriate SVD-file for the private peripheral bus when a Cortex-M device is selected.
7. When completing the trace settings dialog, the user is now asked if changes should be commited to the project file.

### Program corrections

1. Fixed multiple bugs related to the display and layout of GUI items.
2. Ozone tooltips possibly remained on top of other windows. Fixed.
3. Enum-type symbol members were possibly displayed at a wrong byte size. Fixed.

## Version 2.44 [13 Jul 2017]

### New Features

1. Added new command line arguments for startup project generation (user manual chapter 7).
2. Ozone now assigns each project a user perspective file (*jdebug.user). When the user perspective file is present and the project is opened, the project-specific window layout is restored.
3. Added a new debug information window: J-Link Web Control.

### Improvements

1. Source file resolution information is now aggregated and output in a single log message.
2. The disassembly window no longer shows source line labels affiliated with invalid symbol information (optimized code).
3. Restructured the command layout within wizard-generated script function "OnProjectLoad".
4. SWO Settings have been moved from the terminal settings dialog to the trace settings dialog.
5. Trace configuration was reworked. Added new commands "Project.SetTraceSource", "Project.SetTraceTiming", "Project.SetTracePortWidth" and "Project.ConfigSWO". Command "Project.SetSWO" is now obsolete. Use commands "Project.ConfigSWO" and "Project.SetTraceSource" instead.
6. The project wizard now automatically selects an appropriate SVD-file for the private peripheral bus when a Cortex-M device is selected.
7. When completing the trace settings dialog, the user is now asked if changes should be commited to the project file.

### Program corrections

1. Fixed multiple bugs related to the display and layout of GUI items.
2. Ozone tooltips possibly remained on top of other windows. Fixed.
3. Enum-type symbol members were possibly displayed at a wrong byte size. Fixed.

## Version 2.42b [10 Jul 2017]

### Improvements

1. Updated the included J-Link library to version 6.16f.

### Program corrections

1. Script error when specifying negative numbers in project files. Fixed.
2. When no data file was specified and the connection mode was "Attach & Halt", disassembly output was possibly incorrect. Fixed.
3. Pressing hotkey F6 triggered command "Debug.Halt" multiple times. Fixed.
4. Possible incorrect frame alignments within the timeline window. Fixed.
5. Sidebar breakpoint indicators were possibly lost when reloading a modified program file. Fixed.

## Version 2.42a [28 Jun 2017]

### Improvements

1. Updated the included J-Link library to version 6.16e.

### Program corrections

1. The expression evaluator neglected the program execution point scope when evaluating symbol expressions. Fixed.
2. Scope of local variables possibly determined incorrectly. Fixed.
3. XMC 1100 series devices were no longer selectable within the device selection dialog. Fixed.

## Version 2.42 [22 Jun 2017]

### New Features

1. Ozone now supports ARMv8-M based devices.

### Improvements

1. CSV exports now use comma as column separator to improve compatibility with CSV viewers.
2. Tooltips have been reworked to use less display space.
3. Added two new user preferences: "PREF_SHOW_SYMBOL_TOOLTIPS" and "PREF_SHOW_HEX_BLOCKS".
4. Contents of debug windows with PC-dependant data is no longer cleared when the program is resumed. Instead, content is grayed out.
5. For pointer-type symbols, "view.data" now jumps to the memory location pointed to instead of the pointer location.
6. The code profile CSV export was reworked. Users may now select the program entity reported about.
7. Added two additional code profile filters: "Coverage.Exclude" and "Coverage.Include".
8. The Code Profile Window now displays code profile statistics on two more tree levels: "source line" and "instruction".

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. User Action "View.InstrTrace(n)" did not select instruction n. Fixed.
3. Floating dock windows were not closed when pressing the corner button. Fixed.
4. When SWO speeds were configured within the project file, SWO data capture was not started on debug session start. Fixed.
5. When searching for text, button "Find Next" needed to be clicked twice in order to jump from the last to the first matching line.
6. Fixed a possible infinite recursion in the ELF parser module. Fixed.
7. The CSV output of the Data Graph Window contained non-printable characters. Fixed.

## Version 2.40d [14 Jun 2017]

### Program corrections

1. Symbols with constant or undefined data locations were possibly showing incorrect values. Fixed.
2. Dwarf-V4 attributes of type "DW_FORM_ref_addr" were not evaluated correctly. Fixed.
3. Script command "Target.GetReg" possibly returned incorrect values. Fixed.
4. On Linux, Ozone possibly did not start on distrubutions with Qt4 versions other than 4.8.6. Fixed.

## Version 2.40c [12 Jun 2017]

### Improvements

1. Updated the included J-Link library to version 6.16b.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Expressions containing members of anonymous structures were not evaluted correctly. Fixed.
3. Byte sizes of 32-bit integer array elements were possibly evaluated as 8 bytes. Fixed.

## Version 2.40b [01 Jun 2017]

### Program corrections

1. ELF library: fixed a parse error that occurred in conjunction with unsupported Dwarf-V5 location expressions. Fixed.
2. CMSIS SVD files: field arrays possibly not parsed correctly. Fixed.

## Version 2.40a [26 May 2017]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. When a document was closed within an inactive source viewer, the active debug information window was closed instead. Fixed.
3. The Q flag of the XPSR register was displayed incorrectly within register group "All Cpu Registers". Fixed.

## Version 2.40 [19. May 2017]

### Improvements

1. Updated the included J-Link library to version 6.14h.
2. Added two new user preferences: "PREF_INDENT_INLINE_ASSEMBLY" and "PREF_DIALOG_SHOW_DNSA".
3. The register groups "All" and "Current" on Cortex-M have been merged into a single register group "CPU".
4. The column order and sort indicator of table windows is now maintained persistently across sessions.
5. When navigating instruction trace rows, function blocks are now auto-expanded.
6. When navigating from the source viewer to another debug window via a shortcut, the ESC key can now be used to switch back to the source viewer.
7. The source viewer's line number, execution counter and inline assembly fonts can now be configured individually via the user preference dialog.
8. The source viewer now supports further standard hotkeys such as F3, Ctrl+F3 and Ctrl+Tab.
9. Added a context menu entry to the source viewer that allows to select the line number frequency.
10. The Memory Window now supports drag & drop of program symbols.
11. Added a new main menu "Window" that aids in navigating the currently open debug information windows.
12. Within the Windows start menu, the version number was added to the application name.
13. The instruction trace and timeline windows now retain their data content when the program is resumed.
14. Ozone's source-stepping code was improved in order to support current versions of GCC.
15. The hotkey navigation behaviour of the timeline window was improved.
16. For mixed mode disassembly, the display of labels and source lines can now be toggled individually.
17. The disassembly window's text highlighting was improved.
18. Multiple hotkeys were adjusted in order to conform to IDE standards.
19. The breakpoint window has been reworked.
20. The ID number of a breakpoint (as required by certain commands) has been changed into a text ID (address or source location).
21. The instruction breakpoint has been split into two types: normal and derived from source. The latter is displayed using a smaller diameter icon.

### Program corrections

1. The source viewer only displayed the first instruction block of multi-block source lines. Fixed.
2. Performing a text selection anchored at the start or end of a source line did not work properly. Fixed.
3. Tooltips were possibly displayed outside of the desktop area. Fixed.
4. Program files of s-record type (.mot, .srec) larger than 1MB could possibly not be opened. Fixed.
5. Setting a breakpoint's type to "soft" could have erratic side effects such as clearing the breakpoint. Fixed.
6. Stepping onto a disabled source breakpoint could possibly clear the breakpoint. Fixed.
7. When no program file was downloaded on debug dession start, disassembly output was possibly wrong. Fixed.
8. When switching from an IP connection to USB, Ozone could not connect to the target. Fixed.
9. On MacOS, the find dialog opened up behind the main window and could no longer be used. Fixed.

## Version 2.32 [10. Apr 2017]

### Improvements

1. Improved Ozone's compatibility with color themes.

### Program corrections

1. Context menu entry "view data" possibly navigated to a wrong data location for local symbols. Fixed.

## Version 2.31 [05. Apr 2017]

### New Features

1. Added symbol relocation support via command "Project.RelocateSymbols".
2. Added a new debug information window: "Timeline".

### Improvements

1. Updated the included J-Link library to version 6.14c.

### Program corrections

1. Under connection modes "Attach & Halt" and "Attach", instruction trace output was not correct. Fixed.

## Version 2.30d [05. Apr 2017]

### Program corrections

1. Using "expand all" within the source viewer multiple times in a row could lead to duplicate assembly code rows being shown. Fixed.

## Version 2.30c [27. Mar 2017]

### Program corrections

1. Under special circumstances, source file paths were possibly displayed multiple times within the source files window. Fixed.
2. Under special circumstances, source file paths were possibly displayed multiple times within the source files window. Fixed.

## Version 2.30b [17. Mar 2017]

### Program corrections

1. In situations where an SFR's data range was visible within the memory window, the register value was not updated correctly. Fixed.
2. Ozone did not skip the special filename "built-in" that some compilers emit to the ELF source file table. Fixed.
3. Fixed a possible crash that occurred when a program file was downloaded after flash memory was erased. Fixed.

## Version 2.30a [13. Mar 2017]

### Program corrections

1. In certain situations, opening a non-ELF data file via command "File.Open" could cause Ozone to crash. Fixed.
2. Program files of s-record type (.mot, .srec) could not be opened when records were terminated by a single line feed or cariage return character. Fixed.

## Version 2.30 [13. Mar 2017]

### Program corrections

1. The watched data window was not updating correctly when switching the current frame via the call stack window. Fixed.
2. Local data window "auto mode" was disfunctional. Fixed.
3. In certain situations, expressions containing pointer arithmetic were not evaluated correctly. Fixed.

## Version 2.29 [01. Mar 2017]

### Improvements

1. Updated the included J-Link library to version 6.14b.
2. Various performance improvements.
3. The log-message quality was improved.
4. Added system variable "VAR_TRACE_PORT_WIDTH".
5. The call stack window got four additional columns: stack info, PC, return address and return address location.
6. 32-bit thumb instructions are now displayed as two individual halfwords.
7. Added support for context-sensitive symbol tooltips (source viewer).
8. The call graph window now displays information about the stack usage of functions.

## Version 2.22p [22. Feb 2017]

### Improvements

1. Source viewer context menu entries "View.Source", "View.Disassembly" and "View.Data" no longer require a text selection to be made.
2. The disassembly window now also displays absolute branch addresses.

### Program corrections

1. Fixed multiple bugs related to the display and layout of GUI items. Fixed.
2. Non-linked functions were displaying breakpoint and line expansion indicators. Fixed.

## Version 2.22o [03. Feb 2017]

### Improvements

1. Updated the J-Link software library to version 6.12i.
2. Arguments to command "Exec.Command" may now include Ozone directory macros.

### Program corrections

1. Project file error messages were limited to 100 characters and printed multiple times to the console window. Fixed.
2. J-Link script files set via command "Project.SetJLinkScript" were not executed on debug session start. Fixed.

## Version 2.22n [31. Jan 2017]

### Program corrections

1. Ozone did not start when a log file was specified. Fixed.
2. The local data window did not always display the "this pointer" entry when stepping inside class functions. Fixed.

## Version 2.22m [19. Jan 2017]

### Improvements

1. Updated the included J-Link library to version 6.12f.
2. Improved error message logging in cases where unknown or invalid ELF information is encountered.
3. Changed command "Project.SetRootPath" to "Project.AddRootPath".

## Version 2.22l [05. Jan 2017]

### Program corrections

1. The call stack was possibly not build correctly in situations where a call frame's return address was specified to be contained within register R14. Fixed.
2. The call graph window did not display content. Fixed.

## Version 2.22k [02. Jan 2017]

### Program corrections

1. The element capacity of multi-dimensional arrays was not always evaluated correctly. Fixed.
2. Register bit-fields where not updating correctly when the parent register was out of view. Fixed.

## Version 2.22j [22. Dec 2016]

### Improvements

1. Updated the included J-Link library to version 6.12d.

### Program corrections

1. Fixed a possible performance problem when loading ELF-Files on non-Cortex-M targets. Fixed.

## Version 2.22i [15. Dec 2016]

### Program corrections

1. When setting or clearing data breakpoints, not all windows were updating icons immediately. Fixed.
2. The register window displayed incorrect register values for suspended tasks. Fixed.

## Version 2.22h [12. Dec 2016]

### Program corrections

1. The application crashed when editing invalid memory (marked with dashes) via the memory window. Fixed.
2. When command "Edit.Color" was executed from a script function, color name input such as "steelblue" was not recognized. Fixed.

## Version 2.22g [08. Dec 2016]

### Program corrections

1. On Cortex-A/R and ARM targets, the Local Data Window possibly displayed incorrect symbol data locations and the Register Window possibly displayed incorrect register values. Fixed.
2. The application crashed when dragging & dropping source-viewer text onto the watched data window. Fixed.

## Version 2.22f [05. Dec 2016]

### Improvements

1. Updated the included J-Link library to version 6.12b.

### Program corrections

1. The data locations of local symbols with block-scope was possibly not evaluated correctly. Fixed.
2. Non-printable characters were displayed incorrectly within symbol windows and tooltips. Fixed.

## Version 2.22e [01. Dec 2016]

### Improvements

1. Updated the included J-Link library to version 6.12.
2. The user manual was updated to version 2.22 rev. 3.

### Program corrections

1. When using arrow-down within the Source Viewer, the text cursor could go out of sight. Fixed.
2. Word-Wrapping within ToolTips did not work correctly. Fixed.
3. CMSIS-SVD value type "ScaledNonNegativeInteger" was not parsed correctly. Fixed.
4. Console feedback of command "Elf.GetExprValue" showed incorrect data locations for register symbols. Fixed.
5. Expressions containing local register variables were possibly not evaluated correctly. Fixed.
6. Expressions with complex-type array subscripts were possibly not evaluated correctly. Fixed.
7. While holding down a stepping hotkey, the PC and LR register values were possibly updated incorrectly. Fixed.

## Version 2.22d [21. Nov 2016]

### Improvements

1. Update the J-Link library to version 6.10n.

### Program corrections

1. The data graph window's y-axis auto-scaling was not always working properly. Fixed.
2. In certain situations, the instruction trace window was loosing the first chunk of PC backtrace data. Fixed.
3. When memory was edited while the program was running, Ozone halted the target without querying for BMA capability. Fixed.
4. On Windows 10, Ozone did not catch the input focus after the user accepted the reload file dialog. Fixed.
5. Disassembly showed incorrect instruction encodings outside the program's address range on ARM7/9 MCU's. Fixed.
6. Disassembly was not aligned at ELF file segment boundaries and mapping symbols. Fixed.

## Version 2.22c [07. Nov 2016]

### Program corrections

1. Source line coverage statistics were unavailable when debugging on certain Cortex-M target MCU's. Fixed.

## Version 2.22b [04. Nov 2016]

### Program corrections

1. J-Link error and warning messages were not delegated to the console window. Fixed.
2. Members of callsite symbols having register-based memory locations were not always evaluated correctly. Fixed.
3. Call frame register value R0 was not restored correctly in case the location rule was DW_FRAME_SAME_VAL. Fixed.
4. Possibly bogus call stacks when debugging ELF programs containing DWARF version 4 debug information. Fixed.

## Version 2.22a [02. Nov 2016]

### Program corrections

1. Reset to symbol was broken. Fixed.

## Version 2.22 [31. Oct 2016]

### Improvements

1. Updated the J-Link software library to version 6.10j.
2. A message dialog now warns users in case the connection to the target MCU has been lost.
3. Expressions can now be edited after having been added to the watched data window.
4. Added two more columns to the FreeRTOS task window: notify value and notify state.
5. The selected source text is now evaluated as expression and the result is shown in a tooltip.
6. Improved the disassembly window's auto-scrolling behavior.
7. Added new commands "Profile.Include" and "Profile.Exclude" that facilitate filtering of items within the code profile window.
8. Added new command "Project.SetJLinkLogFile".
9. Ozone has been tested for runtime errors using valgrind and GCC sanitizers with the result of an overall improved stability.

## Version 2.20j [21. Oct 2016]

### Improvements

1. Updated the J-Link software to version V6.10h.

### Program corrections

1. Crash in J-Link software version 6.10d when closing threads. Fixed.

## Version 2.20i [18. Oct 2016]

### Program corrections

1. When canceling a message box via the escape key, the dialog was accepted instead of being rejected. Fixed.
2. "Virtual" was not displayed in the type name of virtual functions (C++). Fixed.
3. Segment padding bytes were resolved incorrectly in situations where the first data section ended at a segment boundary. Fixed.
4. The disassembly window's base address could be set to the second half-word of 32-bit instructions leading to incorrect disassembly. Fixed.
5. Symbol values that contained block separator characters could not be edited. Fixed.
6. System variable "VAR_BREAK_AT_THIS_SYMBOL" could no longer be set via command Edit.SysVar. Fixed.

## Version 2.20h [6. Oct 2016]

### Program corrections

1. Target memory was not read item-wise as fallback in situations where 0 bytes of block were read successfully. Fixed.
2. Possibility of incorrect disassembly when scrolling upwards within the disassembly window. Fixed.
3. Possibility of infinite script function recursion when using certain commands within certain script functions. Fixed.

## Version 2.20g [30. Sep 2016]

### Program corrections

1. Disassembly window: instruction encoding incorrect for mixed endianess targets. Fixed.
2. Setting system variables via command "Edit.SysVar" crashed the debugger. Fixed.
3. An explicit readback of values written to target memory via symbol windows was performed. This could induce unwanted side effects when writing to special function registers.

## Version 2.20f [27. Sep 2016]

### Program corrections

1. C++ 11 data type "_Bool" was not supported. Fixed.

## Version 2.20e [23. Sep 2016]

### Program corrections

1. Inline disassembly did not separate trailing data blocks from instruction blocks. Fixed.
2. Watched expressions could not be edited while the program was running. Fixed.
3. Source viewer sidebar: instruction icons were displayed on invalid text lines. Fixed.
4. Source viewer inline disassembly: address strings displayed in wrong format for instructions with invalid encoding. Fixed.

## Version 2.20d [22. Sep 2016]

### Program corrections

1. Fixed a generic program crash. Fixed.

## Version 2.20c [21. Sep 2016]

### Improvements

1. The default data export directory was set to the user home directory.

### Program corrections

1. Instruction trace data was lost in scenarios of quickly succeeding stop/resume operations. Fixed.
2. The code profile window showed incorrect execution counts following a reload of the program file. Fixed.
3. Updated the J-Link software to version 6.10a.

## Version 2.20b [19. Sep 2016]

### Program corrections

1. The total encompassed address range of header files was determined incorrectly. Fixed.
2. The disassembly of external library functions could not be exported. Fixed.
3. Deadlock between the GUI and target sheduler threads. Fixed.
4. Context sensitivity was broken in situations where the call stack contained a call site multiple times. Fixed.
5. The functionality of project command "Project.AddPathSubstitute" was broken.

## Version 2.20a [16. Sep 2016]

### Program corrections

1. Instruction trace data was unintentionally cleared when selecting a task within the task window. Fixed.
2. Fixed a possible problem with infinite recursion within the call stack generation code. Fixed.
3. Data breakpoints could not be set on symbols whose name matched a hexadecimal value. Fixed.
4. The memory window's data content was unintentionally displayed as invalid after changing the item display format. Fixed.

## Version 2.20 [15. Sep 2016]

### New Features

1. Added data export functionalities to the code profile window and the disassembly windows.
2. Added instruction and source line execution counters to the code windows.
3. Added streaming (live) trace support.

### Improvements

1. Reworked visualization of breakpoints and PC indicators within inline disassembly.
2. Navigation facilities of the source viewer were improved. Added horizontal scrolling via Ctrl-up/down and functionality for Home and End keys.
3. The "Find" context menu entry now performs an infix instead of a prefix substring search.

### Program corrections

1. Internal warnings were printed to the console window on starting the debugger. fixed.
2. System variable "VAR_BREAK_AT_THIS_SYMBOL" could not be set via script function. fixed.
3. Expressions including pointers did not evaluate correctly in some cases. fixed.
4. The device selection dialog allowed the selection of Core #2 for single-core devices. Fixed.
5. Fixed a synchronization issue that could lead to register accesses while the target was running. Fixed.

## Version 2.18c [22. Aug 2016]

### Program corrections

1. The sort order of table windows was not restored after reloading the program file. Fixed.
2. The call stack window did not highlight the selected call frame. Fixed.
3. The display of enumeration constants within symbol windows was broken. Fixed.
4. Code Profile Window: filtered symbols were unintentionally changing position while the program is running. Fixed.
5. Disassembly window: instruction half-words were displayed in the wrong order. Fixed.
6. The size of 8-byte integer symbols was displayed as 4 bytes. Fixed.

## Version 2.18b [12. Aug 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Symbols of floating point type declared as "constexpr" were not displayed correctly. Fixed.
3. The display of symbol member lists was limited to 100 entries. Fixed.
4. The watched data window's live update mode became inoperable when setting the refresh rates of all watched symbols to 0. Fixed.
5. The PC line was not always maintained window-centered when stepping into a different source code document. Fixed.

## Version 2.18a [09. Aug 2016]

### Program corrections

1. Crash when expanding source code lines. Fixed.

## Version 2.18 [05. Aug 2016]

### Improvements

1. Ozone crashed on Mac when undocking a window that contained a tabbar. Fixed.

### Program corrections

1. Crash on Mac when undocking a window that contains a tabbar. Fixed.

## Version 2.17 [26. Jul 2016]

### New Features

1. Added a new debug information window: Data Graph. This window allows users to monitor the time-course of symbol expressions at high resolutions.

### Improvements

1. Added a checkbox to the bottom of all notification dialogs allowing the dialog to be suppressed.
2. The new project wizard now opens the peripheral file selection dialog in "/Config/Peripherals" per default.
3. The last table row of the watched data window now acts as an input field.
4. Added coprocessor register scripting support via commands "Target.SetReg" and "Target.GetReg".
5. Added a context menu entry "Find" to all table windows that allows users to search for a particular item within a particular column.
6. The loading time of ELF-Files was improved by a factor of 3.
7. The call graph window now determines caller-callee relationships via disassembly analysis instead of source-code analysis.
8. The text value of string-type symbols can now be edited.
9. The data breakpoint dialog now allows to specify the breakpoint's memory location as symbol expression.
10. Data breakpoints can now be edited via script command "Break.EditOnData" or via the context menu of symbol windows.

### Program corrections

1. The memory window performed explicit data readbacks when editing items which could lead to unwanted effects when editing SFR's. Fixed.
2. The context menu did not always open when pressing the context menu hotkey. Fixed.
3. The register window did not display change levels after Resume / Halt cycle. Fixed.
4. Plugin API function "OnDebugStart" was called before target connection was established. Fixed.
5. On mac, the application's monospace font did not adapt to changes of the application font. Fixed.
6. The instruction trace window became inoperable after a restarting the debug session. Fixed.

## Version 2.16h [26. Jul 2016]

### Program corrections

1. On big endian targets, the encoding of assembler instructions was not always displayed in the correct byte order. Fixed.
2. Symbol data locations using register-based addressing were not always evaluated correctly. Fixed.

## Version 2.16g [25. Jul 2016]

### Program corrections

1. An infinite recursion within the call stack generation code lead to empty output. Fixed.
2. Functions with inline expansions defined in multiple compilation units were displayed as individual functions. Fixed.

## Version 2.16f [19. Jul 2016]

### Program corrections

1. Source lines expanded in online mode were not collapsed when going offline. Fixed.
2. The disassembly window and source viewer displayed incorrect disassembly while the program is running. Fixed.
3. The memory window did not update correctly when set at address 0x0 when starting the debug session. Fixed.
4. When script function "AfterTargetConnect" contained a download operation, the main program image was no longer downloaded. Fixed.

## Version 2.16e [12. Jul 2016]

### Program corrections

1. Bit-fields of array registers were not displayed correctly. Fixed.
2. Registers marked as having read-side-effects were read nonetheless. Fixed.
3. CMSIS-SVD tags "writeConstraint", "readAction" and "modifiedWriteValue" were not supported. Fixed.
4. Projects generated by the new project wizard tried to read from the vector table even when no program file had been set. Fixed.
5. After a flash download failed, the error notification dialog was possibly skipped. Fixed.
6. When adding symbols to the watched data window in offline mode, the initial refresh rate was not set correctly. Fixed.

## Version 2.16d [01. Jul 2016]

### Program corrections

1. The data locations of auto-variables were possibly evaluated incorrectly. Fixed.
2. When toggling the memory window's toolbar on targets without background memory access, window contents were not updated correctly. Fixed.
3. The watched data window did not display change level highlighting when in live mode. Fixed.
4. The license dialog's serial number field always showed the value 0. Fixed.
5. ELF mapping symbols were not evaluated correctly for TI-compiler-generated program files leading to various problems such as inoperable breakpoints. Fixed.

## Version 2.16c [27. Jun 2016]

### Program corrections

1. Extra breakpoint actions were performed in situations where the PC was on a breakpoint and the target was reset. Fixed.
2. Extra breakpoint actions were performed even when the affiliated checkbox was unchecked. Fixed.
3. The value of an array expression was considered to be the array bytes instead of the arrays memory address. Fixed.
4. The context menu did not always open when pressing the keyboard's context menu key. Fixed.

## Version 2.16b [17. Jun 2016]

### Program corrections

1. the register window did not display change levels after a resume/halt cycle. Fixed.

## Version 2.16a [09. Jun 2016]

### Program corrections

1. Fixed a crash within the function window. Fixed.

## Version 2.16 [07. Jun 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Plugin API function "OnDebugStart" was called before a target connection was established. Fixed.
3. When editing registers, input values were interpreted in window display format instead of the register's display format. Fixed.
4. Fixed a bug that lead to incorrect disassembly output for address ranges outside the current function. Fixed.
5. Fixed a possible invalid string buffer access within the ELF-API leading to a program crash. Fixed.
6. The instruction trace window became inoperable after restarting the debug session. Fixed.
7. Fixed a memory leak within the expression evaluator. Fixed.
8. Downlink RTT data transmission was broken. Fixed.
9. "View.Source" did not jump to the correct source code location in situations where multiple symbols with the same name were defined within different scopes. Fixed.

## Version 2.15b [11. May 2016]

### Program corrections

1. Symbol character values were displayed as is, i.e. line feeds were displayed as line feed. Fixed.
2. The functions window only displayed class names for class constructors. Fixed.

## Version 2.15a [27. Apr 2016]

### New Features

1. Watched data is now updated while the target is running. The live watch feature requires the target to support background memory access.

### Program corrections

1. The source viewer could not be scrolled via multi-point touch gestures. Fixed.
2. The status of blocked embOS tasks was not displayed correctly. Fixed.
3. The embOS-plugin did not work with build configurations missing certain TCB members (such as XRelease). Fixed.
4. Registers R0 and SP of embOS tasks were not evaluated correctly on ARM ports. Fixed.
5. The call stack and used stack size of FreeRTOS tasks what not evaluated correctly. Fixed.
6. The device selection dialog did not always behave correctly when editing column filters. Fixed.
7. The console window did not accept commands "?" and "help" and showed incorrect output on empty input. Fixed.
8. After reconnecting to the target device, J-Link logging output was no longer displayed. Fixed.

## Version 2.15 [01. Apr 2016]

### Improvements

1. Reworked the toolbar icons.
2. On windows, Ozone now ships with the J-Link software library included within its application directory. This allows for an uncomplicated exchange of individual J-Link runtime versions.
3. The J-Link settings dialog now displays information about the connected emulator and J-Link software version.
4. All dialogs can now be closed using the escape key.
5. A more specific error message is printed to the console window when a data breakpoint cannot to be set.
6. Context menu entries "display" and "display as" are now available for each table column.
7. Changed the algorithm for determining the optimal table column widths from a max-width to a histogram-based heuristic.
8. Each symbol now displays an icon resembling the symbol type. Icon colors can be modified via the user preference dialog.

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. The cache of uncertainly disassembled instructions was not cleared when the thumb bit changed. Fixed.
3. The debugger crashed upon expanding the this-pointer in situations where it was already expanded in other scopes. Fixed.
4. Expressions containing the cast or address-of operator did not display the correct data location in online mode. Fixed.
5. Floating point values were always displayed with maximum precision and could not be edited using comma as decimal separator. Fixed.
6. In offline mode, static or const data members of null-pointers did not display the correct data location. Fixed.
7. FPU register fields were displayed as floating point numbers. Fixed.

## Version 2.14h [23. Mar 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Source file root path's including path macros were not recognized. Fixed.
3. The console and terminal windows displayed wrong context menus when clicking on their command input fields. Fixed.
4. The data breakpoint window's context menu entry "View.Source" was inoperable. Fixed.
5. Coprocessor registers could not be edited. Fixed.

## Version 2.14g [22. Mar 2016]

### Program corrections

1. Script command "Elf.GetExprValue" returned an error code instead of the expression value. Fixed.
2. The target interface was configured twice when connecting to the target. Fixed.
3. J-Link tunnel mode was inoperable. Fixed.

## Version 2.14f [21. Mar 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Boolean-type symbols could not be edited. Fixed.
3. The J-Link selection dialog had to be closed multiple times when triggered from script command "Exec.Connect". Fixed.
4. A J-Link firmware dialog message "Unspecified device selected" was sometimes popping up when closing the debug session. Fixed.
5. When a watched expression's data type changed, the expression value was not updated correctly.
6. When adding command Debug.Start() to function OnProjectLoad(), the project warning dialog unintentionally popped up. Fixed.

## Version 2.14e [11. Mar 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Breakpoint task filters did not work until the task window was updated at least once. Fixed.
3. The debugger possibly crashed when it was closed while a plugin was still performing operations.
4. When setting multiple data breakpoints in offline mode, only the first data breakpoint was applied when going online. Fixed.
5. The project warning dialog's "open" button was inoperative. Fixed.
6. In certain situations, the data location of union members was not computed correctly. Fixed.
7. Anonymous type members were not supported. Fixed.

## Version 2.14d [07. Mar 2016]

### Program corrections

1. Fixed multiple bugs related to the display and layout of window items.
2. Constant symbol values were not always displayed in the correct data and display format. Fixed.
3. Command "Project.SetSWO" did not allow to enable SWO before the debug session was started. Fixed.
4. Script command "Target.SaveMemory" did not respect directory macros. Fixed.
5. Hotkey for "Run to Cursor" was broken. Fixed.
6. The debugger calculated wrong symbol sizes after the program file was reloaded. Fixed.
7. Resolved file paths possibly contained "cd-up" (\..\) macros. Fixed.
8. Eliminated a deadlock situation that occurred when the debugger was closed while it was executing a script function. Fixed.

## Version 2.14c [02. Mar 2016]

### Program corrections

1. The delete hotkey was not working on the watched data window. Fixed.
2. The source viewer's text selection context menu was broken. Fixed.
3. The debugger crashed when opening the file dialog on mac. Fixed.
4. Peripheral registers were possibly initialized from incorrect target memory addresses. Fixed.
5. Expressions of floating-point type and constant data location displayed incorrect values. Fixed.
6. Incorrect output within the watched data window when both a global and a local variable shared the same name. Fixed.
7. The debugger crashed when adding multiple SVD files containing registers with identical names. Fixed.
8. Bit-field registers showed an incorrect number of digits. Fixed.

## Version 2.14b [25. Feb 2016]

### New Features

1. The ELF parser module has been reworked to use handles instead of pointers.

### Program corrections

1. Fixed a memory leak.
2. Source file paths relative to the program file could not be resolved. Fixed.
3. The disassembly window displayed "EEEE" for invalid memory data instead of "----". Fixed.

## Version 2.14a [22. Feb 2016]

### Program corrections

1. The user manual menu entry was inoperable on mac. Fixed.
2. Symbol text value data was not cleared when closing the debug session. Fixed.
3. The symbol instruction count cache was not cleared when opening an ELF file. Fixed.
4. Virtual ELF segment addresses were handled incorrectly leading to wrong calculation of instruction counts, amongst others. Fixed.
5. Data downloads were performed using the system variable VAR_ACCESS_WIDTH setting which was not intended. Fixed.
6. On linux and mac, context menus needed to be explicitly closed with a mouse click before a reopening was possible. Fixed.
7. A warning message "cannot read registers while CPU is running" was popping up in situations where conditional breakpoints were used. Fixed.
8. The disassembly window showed "no program data" for memory locations that contained program code. Fixed.

## Version 2.14 [18. Feb 2016]

### Improvements

1. Solidified memory-IO operations - particularly covering situations where the program is running.
2. Memory window auto refresh is now also available when debugging on MCU's without background memory access.
3. ELF-File loading time and memory footprint were improved.
4. The register window now displays contents in offline mode.
5. An error message is output to the console window when loading a project file that does not specify a CPU register set description file.
6. The project wizard now writes a project command to the project file that selects the default CPU register set description file.

### Program corrections

1. The memory window's address box drop-down list used a wrong font. Fixed.
2. Font styles other than "normal" could not be set on windows. Fixed.
3. The instruction trace window displayed wrong stack positions while scrolling. Fixed.
4. The size of class member functions was displayed incorrectly. Fixed.
5. The call-frame sensitivity of the register window was broken. Fixed.
6. On connect, a download error dialog was shown in situations where script function "AfterTargetConnect" contained a "Target.Write" operation. Fixed.
7. When periodically receiving semihosting IRQ's in quick succession, the debugger became unresponsive. Fixed.

## Version 2.12b [09. Feb 2016]

### Program corrections

1. The register window did not display registers in offline mode. Fixed.
2. The project settings applied with "SetJLinkScript" and "AddSvdFile" were not reset when opening a new project. Fixed.
3. Assembler code highlighting showed artefacts on linux and mac. Fixed.
4. The instruction trace window's context menu entries "View.Source" and "View.Disassembly" were not available on function headers. Fixed.
5. The code windows displayed incorrect backtrace highlighting color. Fixed.
6. The device selection dialog's big endian field was not initialized correctly uppon showing the dialog. Fixed.
7. The symbol size was displayed using the english number format (for ex. 16, 000). Fixed.
8. The code profile window displayed functions with address ranges of size 0 bytes. Fixed.
9. On Cortex-M, ELF::GetEntryPointPC() had priority over [VectorBaseAddr+4] when initializing the PC. Fixed.
10. The memory window was not updated correctly in situations where at least 1 byte was not read successfully. Fixed.
11. The call stack was computed incorrectly for interrupted tasks on embOS-versions greater than V3.88a. Fixed.
12. Fixed a crash that occurred when an SVD file was reloaded. Fixed.
13. Fixed a crash that occurred when the source viewer repainted itself at the same time a data file was opened. Fixed.

## Version 2.12a [29. Jan 2016]

### Program corrections

1. Table columns where not sorted case-insensitive. Fixed.
2. Program files were still not always downloaded correctly. Fixed.

## Version 2.12 [27. Jan 2016]

### New Features

1. Added the code profile debug information window. This window displays runtime code metrics such as instruction coverage and CPU load.
2. None.

### Improvements

1. Updated the J-Link software version to v5.10g.
2. Reworked the source viewer's symbol tooltip. It now display additional information about the symbol.
3. Added a drop-down-list to the source-viewer header bar that allows users to filter functions by scope.
4. Improved the loading time of ELF-Files.
5. Reworked the "instruction trace window": the window now groups instructions into function nodes.

### Program corrections

1. Program files were not always downloaded correctly. Fixed.

## Version 2.10d [04. Jan 2016]

### Improvements

1. Reduced memory consumption when loading program files with high symbol count.

### Program corrections

1. Following a re-configuration of the hardware setup by the user, trace support was not re-evaluated. Fixed.
2. Fixed a syntax highlighting error occurring in situations where the document contained both cpp and c-style comments in one line. Fixed.
3. Stepping over source viewer inline disassembly did not work correctly when debugging optimized code. Fixed.
4. Ozone crashed when reopening the program file. Fixed.
5. Ozone crashed when clicking on a member of a local symbol. Fixed.

## Version 2.10c [11. Dec 2015]

### Improvements

1. Command "Project.AddSearchPath" now accepts relative file paths.
2. Updated the user manual to include the description of path macros.

### Program corrections

1. The program crashed when executing command "Target.LoadMemory" using a relative file path. Fixed.

## Version 2.10b [07. Dec 2015]

### Program corrections

1. The debugger could possibly run into an infinite loop when an ELF-file was opened.

## Version 2.10a [01. Dec 2015]

### Program corrections

1. Values of peripheral registers were not displayed. Fixed.

## Version 2.10 [27. Nov 2015]

### New Features

1. Added a new user preference "PREF_PREPEND_FUNC_CLASS_NAMES" that controls whether class scopes are prepended to function names.
2. Added a "class" column to the functions window that is available when debugging C++ programs.
3. Changed reset mode "Reset & Break At Main" to "Reset & Break At Symbol" and added System Variable "VAR_BREAK_AT_THIS_SYMBOL".
4. Added a new user preference: "PREF_START_WITH_MOST_RECENT_PROJECT".
5. Added system variable "VAR_VERIFY_DOWNLOAD". When set, the debugger validates each downloaded data segment and shows a warning dialog when a segment was not downloaded correctly.
6. Added an additional column to the breakpoint window that informs about the implementation type of a breakpoint.
7. Added a breakpoint toolbar.
8. Added a navigation header bar to the source viewer.
9. Added a new debug information window that displays the call graph of the selected function.

### Improvements

1. Command "Watch.Add" can now be given an arbitrary C-syntax expression.
2. Added support for CPU-Register-subgroups within the register window. Specific subgroup via register tag "groupName" within SVD files.
3. Added new command "Debug.Exec (const char* sCommand)" that executes a J-Link command (see J-Link SDK user manual).
4. Added new commands "Break.SetEx (Addr, Type)", "Break.SetOnSrcEx (sLocation, Type)" and "Break.SetType (ID, Type)" that allow users to specify the implementation type of a breakpoint.
5. Added a new command "Project.SetBPType(int Type)" and System variable "VAR_BREAKPOINT_TYPE" that set the default breakpoint implementation type.

### Program corrections

1. The debugger did not display the correct register values and the correct call stack for tasks selected within the embOS task window. Fixed.
2. GHS-compiler generated source file paths could not always be resolved. Fixed.
3. Context menu action "View.Data" did not always display the correct data location for the selected symbol.

## Version 1.79 [13. Okt 2015]

### New Features

1. Source lines can now be expanded to show the affiliated instructions (inline disassembly).
2. Added BE8 and BE32 big endian program file support.
3. Added conditional breakpoint support.
4. Added x64 support on Windows, Linux and Mac OS X.

### Improvements

1. Added a new command "File.Load (const char* sFileName, U32 Address)" that downloads a data (program) file to the MCU without doing a prior hardware-reset.

### Program corrections

1. Hotkeys for welcome screen buttons were inoperable. Fixed.
2. When a document lined started with a blank, find results were not displayed correctly. Fixed.
3. Keywords embraced by curly braces where not syntax highlighted correctly. Fixed.
4. Commands Break.(x)OnSymbol were inoperative from the project file.
5. Crash when opening a project while a data breakpoint is set. Fixed.
6. Hexadecimal values could not be input for symbols of signed integer type. Fixed.
7. In situations where the PC was written to programatically, debug information windows were updated using a different PC value than the input. Fixed.
8. No command feedback was printed to the console window when editing the display format of a register. Fixed.
9. Incorrect behavior when editing the file input field of the generic memory dialog. Fixed.

## Version 1.78a [01. Sep 2015]

### Improvements

1. In case the project directory contains a J-Link script (same name as project file, but using .jlink extension) it is executed when the debug session is started.
2. Added the possibility to configure which data types display a textual representation next to their value.
3. Added a new command "Edit.DisplayFormat (Symbol, Format)" that allows users to adjust the display format of symbols or registers.
4. Added the possibility to set the display mode for each symbol individually. The context menu entry was split into entries "Display As" and "Display All As".

### Program corrections

1. Members of reference-type variables were not displayed.

## Version 1.78 [24. Aug 2015]

### Improvements

1. Symbols of type "const char*" now display the string associated with the symbol value.
2. Symbols of type "char" now display the ASCII character associated with the symbol value.
3. Symbol windows no longer contain columns "namespace" and "access" when debugging a c application.
4. Removed column "namespace" from the local data window.
5. Automatically selected peripheral svd files now include the path macro "$InstallDir" instead of an absolute file path.
6. File paths can now be specified relative to the current working directory.
7. The application executable, the libraries files and the windows installer are now digitally signed.
8. A shortcut to the user manual was added to the windows start menu.
9. When double-clicking an instruction within the instruction trace window, the affiliated source and disassembly lines are displayed within the source viewer and the disassembly window, respectively.
10. Enumeration variables no longer display child items but a value string of the form "enumerator name (const value)".
11. Added a "this pointer" to the local data window.
12. Added support for CMSIS-SVD field enumerators (tag: enumeratedValue) and tooltip descriptions.
13. Added support for CMSIS-SVD register arrays (tags: dim, dimIndex, dimIncrement).
14. Added a new command "Project.SetTifScanChain (int DRPre, int IRPre)" for JTAG scan chain configuration.
15. Added text selection capability to the instruction trace window.
16. The hotkey for step-into (F11) was replaced with F7 on Mac OS X, as F11 is usually already assigned.
17. Added a new display format "character" to the symbol windows that displays values as ASCII or unicode characters.
18. A new user preference was added to the terminal window and to the user preference dialog: "suppress control characters".

### Program corrections

1. Source files with unknown file extension could not be resolved. Fixed.
2. In case the MCU core was unknown to the debugger, the project file warning dialog displayed a needless warning message. Fixed.
3. Nested namespaces were displayed in wrong order within scoped symbol names. Fixed.
4. The memory window displayed incorrect change level highlights when scrolling the window following a program reset. Fixed.
5. Fixed a program crash due to multiple threads accessing a shared data object at the same time.
6. The value of enumeration variables was not displayed correctly in certain situations. Fixed.
7. The debugger was not able to read peripheral registers whose size was not specified within the SVD file. Fixed.
8. The debugger used a wrong path for the application directory ($AppDir) on Mac. Fixed.
9. The application crashed when accepting the device selection dialog when no device was selected. Fixed.
10. When canceling the J-Link settings dialog, settings where applied nonetheless. Fixed.
11. When the first data section of an ELF file did not start at the download segments base address, padding bytes were unintentionally downloaded to the target. Fixed.
12. Fixed multiple GUI-related bugs within the generic memory dialog. Fixed.
13. The register set description file "Cortex-A8.svd" was missing. Fixed.
14. The debugger was not able to load data files without file extension. Fixed.
15. The viewport of the instruction trace window could be scrolled over the instruction stack boundary. Fixed.
16. The windows uninstaller failed to remove the start menu folder. Fixed.
17. The windows installer failed to create a desktop shortcut. Fixed.

## Version 1.76a [11. Aug 2015]

### Program corrections

1. The debugger could not select MCU's whose name contained white spaces. Fixed.

## Version 1.76 [23. Jul 2015]

### New Features

1. Added a plugin providing FreeRTOS awareness.
2. Added C++ support.

### Improvements

1. Improved the performance of the embOS awareness plugin.
2. A hourglass cursor is now displayed while a program file is beeing opened.
3. Added C++-support to the ELF parser module and improved its performance.

### Program corrections

1. The device selection dialog did not support wildcard (*) characters in filter strings. Fixed.
2. The caret was not displayed when editing filters in the device selection dialog. Fixed.
3. On Mac, the application's dockbar icon resolution was too low. Fixed.
4. The debugger could not select MCU's whose name contained white spaces. Fixed.

## Version 1.74a [01. Jul 2015]

### Improvements

1. Empty debug information windows are grayed out and display a label informing about the device state.
2. Added directory macros $(InstallDir), $(ProjectDir), $(PluginDir), $(ApplicationDir), $(DocDir), $(LibraryDir) to the scripting interface.
3. File paths can now be specified relative to the project file-. installation- ,or program file directories.
4. Both the foreground and background colors of change levels can now be configured.
5. Added call-frame sensitivity to the register window.

### Program corrections

1. Setting the value of pointer variables could potentially lead to infinite recursion and stack overflow. Fixed.
2. The device selection dialog did not select a default device when shown. Fixed.
3. The device selection dialog filters were case-sensitive but should not. Fixed.
4. The memory window's change level highlighting was not working in situations where the window was resized and automatic update was active. Fixed.
5. An index mapping bug caused faulty register writes on ARM and Cortex-A/R devices. Fixed.
6. The instruction trace capability of the employed HW setup was determined incorrectly. Fixed.

## Version 1.74 [22. Jun 2015]

### New Features

1. The debugger now ships with a plugin that provides embOS kernel awareness.
2. Added an RTOS-kernel awareness interface to the debugger.
3. Added Mac OS X support.

### Improvements

1. The memory window now udpates change levels while the program is running and automatic update is active.
2. Added a write cache to the memory window.
3. Added user action "view.source" that displays the source code location of a symbol.
4. A message is printed to the console window when ETM (instruction) trace is not supported.
5. Added a new button "Open Existing Project" to the welcome screen.
6. The J-Link settings dialog is now also available on Linux and Mac.

### Program corrections

1. Internal memory IO functions returned an error status when in fact succeeding. Fixed.
2. When setting file path aliases, directory separators had to be specified exactly as given in the program file. Fixed.
3. Callsite highlighting was incorrect in situations where the target halted in handler mode. Fixed.
4. A refiltering of table rows in the device selection dialog was only performed after the input field lost focus. Fixed.
5. On Linux, the title of the input dialog was not fully visible. Fixed.
6. On Linux, the maximize button was displayed in a dialog's title bar but should not. Fixed.
7. After changing the access width parameter of the memory window, the window's contents were not drawn correctly. Fixed.
8. The source viewer's text selection context menu was only shown when right-clicking on the cursor line. Fixed.

## Version 1.72d [14. Jun 2015]

### Program corrections

1. Uninitialized data sections of ELF-Program-Files where downloaded and intialized with 0's. Fixed.

## Version 1.72c [09. Jun 2015]

### Program corrections

1. The call stack output on Cortex-M was incorrect when the program caught an exception. Fixed.

## Version 1.72b [13. May 2015]

### Program corrections

1. Target application RTT output could get lost. Fixed.

## Version 1.72a [11. May 2015]

### Program corrections

1. Register values were cleared on resume but should not. Fixed.
2. The start button did not work after reopening a project. Fixed.
3. Memory window change levels were not always reset correctly. Fixed.
4. Memory window change levels were not updated after a resume/halt cycle. Fixed.
5. The functions window still displayed "ghost" functions which were not linked by the compiler. Fixed.
6. SWO calibration was performed even when instruction trace was active. SWO cannot be used in conjunction with instruction trace. Fixed.
7. The debugger did not check the J-Link emulator for ETM capability when activating instruction trace. Fixed.
8. The target MCU was not halted prior to a hardware reset, which lead to J-Link firmware message boxes popping up on ARM7 MCU's. Fixed.
9. When connecting at an adaptive speed, the connection info text was set incorrectly. Fixed.
10. The command line help was displayed distorted within the console window. Fixed.
11. Font styles other than "normal" could not be set under Windows. Fixed.
12. Commands with more than 3 parameters could not be executed via the project file. Fixed.
13. Disassembly output was not correct for functions without debug information. Fixed.
14. The program crashed when entering an exception handler due to a fault within the call stack generation code. Fixed.

## Version 1.72 [07. May 2015]

### New Features

1. Added Linux OS support.

## Version 1.71g [22. Apr 2015]

### New Features

1. Added a plugin interface.

### Improvements

1. Removed system variables VAR_HW_RESET_TYPE, VAR_INIT_REGS and VAR_RESET_DELAY.
2. Resolved compilation issues on the Mac's XCode compiler.
3. Removed obsolete source files from the debugger's directory tree.
4. Data file paths can now be specified relative to the project or root directory when using command "File.Open".
5. Binary bit field strings are now divided each four bits by a white space for better readability.

### Program corrections

1. Script function "AfterTargetHalt" and plugin function "OnTargetHalt" were only executed following a go/halt cycle, but not when the program was stepped. Fixed.
2. Commands "Help.Manual" and "Project.SetOSPlugin" were not printing error messages to the console window when input file paths could not be resolved. Fixed.
3. Structure types were not resolved correctly when specified as "declarative" within the ELF program file. Fixed.
4. The register window unintentionally displayed flag symbolizers for peripheral registers. Fixed.
5. Command feedback for command "Target.WriteU16" was displayed as "Target.WriteU32". Fixed.

## Version 1.71f [14. Apr 2015]

### New Features

1. Added commands that return principal program addresses: "Elf.GetBaseAddr", "Elf.GetEntryPointPC" and "Elf.GetEntryFuncPC".

### Improvements

1. The project wizard now generates the script function "AfterTargetDownload" per default when a Cortex-M target device is selected. Within that function, the command "Elf.GetBaseAddr" is used to resolve the reset vector.
2. Updated the employed Qt software library to version 6.8.6.

### Program corrections

1. The parsing of command lines could fail when using brackets within parameter strings. Fixed
2. The debugger was performing a reset when a project was opened from a running debug session. Fixed.
3. The instruction trace window did not clear the selected line when loosing focus. Fixed.
4. ELF-API function "GetEntryPointPC" was possibly returning an uneven address (thumb bit set). Fixed.
5. MCU memory could not be written to while the CPU was running. Fixed.
6. It was not possible to drop items onto undocked windows. Fixed.
7. The call stack window did not unwind exception frames correctly. Fixed.
8. Signed integer values of 1, 2 and 8 bytes were not displayed as signed within the symbol windows. Fixed.
9. CMSIS-SVD file bit-field patterns where parsed as [LSB:MSB] but should be parsed as [MSB:LSB]. Fixed.
10. Command "Target.WriteU16" and "Target.WriteU8" were accessing target memory word-wise. Fixed.

## Version 1.71e [16. Mar 2015]

### Program corrections

1. When executing commands such as "Project.SetTargetIF" in offline mode, a connection to the target device was established. Fixed.
2. When stepping the program, the disassembly window did not clear the PC line. Fixed.
3. The terminal settings dialog did not display correct values and SWO data output was broken. Fixed.
4. The instruction trace window did not update correctly following a Step-Over. Fixed.
5. The instruction trace window did not display content immediately after connecting to the target device. Fixed.
6. When editing a variable within a symbol window, the source viewer unexpectedly jumped to the variables source code declaration location. Fixed.

## Version 1.71d [18. Feb 2015]

### New Features

1. Added an user manual. The user manual can be opened from the help menu.

### Program corrections

1. The project wizard did not out comment script function "AfterTargetDownload" by default. This function is only needed for RAM debug. Fixed.
2. When no source file root path was specified, relative file paths could not be resolved. Fixed.
3. The register window was not updating correctly when undocked from the main window. Fixed.
4. The values of double-type variables were not displayed correctly. Fixed.

## Version 1.71c [28. Jan 2015]

### Improvements

1. Added support for Cortex-M7 MCU's.

## Version 1.71b [20. Jan 2015]

### Improvements

1. Added commands supporting file path resolution: "SetRootPath", "AddFileAlias", "AddSearchPath" and "AddPathSubstitute".

## Version 1.71a [05. Jan 2015]

### Improvements

1. The memory IO read/write chunk size is now adjusted according to the currently set target interface speed.
2. When the PC line is invisible and is automatically scrolled into view following a step or halt, the PC line is now set to approx. 25% editor height.
3. Added console text color options to the user preference dialog.
4. Improved the performance of the local data window when in auto mode.
5. Improved the parsing time of ELF mapping symbols.

### Program corrections

1. When scrolling a document to the PC line, the selected line highlight was positioned wrongly. Fixed.
2. The memory window's scrolling behavior was impaired due to a value conversation bug. Fixed.
3. A synchronization error lead to hard faults during the connect sequence when connecting at a very low target interface speeds. Fixed.

## Version 1.71 [18. Dec 2014]

### New Features

1. Added support for ARM7, ARM9, ARM11, Cortex-A and Cortex-R target devices.

### Improvements

1. The register window now displays flag indicator strings for registers.
2. The register window now displays the current CPU operating mode.
3. The project wizard now generates the script function "AfterTargetDownload" only when a Cortex-M device is selected.
4. Added an option to display all global data referenced within the current function to the local data window (auto mode).
5. Improved the stepping performance.

### Program corrections

1. In certain situations, variables declared as volatile were not updated correctly. Fixed.
2. The memory window's auto refresh feature was not disabled when debugging on MCU's without background memory access.
3. Items in color selection dropdown lists were not sorted. Fixed.
4. The debugger's MCU data cache was not cleared when executing command "Exec.Reset()". Fixed.
5. In certain situations, the call stack window columns did not auto-resize to contents. Fixed.
6. The global data window was switching to update mode "always" after having displayed a value tooltip. Fixed.
7. In certain situations, memory window change levels were not cleared when resetting the program to main. Fixed.
8. Prior to performing instruction disassembly, no check was performed if the CPU was halted. Fixed.
9. In certain situations, the function "Connect" internally signaled a success even when the connection failed. Fixed.
10. Semihosting command "SYS_READ" returned an error code even when the command was successfully executed. Fixed.
11. Special register names such as SP,PC or LR could not be used as register command parameters when a Cortex-M device was selected. Fixed.
12. A bug prevented memory blocks to be divided into chunks when writing or reading large memory blocks. Fixed.
13. While stepping in the disassembly window, the PC line was possibly hidden behind the horizontal scrollbar. Fixed.
14. Target interface speed "adaptive" could not be set via command "Edit.SysVar". Fixed.
15. The user interface and progress bar were not responsive when downloading large data files to the target device. Fixed.
16. When calling the same API function from different threads, callers were notified about job completion too early. Fixed.
17. When a custom connection routine was specified within the project file, code and data breakpoints where not applied. Fixed.
18. When the target MCU resumed unexpectedly (for ex. due to a J-Link firmware error), the debugger's CPU state knowledge differed from the actual CPU state. Fixed.
19. The debugger performed unaligned word accesses to target memory when disassembling thumb-instructions. Fixed.
20. It was impossible to set multiple data breakpoints with different parameters on identical memory address ranges. Fixed.
21. Floating-point variables could not be edited via the symbol windows. Fixed.
22. Fixed a possible infinite loop situation when loading project files that included loop control structures. Fixed.
23. The function window was displaying "ghost" functions that were not linked by the compiler. Fixed.
24. When a data file was reloaded after modification, the target MCU was not hardware-reset properly. Fixed.

## Version 1.69 [01. Dec 2014]

### New Features

1. Added data breakpoint support.

### Improvements

1. Action "View.Data" was previously only available for top level symbols of the symbol tree and is now available for symbol members as well.
2. The new project wizard's peripherals file selection box was set to be editable.
3. Guarded ELF-API functions against access with invalid pointer parameters.
4. Changed the peripheral register updating method from a block-wise to a register-wise on-demand scheme.
5. The register window now displays "--------" instead of an empty field if a register value could not be read.
6. Added the context menu item "View Data" to the register window (for use with peripheral registers).
7. The symbol windows now display a breakpoint icon if a data breakpoint is set on a symbol.
8. The debugger now uses firmware-pre-analyzed SWO data instead of performing the SWO data analysis itself.
9. Debug probe is now queried for SWO capability when determining if the hardware setup supports SWO.
10. RTT is now automatically enabled when the HW setup supports it and when it has not been explicitly disabled by the user.

### Program corrections

1. Context menu actions in the data breakpoint window were performed for the wrong item after the breakpoint list was sorted. Fixed.
2. Fixed a bug regarding the resolution of active data breakpoint handles. Fixed.
3. Local symbols were not updated when the local data window was invisible. Fixed.
4. The last cursor position was stored with an offset of 1 line when switching between documents. Fixed.
5. The application was possibly crashing while in a debug session and when opening a project file. Fixed.
6. Local variables were removed from the watched data window when going out of scope. Fixed.
7. When restoring the saved state of a window, scrollbar positions and column sizes were not restored correctly. Fixed.
8. Fixed a wrong status return value when reading memory word-wise that led, amongst other things, to incorrect disassembly output.
9. Using "Set Next PC" from the disassembly window was delegating focus to the source viewer. Fixed.
10. "File->New Project" was not creating a standard project file. Fixed.
11. Action "View.Disassembly" did not select the correct instruction when activated from the source viewer. Fixed.
12. Clicking a function within the source viewer did not cause the local data window to adopt to the corresponding call frame. Fixed.
13. In certain situations, data locations of local variables were not updated correctly. Fixed.
14. Function "ELF_GetGlobalVarCount" returned incorrect values. Fixed.
15. In certain situations, a deadlock occurred when opening a new project while the CPU was running. Fixed.
16. Fixed a runtime error in the memory window when scrolling via Page Up/Down.
17. Breakpoint hotkeys were not working when the breakpoint window was not visible. Fixed.
18. The register window update was taking very long (multiple seconds). Fixed.
19. In certain situations, windows were failing to update correctly after performing a reset & halt. Fixed.
20. The breakpoint window lost its context column information when the source file of a breakpoint was closed. Fixed.
21. SWO or RTT capture were not disabled when their activation failed. Fixed.
22. The RTT data buffer was not flushed prior to activating RTT. Fixed.
23. SWO, Semihosting and RTT were not enabled by default. Fixed.
24. The Find/Replace-dialog's search setting "match whole word" was inoperable. Fixed.
25. The Find/Replace-dialog did not save the current search settings. Fixed.
26. The table header context menu was not opened on right click onto table header. Fixed.
27. The disassembly window did not highlight the PC line after a run to main and debugging in RAM. Fixed.
28. The source viewer did not receive focus on the first reset to main. Fixed.
29. The watched data window lost its item expansion state after a resume/halt cycle. Fixed.
30. The memory window showed wrong address selection behavior when displaying 4 or 2 bytes per item. Fixed.
31. Change Levels were not cleared after a reset to main. Fixed.
32. User input to the memory window did not affect symbol window display values. Fixed.

## Version 1.67d [18. Nov 2014]

### Program corrections

1. Changing the target interface speed parameter had no immediate effect when connected. Fixed.

## Version 1.67c [13. Nov 2014]

### Program corrections

1. The program crashed when trying to read SWO data from a target device that does not support SWO. Fixed.

## Version 1.67b [12. Nov 2014]

### Improvements

1. Added a peripheral register set description (.svd) file selection box to the new project wizard.

### Program corrections

1. A missing CPU register set description file was not indicated by the project warnings dialog. Fixed.

## Version 1.67a [12. Nov 2014]

### Program corrections

1. The debugger crashed when trying to open a project file containing syntax errors. Fixed.

## Version 1.67 [11. Nov 2014]

### Improvements

1. Renamed command "Break.SetOnLine" to "Break.SetOnSrc".
2. Reworked the scripting API.

### Program corrections

1. Script function "AfterTargetConnect" was called at an incorrect time during the connect sequence. Fixed.
2. SWO and RTT were activated on debug session start even when having been disabled from the project file. Fixed.
3. Writing to target memory was disabled when the target was not halted. Fixed.
4. Command "Edit.SysVar" emitted incorrect command feedback. Fixed.
5. The debugger crashed when downloading a data file via command "Exec.Download". Fixed.
6. The debugger ran into a deadlock when canceling the connection sequence at a popup dialog. Fixed.
7. Incorrect behavior when double clicking an item of the functions window. Fixed.
8. Wrong command feedback emitted when closing a window. Fixed.

## Version 1.65 [Internal.]

### New Features

1. Added a navigation history to the source viewer.
2. Added a context menu entry "view data" to the symbol windows that navigates to a symbol's data location.
3. Added a debugger API that can be invoked from the command line or project file.
4. Project file scripting support.

### Improvements

1. Added .xml as recognized extension of peripheral register files.
2. Added support for adding multiple peripheral files to the register window (instead of only one) and changed command "Project.SetPeripheralFile" to "Project.AddPeripheralFile".
3. Added support for colorized console text.
4. Activating context menu entry "View source" on local symbols without source line information now jumps to the symbol's parent function instead.
5. Separated command "Debug.SetNextPC(...)" into "Debug.SetNextPC (address)" and "Debug.SetNextStatement (source location)" for easier use as scripting commands.
6. Reworked the way the console window performs asynchronous text output.
7. Reworked the syntax and feedback messages of multiple commands.

### Program corrections

1. The memory window's address dialog could only be opened once. Fixed.
2. In certain situations, the value of peripheral registers was not displayed correctly. Fixed.
3. Fixed a runtime error within the xml module.
4. There was a highlighting artifact when modifying the PC via the WriteRegister command. Fixed.
5. Non-monospaced fonts were causing incorrect alignments in the source viewer and other windows. Fixed.

## Version 1.63 [05. Nov 2014]

### New Features

1. Added a new source viewer context menu entry "set next statement".
2. Added three new connection modes: download & debug, attach to running application and attach & halt.

### Improvements

1. The local data window now remembers its item expansion state when switching between functions.
2. Added a horizontal scrollbar to the disassembly window.
3. Improved memory value caching.
4. Icons colors now adapt to changes in user color preferences.
5. Added support for floating-point frequency names, for ex. "104,34 kHz".
6. Frequency-related system variables are now showing their dimension.
7. Added support for cross-session persistent GUI preferences.
8. The find-dialog now adopts the selected text as search string and focuses the search text box when opened.

### Program corrections

1. In certain situations not all breakpoints were cleared during disconnect. Fixed.
2. Memory access was allowed when an MCU without background memory access was configured and the CPU was running. Fixed.
3. Breakpoint commands were disabled when they should not be. Fixed.
4. Breakpoint commands did not accept source location parameters of the form "main.c:27". Fixed.
5. Actions "BP.set" and "Bp.clear" used the same hotkey when contained in the same menu. Fixed.
6. The memory window's address box did not update according to the text input. Fixed.
7. The memory window did not align its editor address to the row byte size when the window was enlarged. Fixed.
8. The main window title was not updated after loading a new data file. Fixed.
9. The main window title was not updated when connecting to the target device. Fixed.
10. The context menu for action "watch symbol" was popping up twice. Fixed.
11. The title of the locals data window was not updated according to the selected function. Fixed.
12. Windows were unintentionally receiving focus when using the mouse scroll wheel. Fixed.
13. The debugger missed to delegate the focus to the disassembly window in certain situations. Fixed.
14. Step-Over and Step-Into did not respect user-set breakpoints. Fixed.
15. In certain situations, the debugger failed to display local variables at call-sites correctly. Fixed.
16. The call stack window remained empty in certain situations. Fixed.
17. Table grid lines around tree branch indicators were displayed in wrong color. Fixed.
18. When reloading the application data file, all source documents were closed. Fixed.
19. Source files were not reloaded when the application data file was reloaded. Fixed.
20. The start debug button remained in down-state when start was canceled. Fixed.
21. Fixed a memory leak in the ELF parser module.
22. Opening a source file caused the debugger to halt the CPU. Fixed.
23. Selecting items in the system variable editor caused multiple non-related commands to be executed. Fixed.
24. The project file was modified after executing certain commands. Fixed.

## Version 1.59 [23. Sep 2014]

### New Features

1. Added a GUI-preferences dialog allowing the configuration of fonts, colors and other options.
2. Added callframe sensitivity to the debugger. The local data window and the register window now adapt output to the selected call stack frame.

### Improvements

1. The source viewer now displays the values of variables in a tooltip when hovering over variable names within the source text.

## Version 1.57 [11. Sep 2014]

### Improvements

1. Added DWARF V4 type unit support.

## Version 1.55c [09. Sep 2014]

### Improvements

1. Improved the algorithm used to resolve the source line affiliated with a machine instruction.
2. Added the option to display source line numbers.

### Program corrections

1. Missing syntax highlighting for compiler directives "elif", "elif defined" and "if defined". Fixed.
2. Missing source line highlighting when single-stepping the application. Fixed.

## Version 1.55b [08. Sep 2014]

### Improvements

1. The breakpoint window now displays source line breakpoints that map to multiple machine instructions as expandable table items.

### Program corrections

1. The command "view.source" did not emit console feedback. Fixed.

## Version 1.55a [04. Sep 2014]

### Improvements

1. Changed the size of breakpoint icons.

### Program corrections

1. Setting source code breakpoints in inline expanded functions did not set the breakpoint on all affected machine instructions. Fixed.

## Version 1.55 [03. Sep 2014]

### Improvements

1. Added a "watch" context menu entry to the watched data window.
2. Added support for inline function expansions.

### Program corrections

1. Symbols that went out of scope were still displaying location and value. Fixed.
2. Pointer members were resetting their change levels (color highlighting) whenever getting updated. Fixed.
3. Variables declared as "artificial" within the ELF program file were nonetheless included in the global / local data windows. Fixed.

## Version 1.53a [01. Sep 2014]

### Program corrections

1. The uninstaller selected a wrong installation folder. Fixed.

## Version 1.53 [28. Aug 2014]

### New Features

1. Disassembly Window now supports a "mixed mode" view.

### Improvements

1. The local data window now auto-resizes the location column whenever a symbol location changes.
2. Removed syntax highlighting from the function- and source file windows.
3. Disassembled instructions are now cached to improve performance.

### Program corrections

1. When using command "view.source" from the console window, the selected source line was not always highlighted. Fixed.
2. The local data window did not display array variable members properly in situations where a variable left and re-entered scope. Fixed.
3. When the CPU halted on a source line, focus automatically jumped from the disassembly window to the source code window. Fixed.
4. When a machine code address maps to multiple source lines, a breakpoint on that address was displayed on the last source line instead of the first one. Fixed.

## Version 1.51b [08. Aug 2014]

### Program corrections

1. Bug in command "Step-Over". Fixed.
2. Source viewer syntax highlighting showed artefacts when quotation marks in strings were encountered. Fixed.

## Version 1.51a [07. Aug 2014]

### New Features

1. Automatic change detection and reload of modified application file.

### Program corrections

1. Incorrect console feedback when a command was executed with an incorrect number of parameters. Fixed.
2. In some situations, the terminal window was missing RTT-output. Fixed.

## Version 1.51 [04. Aug 2014]

### Program corrections

1. Timeline window output may not be accurate in the particular situation where the target was interrupted in executing a stack-altering or branch-type machine instruction (in order to handle an IRQ). The J-Link team is currently working on a solution to this problem.
2. The debugging experience might be impaired when debugging compiler-optimized program code. This is not a bug in the software but rather a result of information loss during the compilation phase. It is advised to recompile programs with optimizations turned off prior to debugging the program. See your compiler's user manual for further information on how to disable code optimization.
3. The layout of window elements might be impaired on high resolution displays such as MacBook's Retina. The Ozone team plans to eliminate this shortcoming in the near future.
4. None.

## Known problems/limitations

1. The layout of window elements might be impaired on high resolution displays such as MacBook's Retina. The Ozone team plans to eliminate this shortcoming in the near future.
2. The debugging experience might be impaired when debugging compiler-optimized program code. This is not a bug in the software but rather a result of information loss during the compilation phase. It is advised to recompile programs with optimizations turned off prior to debugging the program. See your compiler's user manual for further information on how to disable code optimization.
3. Timeline window output may not be accurate in the particular situation where the target was interrupted in executing a stack-altering or branch-type machine instruction (in order to handle an IRQ). The J-Link team is currently working on a solution to this problem.
4. The code windows may exhibit font kerning artifacts when a non-monospace font is used.