The Embedded Experts

# Release notes for Ozone - the J-Link Debugger

## Version 3.34 [16 May 2024]

### New Features

1. Added custom toolbar
2. Add stack unwinding based on instruction analysis rather than DWARF information in ELF file.

### Improvements

1. Upgraded to J-Link V7.96h

### Program corrections

1. Linux shared object file for RISC-V support may have crashed. Fixed.

## Version 3.32a [14 Mar 2024]

### Improvements

1. Upgraded to J-Link V7.96.
2. Improve error handling in FreeRTOS plugins.

### Program corrections

1. Symbols with short data types may not be displayed in hexadecimal format in symbols windows (regression since version 3.32). Fixed.
2. The entries inside a dropdown field or context menu might have been cut off in height on MacOS. Fixed.

## Version 3.32 [22 Feb 2024]

### New Features

1. Added support for RISC-V semihosting operating on EBREAK trap.
2. Added option for step over halting in same function context (call frame).

### Improvements

1. Upgraded to J-Link V7.94k
2. Store/restore data graph visibility in .user-file.
3. Added support for bit-fields in structs in local data, global data and watched data windows.
4. Consider all file names originating in ELF file as source files. Dismiss list of file name extensions for that purpose.
5. Added Ozone for Windows on Arm.

### Program corrections

1. Some registers for the DWT peripheral in Cortex-M3/M4/M4F/M7/M7F may have been incorrect. Fixed.
2. Projects resulting from command-line parameters and new project wizard may have differed. Fixed.
3. Functions window may have shown garbled content after reloading ELF file that changed in the background. Fixed.
4. PC on ARMv8 AArch32 may temporarily have had wrong value during debug start. Fixed.
5. RISC-V Andes DSP ISA extension instructions may have been disassembled incorrectly. Fixed.
6. Instructions VMAXNM and VMINNM may have been disassembled incorrectly for ARM T1 encoding. Fixed.
7. Current visibility state of toolbar in watched data window may not have been correctly stored to/restored from user file. Fixed.
8. Elf.GetExprValue() may not have returned the correct value for bit-field members. Fixed.

## Version 3.30d [01 Dec 2023]

### Improvements

1. Added instructions from ARM PACBTI extension to disassembler.
2. Add option for specifying stimulus ports for SWO in trace dialog.
3. "Project load diagnostics" dialog proposes FreeRTOS script suitable for selected processor architecture.
4. Enable "project load diagnostics" when launching Ozone with project definition specified by command line parameters (e.g. from within Embedded Studio).
5. Upgraded to J-Link V7.94.
6. Add option allowing to download program into virtual addresses rather than physical addresses.
7. Add ".arm" to list of file name extensions indicating source code.

### Program corrections

1. Remove plugin name and page name from CSV file created by SmartView window export.
2. Exporting SmartView window contents may not have worked as expected. Fixed.
3. "Target connection lost" dialog and "reload program file" dialog may not have been displayed in case the other dialog was shown when the respective event occurred. Fixed.

## Version 3.30c [19 Oct 2023]

### Improvements

1. Upgraded to J-Link V7.92k.
2. Added support for storing timeline window scaling factors in .user file.
3. Added scaling factors in range ]0..1] to data graph legend in timeline window, thus supporting downscaling of graphs.
4. Added support for loading multiple DASM plugins.
5. Added disassembly support for RISC-V Zfh standard instruction set extension.
6. Added support for RISC-V Zdinx standard instruction set extension.
7. Added support for RISC-V Zfinx standard instruction set extension.
8. Added support for MNRET instruction from RISC-V SMRNMI standard instruction set extension.
9. Added support for RISC-V Zba standard instruction set extension.
10. Added support for RISC-V Zbb standard instruction set extension.
11. Added support for RISC-V Zbc standard instruction set extension.
12. Added support for RISC-V Zbkb standard instruction set extension.
13. Added support for RISC-V Zbkc standard instruction set extension.
14. Added support for RISC-V Zbkx standard instruction set extension.
15. Added support for RISC-V Zbs standard instruction set extension.
16. Improve calculation of stack usage for RISC-V.

### Program corrections

1. Relative paths in ELF files with DWARF-5 debug information may not have been handled properly. Fixed.
2. Fixed invalid mnemonic in PULP DASM script.
3. Invalid string may have been passed to Ozone project script function OnError(). Fixed.
4. DASM script function printInstAsm() may have been invoked with invalid parameters. Fixed.

## Version 3.30b [14 Aug 2023]

### Improvements

1. Upgraded to J-Link V7.92.
2. Added support for 64-bit CP15 registers.
3. Added CP15 registers to ARMv8-A/R core's SVD files.
4. Improve display of time stamps in find results window tabs showing results from instruction trace window.

### Program corrections

1. Instruction coverage in Profiling window may have displayed incomplete information for RISC-V. Fixed.
2. Resolving symbol locations in substituted file locations with relative paths may not have worked properly. Fixed.
3. Content of watched data window may not have been restored upon reload of Ozone project. Fixed.
4. Filter applied in filter bar may have changed when navigating to table via [down-arrow] key. Fixed.
5. RTOS window may have read information from target while target is running. Fixed.
6. Some ARM64 CP15 registers may have not been supported properly. Fixed.
7. Drag and drop in watched data window might not have worked as expected. Fixed.
8. Normal function call may have been considered a tail call in special cases, disturbing display in code pane of Timeline window. Fixed.

## Version 3.30a [29 Jun 2023]

### Improvements

1. Upgraded to J-Link V7.88j.
2. Add option to J-Link settings dialog allowing to set or select the J-Link script.

### Program corrections

1. LocLists and RangeLists in DWARF5 information may have been handled incorrectly. Fixed.
2. Some DWARF5 attributs may not have been handled properly. Fixed.
3. Ozone may have crashed when loading ELF file. Fixed.
4. Tables in console window may have shown garbled layout. Fixed.
5. Sampling frequency may not have been displayed correctly in drop-down fields of some windows. Fixed.
6. Expressions in watched data window may not have been restored correctly. Fixed.
7. Console window may have shown distorted display for variable width fonts. Fixed.
8. Toolbar setting for memory windows in .user file may have been ignored. Fixed.

## Version 3.30 [06 Jun 2023]

### New Features

1. Added support for debug information in DWARF-5 format

### Improvements

1. Upgraded to J-Link V7.88e.
2. Add width information to fill memory dialog in memory window.
3. Add support for ELF/DWARF tag indicating a variable being uninitialized.
4. Added vertical zooming and vertical scrolling via mouse scroll wheel to timeline window.
5. Add UTF-8 support for SVD files.

### Program corrections

1. Some FPU registers may not have supported change level highlighting. Fixed.
2. VLDRW and VSTRW instructions may have disassembled incorretly. Fixed.
3. Binary display of float or double registers in registers window may have been empty. Fixed.
4. Ozone may have crashed when loading ELF file with gap at the end of a code section. Fixed.

## Version 3.28e [28 Mar 2023]

### Improvements

1. Upgraded to J-Link V7.86e.
2. Added option for showing expressions and variable names in data pane of timeline window near hover cursor
3. Paint fat borders for value boxes in data graphs in timeline window.
4. Pre-fill "Set Y-Axis Range" dialog in timeline window with current viewport range rather than current value range.
5. Do not show mapping symbols in functions window.
6. Improve color palette used in timeline window for better distinctness of graphs.

### Program corrections

1. Apple M1 installer might have requested Rosetta. Fixed.

## Version 3.28d [01 Mar 2023]

### Improvements

1. Add build for Apple M1.
2. Upgraded to J-Link V7.86a.
3. Upgraded to J-Link V7.86b.
4. Upgraded to embOS-Plug-In V5.18.0.0, plug-in revision 2.
5. Upgraded to embOSUltra-Plug-In V5.18.0.0, plug-in revision 2.
6. Display path to J-Link library in J-Link settings dialog.

### Program corrections

1. Editing value in watched data window may have created new item in same window. Fixed.
2. When exporting huge register files some registers may have appeared as "not updated" in the CSV file. Fixed.
3. Source viewer may have handled zero tab spacing incorrectly. Fixed.
4. ASCII/non-text characters may have been treated incorrectly in terminal window when using semihosting. Fixed.
5. Some ARM instructions were disassembled incorrectly, some alias instructions were neglected. Fixed.
6. Cortex-R7 and Cortex-R8 may not have been handled properly. Fixed.

## Version 3.28c [02 Jan 2023]

### Improvements

1. Upgraded to J-Link V7.84a

### Program corrections

1. Handling of quotes in exported CSV files may have been incorrect. Fixed.
2. Selection in inline disassembly lines may have been 5 characters short. Fixed.
3. Inline disassembly expansion did not collapse when the respective preference is disabled. Fixed.
4. Expansion brace in source viewer may not have been displayed correctly. Fixed.
5. Some MVE shift instruction may have been disassembled incorrectly. Fixed.
6. Switching tasks in RTOS window may have provided incorrect call stack. Fixed.
7. Context menu may not have shown if mouse was not moved to a different position. Fixed.
8. Context menu did not show up on MacOS Ventura. Fixed.

## Version 3.28b [07 Dec 2022]

### Improvements

1. Upgraded to J-Link V7.82e.
2. Upgraded to EmbOS-Plug-In V5.18.0.0, plug-in revision 1.
3. Display warning in case DWARF5 debug information is encountered.
4. Added preference "String display limit" that specifies the maximum number of characters when displaying strings in local data, global data and watched data windows.
5. Added option allowing selection of Unix style wildcards and regular expressions in find dialogs and widgets.
6. Treat files with extension ".abs" as ELF files
7. Improve key navigation around the filter bar and total value bar.

### Program corrections

1. Editing in hex view of memory window did not always work as expected. Fixed.
2. Code profile window may have displayed empty columns when entering or leaving debug session. Fixed.
3. Column "Function" not always populated when exporting code profile information into CSV file. Fixed.
4. Ozone may have mistakenly reported an error when changing TargetCmdLine setting via Project.ConfigSemihosting(). Fixed.
5. Deeply nested structures may have caused excessive runtime when filtering elements in symbols window. Fixed.

## Version 3.28a [02 Nov 2022]

### Improvements

1. Upgraded to J-Link V7.82a.
2. Display cursor position and selection information of memory window in status bar.
3. Add path for files with duplicate name in code profile window and code profile export dialog.
4. User manual update: Added notes on breakpoint callback functions not being supported for data breakpoints.
5. Improve place of selection after adding and removing an expression in watched data window.

### Program corrections

1. Spaces (" ") were displayed as dots (".") in right pane of memory window. Fixed.
2. VLD3 and VST3 may have been disassembled incorrectly for ARM. Fixed.
3. Tabs may have been handled incorrectly in source viewer window. Fixed.
4. Periodic refresh dialog in memory window did not show the currently set refresh period. Fixed.
5. Automatic update of peripheral registers in register window sometimes failed. Fixed.
6. Column "Auto" in registers window may not have appeared in column list of table header context menu in case J-Link connection was not established. Fixed.
7. Long delays when resetting device may have been observed under certain circumstances. Fixed.
8. Reset & Break at Symbol left PC on reset handler rather than symbol/main() under certain circumstances. Fixed.

## Version 3.28 [07 Oct 2022]

### New Features

1. Added SmartView window.
2. Added support for multiple flash loaders per flash bank.

### Improvements

1. Upgraded to J-Link V7.80d.
2. Added script functions targetInterface.getRegister(), targetInterface.setRegister() and TargetInterface.pokeWord().

### Program corrections

1. Automatically loading huge CSV file after export may have consumed excessive time. Fixed.
2. Column "Label" may not have been quoted when exporting instruction trace to CSV file. Fixed.
3. Ozone may have crashed when loading a JavaScript plugin with special characters. Fixed.

## Version 3.26i [21 Sep 2022]

### Improvements

1. Upgraded to J-Link V7.80a.
2. Updated embOS-plugin.
3. Added embOS-Ultra-plugin.
4. Added new directory macros for date and time.
5. Display bit positions of bit fields in formerly empty address column of register window.
6. Added a disassembly plugin for AUCU AU3x cores.

### Program corrections

1. Tabs were not handled properly under all circumstances in Editor. Fixed.
2. 1st instruction of a function may have been part of inline disassembly of last line of previous function. Fixed.
3. Hitting [End] key in source viewer/editor window may not have changed the Y-position set by mouse click. Fixed.
4. When exporting code profile window to CSV format sometimes quotes were missing. Fixed.
5. Exporting registers window did not always create expected file contents. Fixed.
6. Surplus arrow may have been displayed in informational views in RTOS window. Fixed.

## Version 3.26h [07 Jul 2022]

### Improvements

1. Upgraded to J-Link V7.66f.
2. Add functionality to execute J-Link commands right before or right after JLink connection is opened.
3. Allow enabling and disabling all break points, watch points and trace points in one go.

### Program corrections

1. Project file and other files not referenced in ELF file may not have been handled properly when editing in Ozone. Fixed.

## Version 3.26g [23 Jun 2022]

### Improvements

1. Upgraded to J-Link V7.66d.
2. Added tick character as block separator for decimal, hexadecimal and binary numbers.
3. Offer reloading project after saving modified project file.

### Program corrections

1. Block separator selected in preferences dialogue was not used in binary string creation. Fixed.
2. Messages from scripts may not have been written to log file. Fixed.
3. Segement info table displayed after loading ELF file may have been misaligned. Fixed.
4. Vector handlers executing in THUMB state were not properly displayed as IRQs in Timeline window. Fixed.
5. Memory consumption may have increased after losing connection to J-Link or target. Fixed.
6. Opening files not referenced in ELF file may not have worked for files with same name in different folders. Fixed.
7. Duplicate tabs in source viewer may open in case of file alisases being used. Fixed.
8. Exporting into a file already opened in source viewer did not reload that file. Fixed.
9. Invoking Script.Exec() with one or more parameters may have caused a crash. Fixed.

## Version 3.26f [02 Jun 2022]

### Improvements

1. Upgraded to J-Link V7.66b.
2. Add Support for Cortex-M85.
3. Add SVD-file for Cortex-M55 and Cortex-M85.
4. Removed thousands separators when editing value in watched data, local data and global data window.

### Program corrections

1. Some fonts were rendered incorrectly on MacOS. Fixed.
2. Window displaying source file no longer referenced in ELF file could not be closed. Fixed.
3. ARMv8 registers may have been displayed incorrectly in registers window. Fixed.
4. Timestamp added to file header of project file may have contained wrong month. Fixed.
5. Expressions containing dereferenced pointers may not have updated correctly in watched data window. Fixed.

## Version 3.26e [21 Apr 2022]

### Improvements

1. Upgraded to J-Link V7.64c.
2. Register window keeps layout in case the ELF file is reloaded.
3. Add support for CP15 registers in ARMv8 cores.

### Program corrections

1. Editing CPU frequency for SWO in Trace Settings dialog may not have worked as expected. Fixed.
2. ARM disassembler may not have displayed comment with address for PC-relative ADD. Fixed.
3. Code profile window may have handled source files with functions residing in different memory regions incorrectly. Fixed.
4. Symbol windows may not have displayed references correctly. Fixed.
5. Expressions in watched data window may not have been updated under certain circumstances. Fixed.
6. Global data, local data and watched data windows may not have allowed expanding inherited members under certain circumstances. Fixed.

## Version 3.26d [28 Mar 2022]

### Improvements

1. Upgraded to J-Link V7.62c.
2. Upgraded embOS Plugin for embOS 5.16.0.
3. Added export feature to terminal window.
4. Print Ozone version to console window and log file upon start-up.

### Program corrections

1. Context menus for some windows may not have offered all options. Fixed.
2. Addresses of inherited class members may have been calculated incorrectly. Fixed.
3. Tab names and Window names have not always been consistent. Fixed.

## Version 3.26c [28 Feb 2022]

### Improvements

1. Upgraded to J-Link V7.62c.
2. Upgraded embOS Plugin for embOS 5.16.0.
3. Added export feature to terminal window.
4. Print Ozone version to console window and log file upon start-up.

### Program corrections

1. Context menus for some windows may not have offered all options. Fixed.
2. Addresses of inherited class members may have been calculated incorrectly. Fixed.
3. Tab names and Window names have not always been consistent. Fixed.

## Version 3.26c [28 Feb 2022]

### Improvements

1. Upgraded to J-Link V7.62a.

### Program corrections

1. Ozone may have stalled after some time of operation. Fixed.
2. Data sampling window statistics may have been incorrect. Fixed.
3. Watch window toolbar items did not always work properly. Fixed.
4. Attribute 'modifiedWriteValues' in SVD files may have beend ignored. Fixed.
5. Reading SP/PC registers from Cortex-R52 target may have failed. Fixed.
6. Function template for ARMv8A/R cores may not have worked out-of-the-box. Fixed.
7. Fix Support for ARMv8A/R

## Version 3.26b [17 Jan 2022]

### Improvements

1. Upgraded to J-Link V7.60c.

### Program corrections

1. Writing register bit fields may not have correctly treated attribute 'modifiedWriteValues' from SVD file. Fixed.
2. QuickFind widget may not have displayed the correct function in source window and disassembly window. Fixed.
3. "Show Disassembly" invoked from within Functions window may have resulted in Disassembly window jumping to wrong address. Fixed.
4. Project wizard may have created wrongly commented out functions in project file. Fixed.
5. RISC-V RV64I instructions may not have been disassembled correctly. Fixed.
6. Function pointers referenced in watched data, local data or global data window did not show the function name. Fixed.
7. No trace may have been recorded after reset during active debug session until main() is reached. Fixed.

## Version 3.26a [13 Dec 2021]

### Improvements

1. Upgraded to J-Link V7.58e.
2. Provide dedicated Aarch32 and AArch64 SVD files for ARMv8A/R cores
3. Legacy RTOS plug-in DLLs removed.

### Program corrections

1. New project Wizard did not provide a meaningful option for RISC-V processors without instruction set extension. Fixed.
2. Disassembly window may have malfunctioned when switching from one project to another or when switching to a project not having a program file. Fixed.
3. Export.CodeProfile() may have created report containing additional functions with similar names. Fixed.
4. Register-Bitfields which span over 2 bits or more and posess enumerator values may not have worked properly. Fixed.
5. Some RISC-V instructions were disassembled incorrectly. Fixed.
6. Register at address 0xFFFFFFFC may have been inaccessible in registers window. Fixed.
7. Exporting window contents for windows not in posession of export functionality may have returned meaningless error. Fixed.
8. Memory window title did not always reflect the displayed address. Fixed.
9. Writing files to inaccessible folders may have failed silently. Fixed.
10. Ozone may have crashed when ELF file opening failed. Fixed.
11. Header bar in source editor window may have been shown for non-source code files. Fixed.

## Version 3.26 [29 Nov 2021]

### New Features

1. Added export feature to source viewer window.
2. Added script function AfterProjectLoad().

### Improvements

1. Add support for ARMv8A/R-Cores.
2. Upgraded to J-Link 7.58c.
3. Improve changing data in target memory while target is running.
4. Display sign-extended immediate values as unsigned hex numbers in RISC-V disassembly.
5. Rename Zephyr plug-in

### Program corrections

1. Loading files from paths with special characters may not have worked. Fixed.
2. Crash dump was not always created in directory specified in user's manual. Fixed.
3. JLink script was loaded only after JLinkOpen() was invoked. Fixed.

## Version 3.24g [21 Oct 2021]

### Improvements

1. Upgraded to J-Link V7.56b
2. Increase length of recent project history list to 10 entries.

### Program corrections

1. Dragging windows may not have worked properly under MacOS. Fixed.
2. Handling symbols with too many address ranges may have caused a crash. Fixed.
3. Data sampling of expressions containing dereferenced pointers may not have worked. Fixed.

## Version 3.24f [29 SEP 2021]

### Improvements

1. Upgraded to J-Link 7.54d.

### Program corrections

1. Symbol windows may not have updated as required for displaying all values. Fixed.

## Version 3.24e [28 SEP 2021]

### Improvements

1. Upgraded to J-Link 7.54c.

### Program corrections

1. Exporting global data, local data and watched data windows may have yielded empty values for some items in CSV file. Fixed.
2. Ozone may have handled ELF files with special characters in the project path improperly. Fixed.
3. Time line window may have not treated function pointer returns into an ISR correctly. Fixed.

## Version 3.24d [13 Sep 2021]

### Improvements

1. Upgraded to J-Link 7.54a.
2. Added OS support for NuttX.

### Program corrections

1. Accessing peripheral registers via long names in Target.GetReg() and Target.SetReg() may not have worked. Fixed.
2. Reading from peripheral registers or target memory using command Target.ReadU32() may not have worked. Fixed.
3. Writing to peripheral registers using command Target.SetReg() may not have worked. Fixed.
4. Unsupported JavaScript constructs Throw, Try and Catch may have caused a crash. Fixed.
5. JavaScriptmethods TargetInterface.peekBytes, TargetInterface.peekWord, TargetInterface.findByte and TargetInterface.findNotByte may not have worked properly. Fixed.
6. Zephyr plug-in may not have correctly worked with OS version not modified for SystemView. Fixed.
7. Elf segment informations may have been displayed with leading zeros. Fixed.

## Version 3.24c [20 Aug 2021]

### Improvements

1. Added core support for Cortex-A35, Cortex-R52, Cortex-A55, Cortex-A32.
2. Upgraded to J-Link 7.52a.

### Program corrections

1. Font size may be set incorrectly after restart of Ozone. Fixed.
2. TimeLine window may not have displayed EmbOS task switches correctly. Fixed.
3. Some instructions were disassembled incorrectly. Fixed.
4. Some Preferences pages were not accessible. Fixed.

## Version 3.24b [01 Jul 2021]

### Improvements

1. User manual update: Text in chapters "Timeline Window" and "Sampling Frequency" formulated more precisely.
2. Added core support for Cortex-M55.

### Program corrections

1. Terminal window did not handle some non-printable characters correctly. Fixed.
2. Hardfault analysis pop-up may not have appeared. Fixed.
3. Local data window may have not displayed some information. Fixed.
4. Register Window may not have displayed register values. Fixed.
5. Some register descriptions found to be improper. Fixed.

## Version 3.24a [21 Jun 2021]

### Program corrections

1. Application may not have properly installed or executed on older Linux versions. Fixed.
2. Core Plugins may not have loaded on MacOS. Fixed.
3. Some ARM instructions were disassembled incorrectly. Fixed.

## Version 3.24 [17 Jun 2021]

### Improvements

1. Update J-Link library to Version 7.22a
2. Add new version of EmbOS-Plugin
3. Improve look-and-feel of system variable editor dialogue
4. Support more than 8 devices in JTAG chain

### Program corrections

1. Ozone may have changed the reset type. Fixed.
2. RISC-V ISRs not always correctly identified. Fixed.
3. Console window eventually clipped last word in a line. Fixed.
4. Function not having source references may be added to function residing in adjoining memory range in front of it. Fixed.
5. [Ctrl]-[Insert] does not copy to clipboard. Fixed.
6. Some instructions were disassembled incorrectly. Fixed.
7. Wrong source file may be used in projects containing two or more files sharing the same name. Fixed.
8. Multiline cursor collapsed to single line cursor after keypress. Fixed.

## Version 3.22e [23 Mar 2021]

### Improvements

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

### Program corrections

1. Expressions containing multiple type cast operators were possibly not evaluated correctly (introduced with version 3.22d). Fixed.
2. The window state was possibly not restored correctly when changing between normal and maximized window modes on multi-monitor setups (introduced with version 3.22d). Fixed.
3. RTOS task names were possibly not displayed correctly (introduced with version 3.22d). Fixed.

## Version 3.22d [18 Mar 2021]

### Program corrections

1. The JTAG scan chain setting was inadvertently limited to 8 devices. Fixed.
2. Ozone Linux possibly did not ship the Zephyr RTOS awareness plugin. Fixed.

## Version 3.22c [16 Mar 2021]

### Improvements

1. Updated the included J-Link library to version 6.98b.
2. Ozone now ships with a JavaScript RTOS awareness plugin for Zephyr.
3. Code profile window action "filter all NOP instructions" is now executed implicitly each time a program file is opened or reloaded.

### Program corrections

1. Timeline window option "auto scroll" was possibly non-operational (introduced with version 3.22b). Fixed.
2. The window layout was possibly not restored correctly when changing between maximized and normal window mode via drag and drop. Fixed.
3. Ozone possibly printed an inadvertent warning message to the console window on application start. Fixed.
4. Expressions containing program or linker-generated labels were possibly not evaluated correctly. Fixed.
5. Expressions containing type casts were possibly not evaluated correctly. Fixed.
6. The project script engine possibly failed to evaluate arithmetic expressions. Fixed.
7. Bit-fields of Cortex-M registers CONTROL, FAULTMASK and BASEPRI were possibly displaying incorrect values and could not be edited. Fixed.
8. Auto-discovery of RTT possibly failed when the program file did not provide DWARF symbols. Fixed.
9. Cortex-M vector table analysis possibly failed to determine ISR functions correctly. Fixed.
10. Input dialogs could possibly not be accepted by pressing the enter key. Fixed.
11. The target job scheduler possibly entered a state in which target jobs were no longer processed. Fixed.
12. The timeline possibly became misaligned at trace data block boundaries. Fixed.
13. Disassembly within segment data padding address ranges was possibly incorrect. Fixed.
14. Log file output for command Project.SetConsoleLogFile was possibly not generated. Fixed.

## Version 3.22b [18 Feb 2021]

### Improvements

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

### Program corrections

1. Command "Break.SetCmdOnAddress" possibly failed to apply the script callback function when executed from script (introduced with version 3.22a). Fixed.
2. Register group FPU (double) was possibly missing on Cortex-A. Fixed.
3. Registers D16-D31 were possibly not shown on Cortex-A/R. Fixed.
4. Timeline output possible became incorrect at return-type instructions. Fixed.
5. The colors of graphed expressions was possibly not saved to/restored from user files correctly. Fixed.
6. Timeline window action "Fit Height" was possibly non-operational when used on floating point signals with very small value range. Fixed.
7. Value boxes shown within the timeline window were possibly obscured by the vertical scrollbar. Fixed.
8. The window layout was possibly not restored correctly when changing from maximized to normal window state. Fixed.
9. The debugger possibly calculated an incorrect source-to-address mapping when debugging optimized programs, possibly leading to incorrect stepping behavior, among others. Fixed.
10. The debugger possibly accessed target memory at an invalid address. Fixed.
11. The debugger possibly determined incorrect instruction lengths for RISC-V instructions larger than 8byte. Fixed.
12. Source-inline disassembly possibly did not display unknown instructions. Fixed.
13. Disassembly window context menu action "Show.Source" possibly did not navigate to the selected source line. Fixed.
14. Table windows within plugin windows could possibly not be sorted. Fixed.
15. Mixed mode disassembly possibly did not show all source lines of an instruction. Fixed.
16. An inadvertent project file error "failed to set initial SP" was possibly logged when debugging an empty target. Fixed.
17. The instruction trace window was possibly not updated correctly when no program file was specified. Fixed.
18. The task list was possibly not updated correctly when method Threads.newQueue was called before method Threads.setColumns from the RTOS awareness JavaScript. Fixed.
19. Disassembly output was possibly incorrect for projects not specifying a program file and using command Debug.ReadIntoInstCache. Fixed.
20. Ozone possibly failed to start RTT when debug symbol _SEGGER_RTT was missing. Fixed.

## Version 3.22a [11 Dec 2020]

### Program corrections

1. The window layout was possibly not restored from user files correctly (introduced with version 3.22). Fixed.
2. Data graph colors were possibly not restored from user files correctly. Fixed.
3. The debugger possibly crashed when executed from Embedded Studio-RISC-V. Fixed.

## Version 3.22 [04 Dec 2020]

### New Features

1. The register window now displays a double-precision FPU register group on supporting cores.
2. The project wizard now provides an advanced settings page allowing users to specify the register initialization mode, amongst others.
3. Added file menu entries "File.SaveAs", "File.SaveCopyAs" and "File.OpenFolder".

### Improvements

1. Updated the embOS-awareness plugin to version 5.10.
2. In a project-generation command line, arguments 'device', 'select' and 'if' are no longer mandatory if the project file already exists.
3. The performance of the terminal and console windows was improved, in particular when displaying large texts.
4. The instruction trace window now provides all standard text navigation hotkeys.
5. The instruction trace window now supports an alternative text selection.
6. The source viewer now automatically selects the function under the cursor within its navigation bar.
7. The expression evaluator now supports casts to type definitions.
8. The debugger now prints a warning message when a function pointer symbol is edited using an invalid or incompatible value.
9. The debugger now shows a confirmation dialog when a modified document is to be reloaded from disk.
10. The code profile window now provides syntax highlighting.
11. Terminal window setting "Capture RTT" is now stored as project command to project script function OnProjectLoad.
12. JavaScript interface function "Debug.evaluate" now also supports members of pointers to address 0.
13. All exporting actions now support exporting to a temporary file when executed with empty file path argument.
14. When a data export is performed, its output file is now automatically opened within the source viewer.
15. The default output directory for data exports was changed to be the project directory.
16. The root directory for relative file path arguments was changed to be the project directory.
17. Periodic refresh of debug window content is now only started after startup completion.
18. The resolution of relative file path arguments, consisting of a file name only, was improved.
19. Code profile CSV exports now include the complete assembly code of instructions.
20. Added a checkbox to the target exception dialog enabling users to specify if the dialog is to be disabled.
21. The tab positions and raised tab of stacked windows are now restored from the user file.
22. String value display within symbol windows is now limited to 7-bit ASCII. Anything above 0x7F is printed as 3-digit octal escape sequence (e.g. '\128').
23. Disassembly now always shows hexadecimal immediate values with an even number of digits.
24. Debug console messages are now prefixed with the message type, the thread ID and a timestamp.
25. The list of J-Link enumerators no longer refreshes periodically but only once when shown.
26. Added help menu entry "Release Notes".
27. Added instruction trace window context menu action "Sync With Code".
28. Added disassembly window context menu action "Quick Watch".
29. Added document tab bar context menu action "Reload From Disk".
30. Added user preferences PREF_CP_HIGHLIGHT_SRC, PREF_CP_HIGHLIGHT_ASM, PREF_CP_SHOW_ENCODINGS, PREF_CP_SHOW_LINE_NUMS, PREF_TRACE_SYNC_WITH_CODE, PREF_DISABLE_TARGET_EXCEPTION_DLG, PREF_HIDE_MAPPING_SYMBOL_LABELS and PREF_CP_SHOW_BP.
31. Added commands File.Reload, File.SaveAs, File.SaveCopyAs, Target.EraseChip, Help.ReleaseNotes and Util.Error.
32. Command Edit.RefreshRate now supports the name of a debug window as first argument.
33. Command File.SelectInExplorer now supports arguments containing directory macros.
34. Command Util.Sleep is now aborted when a GUI action is executed.
35. Error reporting of the debugger's ELF parser and tracepoint handler was improved.

### Program corrections

1. The debugger possibly processed source line information incorrectly. Fixed.
2. FLASH breakpoints were possibly not applied correctly on RISC-V. Fixed.
3. Syntax highlighting for .asm files was possibly incorrect. Fixed.
4. Wizard-generated project files for RISC-V possibly contained incorrect register initialization settings. Fixed.
5. Instruction set simulation was possibly inadvertently disabled during a GO/HALT cycle. Fixed.
6. Disassembly export in assembly code format was possibly not disabled on non-supported architectures. Fixed.

## Version 3.20i [27 Nov 2020]

### Improvements

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

### Program corrections

1. Editing of system variable VAR_BREAK_AT_THIS_SYMBOL possibly had no effect (introduced with version 3.20f). Fixed.
2. Wizard-generated project files for RISC-V possibly did not initialize the program counter to Elf.EntryPC per default. Fixed.
3. Code profile CSV exports were possibly missing data with export scope "whole application". Fixed.
4. ELF files containing DWARF-V5 debug information were possibly not interpreted correctly. Fixed.
5. Entries of the project load diagnostics dialog were possibly editable. Fixed.

## Version 3.20h [19 Nov 2020]

### Program corrections

1. Semihosted host-formatting via SysWritef was possibly incorrect on big-endian targets. Fixed.
2. ELF files containing DWARF-V5 debug information were possibly not interpreted correctly. Fixed.
3. Maximized window state was possibly not restored correctly. Fixed.
4. Ozone possibly crashed when the value of a member symbol was edited. Fixed.

## Version 3.20g [05 Nov 2020]

### Program corrections

1. ELF files containing multiple data sections of type SHT_SYMTAB or SHT_STRTAB were possibly not loaded correctly. Fixed.

## Version 3.20f [26 Oct 2020]

### Improvements

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

### Program corrections

1. The creation date of wizard-generated projects was possibly not accurate (introduced with version 3.20). Fixed.
2. Arm disassembly was verified against GCC and revised where necessary. Fixed.
3. Disassembly of VLDR possibly did not comply to user preference PREF_SHOW_PSEUDO_INSTS. Fixed.
4. The ELF parser possibly failed to parse ELF files using XINDEX and value 0 indirection for header fields e_shstrndx, st_shndx and e_shnum. Fixed.
5. For ELF programs containing multiple symbols named "main", the main function was possibly not identified correctly. Fixed.
6. When confronted with corrupted DWARF debug information, the ELF parser possibly crashed. Fixed.
7. Project load diagnostics were possibly inadvertently shown when a big endian project was created with the project wizard. Fixed.
8. Project script function examples possibly contained obsolete commands. Fixed.
9. Instruction-level information was possibly not deinitialized correctly upon project unload. Fixed.
10. The FPU context of task call frames was possibly not evaluated correctly. Fixed.
11. An unresolved source file could not be opened via drag & drop onto the main window. Fixed.
12. Program functions with multi-piece address ranges were possibly inadvertently excluded from the functions list. Fixed.
13. Inline disassembly for inline-expansions with multi-piece address ranges was possibly not displayed correctly. Fixed.
14. Expressions containing variant array subscripts were possibly not evaluated correctly. Fixed.
15. Expressions with PC-dependent data locations could possibly be added to the data sampling window. Fixed.
16. Timeline data was possibly cleared on source stepping events when PREF_TIMLINE_CLEAR_EVENT was set at CLEAR_ON_RESUME. Fixed.
17. The setup of the data sampling window was possibly not saved to a debug snapshot. Fixed.
18. The refresh rate setting of the registers window was possibly not restored from the user file correctly. Fixed.
19. The execution profile color code of a source code line possibly remained invisible. Fixed.
20. The code profile window's row selection highlight possibly did not extend over all table columns. Fixed.
21. The timeline window's vertical viewport position was possibly not maintained when data was reloaded. Fixed.
22. The content of table window columns with hexadecimal number format was possibly not right-aligned. Fixed.
23. Context menu entry "Graph" was possibly inoperable for watched data windows 2 to n. Fixed.

## Version 3.20e [09 Sep 2020]

### Improvements

1. Disassembly now always shows hexadecimal immediate values with an even number of digits.
2. Updated the included J-Link library to version 6.84a

### Program corrections

1. JavaScript API command Debug.getSymbol possibly did not return an empty string when the input address was not the base address of a program symbol (introduced with version 3.20d). Fixed.
2. The banner images shown by the windows installer were too narrow. Fixed.
3. Checkbox indicators for the selected row were possibly invisible when the GUI style was set at "cleanlooks". Fixed.
4. Semihosting via SEGGER_SEMIHOST_DebugHalt was possibly non-operational. Fixed.
5. Project warning messages possibly missed a period character. Fixed.
6. The main window possibly became hidden or partially invisible after detaching a screen from a multi-head setup. Fixed.
7. The Cortex-M target exception dialog was possibly inadvertently shown when the target entered a non-fault exception. Fixed.
8. Advanced instruction information, such as the branch address, was possibly computed incorrectly on RISC-V. Fixed.
9. Disassembly of VMOV (immediate) was possibly incorrect. Fixed.
10. In special circumstances, Arm disassembly possibly did not print immediate values correctly. Fixed.
11. Resolved inconsistencies in immediate value printing for Arm and RISC-V disassembly. Fixed.

## Version 3.20d [02 Sep 2020]

### Improvements

1. Added context menu entry "Pseudo Instructions" to the code windows and accompanying user preference PREF_SHOW_PSEUDO_INSTS.
2. Updated the included J-Link library to version 6.82g

### Program corrections

1. Breakpoint action "Clear All" had no effect on tracepoints in target-offline mode (introduced with version 3.20c). Fixed.
2. Tracepoints could possibly not be cleared when the target connection was not established. Fixed.
3. The disassembly window possibly did not display mapping symbols correctly (introduced with version 3.20b). Fixed.
4. Input box text of the quick find widget could possibly not be selected using the mouse (introduced with version 3.20). Fixed.
5. The memory usage window possibly did not update when a program file was reloaded (introduced with version 3.20). Fixed.
6. The output path for command Project.SetJLinkLogFile was possibly not automatically created when user preference PREF_AUTO_CREATE_DIR_PATHS was set. Fixed.
7. The disassembly window possibly showed internal-use assembly labels in places were program assembly labels should have been shown. Fixed.
8. Assembly labels starting with a period were possibly not classified as internal-use (user-invisible) labels. Fixed.
9. Setting column filters on large tables possibly took an exceedingly long time. Fixed.
10. Disassembly window shortcuts Ctrl+Up/Dn possibly scrolled in the wrong direction. Fixed.
11. Disassembly window shortcut Ctrl+End possibly moved the text cursor to the last row and last column instead of last row and first column. Fixed.
12. The disassembly of non-word sized PC-relative loads was possibly incorrect. Fixed.
13. The disassembly of PC-relative loads was possibly incorrect when the offset was negative. Fixed.
14. The application log buffer was possibly not flushed to file when the application was closed. Fixed.
15. On Unix, assembly code comments were possibly obscured. Fixed.
16. An application message was possibly not logged to file when total log file data crossed the -loginterval boundary. Fixed.
17. A logging interval of 0 bytes (immediate write to log file) could not be set using command line argument -loginterval. Fixed.
18. Ozone possibly became unresponsive when target IO occurred at a very high frequency. Fixed.
19. Fixed a possibly memory leak that occurred when the debugger issued target data acquisition jobs faster than could be processed. Fixed.
20. The values of function pointers were possibly displayed numerically even though the name of the function pointed to was available. Fixed.
21. Ozone expressions containing operands with white spaces were possibly not evaluated correctly. Fixed.
22. When the watched data window contained multiple expressions of the same name, removing any expression of the set caused other expressions of the set to loose their attributes. Fixed.
23. JavaScript API command "Debug.Evaluate" possibly returned an incorrect result for function symbols and assembly labels, causing incorrect task sensitivity, among others. Fixed.
24. The context menu for members of type-casted addresses was possibly missing entries. Fixed.
25. The timeline window's hover cursor possibly followed the mouse pointer even when the context menu was open. Fixed.
26. Register values displayed by the target exception dialog were possibly not current immediately after dialog was shown. Fixed.
27. Ozone possibly crashed when the target exception dialog was shown. Fixed.
28. Debugger commands "Show.Data", "Show.Disassembly" and "Show.MemoryMap" possibly did not jump to the correct location on input of constants such as assembly labels. Fixed.
29. Command Trace.ClearPoint possibly failed to clear the specified tracepoint. Fixed.
30. Command Elf.GetExprValue(function) possibly did not return the function's base address as expression result. Fixed.
31. Command Elf.GetExprValue possibly did not return an error code for an expression containing a register value, since register operands are not yet supported. Fixed.

## Version 3.20c [21 July 2020]

### Improvements

1. Updated the included J-Link library to version 6.82a
2. Within symbol windows, string value display is now limited to printable 7-bit ASCII. Characters not in that range are displayed as octal escape sequence.

### Program corrections

1. Ozone possibly failed to install on Ubuntu 16.04 LTS (introduced with version 3.20). Fixed.
2. The device selection dialog possibly reported incorrect flash sizes (introduced with version 3.20). Fixed.
3. The device selection dialog possibly displayed core selection "Cortex-M3" twice (introduced with version 3.20). Fixed.
4. The device list of the device selection dialog was possibly not filtered according to core selection correctly (introduced with version 3.20). Fixed.
5. Power trace sampling data was possibly requested even though power trace was not started (introduced with version 3.20). Fixed.
6. Editing of system variable VAR_HSS_SPEED while the program was running possibly had no effect but instead caused HSS data sampling to stop (introduced with version 3.20). Fixed.
7. The memory usage window possibly remained empty when project settings "Target.AddMemorySegment" was employed (introduced with version 3.20) Fixed.
8. The source viewer possibly did not support deletion/replacement of ALT text selections correctly. Fixed.
9. Text documents not encoded in UTF-8 or a compatible text codec were possibly not displayed correctly. Fixed.
10. Text documents were possibly not saved to disk using the same codec that was used for reading. Fixed.
11. Inconsistent usage of block separators within hexadecimal value display strings. Fixed.
12. Symbol value input into symbol windows was possibly parsed using an incorrect number base. Fixed.
13. Semihosting was possibly not started upon debug session start, but inadvertently when program execution reached or passed the startup completion point (introduced with version 3.20). Fixed.
14. About dialog text was possibly cropped at the bottom (introduced with version 3.20). Fixed.
15. When multiple documents were modified, the debugger was closed and the save confirmation dialog accepted, documents were possibly not saved to disk correctly. Fixed.
16. Snapshot loading possibly failed when the size of the stored terminal log exceeded user preference PREF_TERMINAL_DATA_LIMIT. Fixed.
17. Data sampling timestamps possibly became incorrect following a change of the sampling frequency. Fixed.
18. For ELF programs containing a large amount of variables, the data breakpoint dialog possibly took an exceedingly long time to open. Fixed.
19. The expression drop-down box of the data breakpoints dialog was possibly auto-resizing to an exceedingly large width. Fixed.
20. The serial number and IP address fields of the project wizard were possibly pre-populated when the dialog was shown. Fixed.
21. Prior to opening (or creating) a project file, modified system variables and affiliated GUI state were possibly not reset to project defaults. Fixed.
22. Single and double-precision floating point numbers were possibly not printed using the maximum amount of precision when required. Fixed.
23. Command "Debug.SetOSPlugin" possibly printed log message "file not found" even though the file path could be resolved. Fixed.
24. Source viewer ALT text selections could not be modified by using a cursor navigation key together with SHIFT+ALT. Fixed.
25. Tracepoints were possibly not applied to firmware correctly. Fixed.
26. The target exception dialog possibly did not show all fault registers relevant for an exception. Fixed.
27. The sidebar of the disassembly window was possibly not updated correctly. Fixed.
28. Expression "sizeof void pointer array" did not evaluate correctly. Fixed.
29. The cursor location displayed within the status bar was possibly not updated when the source document was edited. Fixed.
30. The text selection was possibly lost when dragging the mouse cursor outside the source viewer. Fixed.
31. The user guide possibly contained broken text references. Fixed.

## Version 3.20b [17 June 2020]

### Program corrections

1. The status bar was possibly not updated when the main window was inactive. Fixed.
2. JavaScript API function "Debug.getSymbol" possibly returned an incorrect result. Fixed.
3. The values of pointer members were possibly not updated correctly within the watched data window when the pointer value changed. Fixed.
4. The data sampling window possibly displayed the values of expressions of double type incorrectly (introduced with version 3.20). Fixed.
5. The tooltips of register bitfields possibly displayed an incorrect hex value representation. Fixed.
6. A command with CPU register argument possibly failed when executed with a register name which also matched a peripheral register. Fixed.
7. The source viewer possibly displayed an incorrect text content for edited documents. Fixed.
8. Ozone possible crashed when hotkey Ctrl+F was activated while the memory window had focus. Fixed.
9. The source viewer possibly displayed an incorrect text content for edited documents. Fixed.

## Version 3.20a [02 June 2020]

### Program corrections

1. Thumb Disassembly of ADD/SUB immediate missed comma between registers. Fixed.
2. Non-mapping symbol assembly labels, such as RAM veneers, were possibly not shown within the disassembly window. Fixed.
3. The device selection dialog possibly reported an incorrect core name for devices (introduced with version 3.20). Fixed.

## Version 3.20 [26 May 2020]

### New Features

1. An unlimited amount of watched data windows can now be added to the main window.
2. Breakpoints can now be set and cleared from all debug windows that provide a function, source line or instruction selection.
3. The instruction trace window now displays all instructions that were executed since program reset (limited only by user preference PREF_TRACE_MAX_INST_CNT and possible trace buffer FIFO fulls).
4. The timeline window now displays all instructions that were executed since program reset (limited only by user preference PREF_TRACE_MAX_INST_CNT and possible trace buffer FIFO fulls).
5. The debug event upon which the timeline is reset can now be selected via the context menu or user preference PREF_TIMELINE_CLEAR_EVENT.
6. The table windows now provide a CSV export.
7. The table windows now provide a total value bar.
8. The register window now provides a filter bar.
9. The find results window now adds a tab for each text search performed.
10. The code windows now color-code partially executed source lines and conditional instructions.
11. The code profile window now color-codes the amount of partially executed source lines and conditional instructions.
12. The project warnings dialog now provides a list of suggested fix-ups together with a dialog button to automatically apply those fix-ups.
13. The disassembly window now provides a navigation history.
14. The windows installer now provides options "update existing installation" and "install for this user only".
15. Added dialog "Find -> Find In Trace".
16. Added a target exception dialog that is shown when the target's CPU enters an exception state, such as a fault on Cortex-M.
17. Added a drop-down selection for enumerated type values to the registers window.
18. Added system variable VAR_STARTUP_COMPLETION_POINT which sets the memory initialization point for RAM debug.
19. Added context menu entries "auto scroll" and "set y axis range" to the timeline window.
20. Added columns File, Line and Function to the code profile CSV export.
21. Added context menu entries and debugger commands Show.ValueSource, Show.ValueDisassembly and Show.ValueData.
22. Added an overlay widget to the source viewer which can be used to navigate document tabs.
23. Added a font size selection widget to the source viewer which opens when the mouse wheel is turned and control is held.
24. Added text selection and copy to clipboard to the instruction trace window.

### Improvements

1. Ozone expressions now support enumeration constants.
2. On windows, floating-point exponents are now displayed using 2 digits instead of 3, and 3 digits only when required.
3. The default TIF speed for newly created projects was changed to 4 MHz.
4. The filter bar of the device selection dialog now stays visible when the device list is scrolled.
5. For data and function pointers, the name of the symbol pointed at is now displayed by all symbol windows.
6. Debug windows now display an indication when instruction-level information is unavailable before startup completion.
7. Snapshot support was extended to programs with runtime-initialized code areas.
8. Symbol windows now display an indication when members are hidden from display due to user preference PREF_MAX_SYM_MEMBERS.
9. Filters set on table columns now also take member levels into account.
10. The exporting user actions have been moved into command group "Export".
11. The display of CPU register subgroups can now be toggled via the context menu of the registers window.
12. When a register value is edited, the input is now always written to target, even if it matches the current value.
13. The shortcuts for cycling debug information windows were changed to F6 and Shift+F6.
14. Within wizard-generated project files, SVD file paths now begin with directory macro $(InstallDir).
15. Ozone's symbol windows now display C++ type names according to the standard, instead of using abbreviations.
16. Number base prefixes are no longer shown where it is obvious from the context.
17. Ozone's code windows now employ standard shortcuts for text navigation and selection.
18. Any user-specified file path argument may now contain Ozone directory macros and environment variables.
19. Added user preference PREF_AUTO_CREATE_DIR_PATHS which governs if output directory paths are automatically created if required.
20. Added user preference PREF_EXEC_PROFILE_RESPECTS_FILTERS which determines if code profile filters apply to execution counter highlights.
21. Function display names can now be configured using settings PREF_PREFIX_FUNC_CLASS_NAMES and PREF_SHOW_FUNC_TYPE_SIGNATURES.
22. Added field "nickname" to the debug probe selection list.
23. The power and data graphs now show the most recent data samples and correctly wrap around their respective data limits.
24. The initialization of a debug window is now delayed until the window is shown.
25. Changes done to user preferences via debug window context menus are now session-persistent.
26. User preferences which are stored to the system registry are no longer stored to user files as well.
27. The time to open ELF program files was improved.
28. Updated the included Qt library to version 4.8.7.
29. Updated the included J-Link library to version 6.80.

### Program corrections

1. A breakpoint's skip count condition was possibly not evaluated correctly following restart of the debug session (introduced with version 3.10i). Fixed.
2. Command line arguments for project generation were possibly not applied to the current session when the project file already existed. Fixed.
3. Source line execution profile highlighting was possibly incorrect for source lines consisting of multiple instruction blocks. Fixed.
4. Ozone was possibly blocked when command Debug.Start was executed from script and the target connection failed. Fixed.
5. Identifier-expressions containing character "~" could not be evaluated within command arguments and symbol tooltips. Fixed.
6. The target interface dialog possibly provided an insufficient range for option "scan chain position". Fixed.
7. The date information within wizard-generated project files was possibly incorrect on Chinese OS. Fixed.
8. A project file containing non-ASCII characters was possibly saved to disk incorrectly. Fixed.
9. An invalid ARM instruction encoding was possibly disassembled as instruction BLX. Fixed.
10. Watch-category commands could possibly not be called from script. Fixed.
11. When saving a project, the project header's file path information was possibly not updated. Fixed.
12. Tooltips could possibly obscure context menus. Fixed.
13. When no user file was present, a system-default window layout was possibly not restored correctly. Fixed.
14. The call stack window possibly exhibited an incorrect filter match highlighting. Fixed.
15. Timeline value box figures were possibly displayed using an incorrect value display format. Fixed.
16. The icon of the selected table row was possibly indistinguishable. Fixed.
17. The functions window possibly showed incorrect parent function names for inline expansions. Fixed.
18. Backtrace highlighting for the PC row was possibly non-operational when the target connection was not established. Fixed.
19. C++-14 digit separators possibly broke source syntax highlighting. Fixed.

## Version 3.10j [08 May 2020]

### Program corrections

1. Ozone possibly failed to load on macOS (introduced with version 3.10i). Fixed.

## Version 3.10i [07 May 2020]

### Improvements

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

### Program corrections

1. The value display format of pointer variables and variables whose name matched a register name could possibly not be edited (introduced with version 3.11c). Fixed.
2. Ozone possibly tried to read from invalid J-Link CPU register indexes 88-90 and 0xFFFFFFFF. Fixed.
3. The welcome screen could not be canceled by pressing the ESC key. Fixed.
4. Global data members of anonymous C++ namespaces were possibly not updated correctly. Fixed.
5. Decimal numbers is binary notation were possibly not syntax-highlighted correctly. Fixed.
6. When a floating window was focused, pressing ESC possibly did not return focus to the source viewer. Fixed.
7. Source line breakpoints were possibly inadvertently disabled following program file reload. Fixed.
8. The disassembly CSV export was possibly not sorted according to function base addresses. Fixed.
9. User setting PREF_DATA_SAMPLING_DATA_LIMIT was not immediately applied when edited. Fixed.

## Version 3.10h [20 Apr 2020]

### Improvements

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

### Program corrections

1. Instruction mnemonics were possibly highlighted incorrectly. Fixed.
2. Preference PREF_SHOW_EXP_INDICATORS was possibly not restored correctly. Fixed.
3. Instructions were possibly missing from the trace on Cortex-A targets. Fixed.
4. When closing an empty project, a "save changes" confirmation dialog was possibly shown. Fixed.
5. Instructions encodings on RISC-V possibly included an inadvertent block separator character. Fixed.
6. Value bar highlighting within the CPU load column of code profile window possibly became incorrect after an item was expanded. Fixed.
7. Mouse-over tooltips were possibly not displayed when the mouse cursor was within an array subscript. Fixed.
8. Incorrect handling of format specifiers "E", "F" and "G" in host formatted strings. Fixed.
9. The source viewer possibly exhibited an incorrect syntax highlighting in the vicinity of character token '"'. Fixed.
10. On project close, plugins were possibly not unloaded completely. Fixed.
11. Console window messages were possibly highlighted using an incorrect color. Fixed.
12. Command Show.Source possibly highlighted an incorrect text range when used with class member function argument. Fixed.
13. Command Watch.Remove possibly lead to an erroneous debug window state when executed Programatically. Fixed.

## Version 3.10g [01 Apr 2020]

### Improvements

1. Updated the included J-Link library to version 6.70a.

### Program corrections

1. The text selection of the disassembly window was possibly not maintained when the window was scrolled up. Fixed.
2. Thumb-2 instructions CBZ and CBNZ possibly showed incorrect execution counter highlighting. Fixed.
3. When tracing ARM instruction code, execution counter highlighting was possibly incorrect. Fixed.
4. When Ozone was closed while a text search was in progress, the process possibly stayed active until the search was completed. Fixed.
5. Fixed broken text references within Ozone's user guide. Fixed.
6. User preference constant PREF_SHOW_EXP_INDICATORS contained a typo. Fixed.
7. Ozone's rpm package description contained a typo. Fixed.

## Version 3.10f [20 Mar 2020]

### Improvements

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

### Program corrections

1. Inconsistent usage of block separators within the data sampling window. Fixed.
2. Data sampling signal statistic #changes possibly overflowed at the type size of the sampled expression. Fixed.
3. Ozone possibly crashed when a debug snapshot was loaded on an empty project. Fixed.
4. Timeline window context menu item "Auto Fit Height" possibly stayed selected when deselected. Fixed.
5. Incorrect CPU SVD file selection when Ozone was started from ES and debugging on RISC-V. Fixed.
6. The selected document text line was possibly not highlighted when contained within an inline assembly block that also contained the PC line. Fixed.
7. Source viewer hotkey Ctrl+Left was possibly performed incorrectly when the cursor was at the first character of a text line. Fixed.
8. Filter bar context menu action "Set Filter" was possibly performed incorrectly when table columns were not in the default order. Fixed.
9. The input field of the terminal window possibly did not show the text selection context menu. Fixed.
10. Code profile window options were possibly not stored to the user file. Fixed.
11. Applying code profile filters possibly became exceedingly slow, the more filters were set. Fixed.
12. When Ozone was started after a screen was disconnected, the application window possibly opened hidden outside the screen area. Fixed.
13. Commands Profile.Export and Profile.ExportCSV possibly did not print console error feedback on invalid file path input. Fixed.
14. Commands File.ExportPowerGraphs and File.ExportDataGraphs possibly failed when the file path argument contained an Ozone directory macro. Fixed.

## Version 3.10e [20 Feb 2020]

### Improvements

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

### Program corrections

1. The value of double-type symbols was possibly not rendered on screen correctly. Fixed.
2. Ozone possibly provided incorrect disassembly information when the ELF file contained mapping symbols of type "$v". Fixed.
3. Cortex-M exception frames were possibly unwound to an incorrect call-site PC and possibly displayed an incorrect exception name. Fixed.
4. When changing the data or power sampling frequencies, command feedback was possibly logged twice to the console window. Fixed.
5. Source text could possibly not be selected starting at the first character of a document. Fixed.
6. The user configuration of the snapshot dialog was possibly stored multiple times to the user file. Fixed.
7. An inadvertent project script warning was possibly logged to the console window when a command was called with string-type function parameter. Fixed.
8. The memory region configuration sub-dialog of the memory usage window was possibly opened centered on desktop. Fixed.
9. The navigation bar of the source viewer was possibly not current immediately after a source file was opened. Fixed.
10. Command Show.Data possibly failed when used with register name argument. Fixed.
11. Context menu actions "Exclude..." and "Include..." of the code profile window were possibly inoperative. Fixed.
12. The columns of a table window filter bar possibly became misaligned with the table header after a filter cell had been edited. Fixed.
13. The source viewer possibly displayed incorrect syntax highlighting at places where a quotation mark was preceded by multiple backslashes. Fixed.
14. The last function of a source file was possibly incorrectly associated to the "no source" node of the code profile window. Fixed.
15. On RISC-V, the PC register was possibly not loaded from debug snapshots correctly. Fixed.

## Version 3.10d [31 Jan 2020]

### Improvements

1. Added command Elf.SetConfig.
2. Updated the included J-Link library to version 6.62a.

### Program corrections

1. Command Edit.SysVar possibly failed when used with string-type argument. Fixed.
2. Expressions could possibly not be drag/dropped onto the data sampling window (introduced with version 3.10b). Fixed.
3. Symbol expressions containing inherited class members were possibly not evaluated correctly. Fixed.
4. The ELF parser possibly failed to parse flag values using value format DW_form_data1. Fixed.
5. Functions without source location information were possibly incorrectly associated to source files within the code profile window. Fixed.
6. Bitfield structures were possibly not evaluated correctly. Fixed.

## Version 3.10c [24 Jan 2020]

### Improvements

1. Updated the included J-Link library to version 6.60f.
2. RISC-V disassembly improvements.

### Program corrections

1. Command Target.SetReg possibly failed when used with system register argument. Fixed.
2. Command Edit.SysVar possibly failed when used with string-type argument. Fixed.
3. A context menu action possibly failed to execute when triggered via hotkey following double-click on a table item. Fixed.
4. The source viewer possibly exhibited incorrect syntax-highlighting in situations where a string literal contained a C-style comment. Fixed.
5. Some Arm-v8M VFP instructions were possibly not disassembled correctly. Fixed.
6. Semihosting request SYS_WRITEF possibly caused the debugger to crash when issued with an incorrect argument. Fixed.
7. Ozone possibly crashed when a graph color was edited within the timeline window. Fixed.

## Version 3.10b [10 Jan 2020]

### Improvements

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

### Program corrections

1. Executing a sequence of dependent breakpoint commands from script could possibly fail. Fixed.
2. Commands Break.Edit, Break.SetType and Break.SetCommand could possibly not be used with function name argument. Fixed.
3. The CSV exports of the power and data sampling windows possibly contained inadvertent Unicode minus characters. Fixed.
4. Ozone possibly failed to update session data when command File.Exit was executed from script. Fixed.
5. The tab panes of the data sampling window could possibly not be cycled using the TAB key. Fixed.
6. Text lines displayed within the debug snapshot dialog were possibly not aligned. Fixed.
7. An inadvertent project warning was possibly shown when Ozone was started from Embedded Studio. Fixed.
8. The functions and code profile windows possibly did not update following execution of command Debug.ReadIntoInstCache. Fixed.
9. Timeline window context menu action "fit height" was possibly inoperative for the code pane. Fixed.
10. The timeline window was possibly affected by incorrect instruction timestamps, leading to distorted output. Fixed.
11. Trace settings dialog field "core clock" was possibly not editable when trace timestamps were disabled. Fixed.
12. The Trace settings dialog did not allow users to edit timestamp settings from the TRACE_SOURCE_ETB page. Fixed.
13. The shipped RISC-V register set description files possibly contained incorrect display names. Fixed.
14. Expressions containing unknown base types with size info (e.g. DAVE Compiler) could possibly not be evaluated. Fixed.
15. Keyboard interaction within the timeline window possibly did not update the selected frame. Fixed.

## Version 3.10a [12 Dec 2019]

### Improvements

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

### Program corrections

1. The list of watched expressions was possibly inadvertently reset when the program file was reloaded (introduced with version 3.10). Fixed.
2. The timeline window's code pane possibly showed incorrect output (introduced with version 3.10). Fixed.
3. When opening a project via drag & drop onto the Ozone executable, the welcome screen was possibly inadvertently shown (introduced with version 3.10). Fixed.
4. Ozone could possibly not be started from the disk image on macOS Catalina (10.15). Fixed.

## Version 3.10 [05 Dec 2019]

### New Features

1. Ozone now supports custom instructions via disassembly plugins.
2. The timeline window now supports the simultaneous display of instruction trace-, symbol trace- and power trace data in a combined signal plot.

### Improvements

1. The data graph window was renamed "data sampling" and the graphs tab was removed.
2. The power graph window was renamed "power sampling" and the graphs tab was removed.
3. The macOS shipment is now notarized.
4. The macOS shipment now links against the standard C runtime library "libc++".
5. The macOS shipment no longer includes 32 bit support for a reduced download size.
6. The project wizard now allows users to select the CPU register set of the target.
7. The full-screen window layout is now saved and restored independent of the normal window layout.
8. Vector catches are now set to a target-dependent default state.
9. The value of function pointer variables is now displayed as the function pointed to, if available.
10. Debug snapshots can now be dragged & dropped onto the main window.
11. Start and stop of instruction trace now only depends on the selected trace source and no longer on the window state.
12. Start and stop of power- and symbol-trace now only depends on the selected sampling rate and no longer on the window state.
13. Improved the accuracy of symbol name demangling.
14. Instruction breakpoints are now disabled on program file reload when the breakpointed program code has changed.
15. Added project script function "OnError".
16. Added context menu entry "sampling frequency" to the data and power sampling windows.
17. Added context menu entries "refresh rate" and "add SVD file" to the registers window.
18. Added commands Window.WaitForUpdateComplete and Profile.Reset.
19. Added a disassembly plugin for the RI5CY core, PULP platform.
20. The command line "Ozone -project filepath" is now supported.
21. The user guide was overhauled.
22. Updated the included J-Link library to version 6.56b.

### Program corrections

1. Expressions with constant data location could possibly not be added to the data graph window (introduced with version 2.70c). Fixed.
2. Command Project.RelocateSymbols possibly failed to relocate symbols (introduced with version 2.70). Fixed.
3. When a script command was used with an incorrect parameter type, a project warning was possibly not shown. Fixed.
4. An inadvertent project warning was shown when Ozone was started via a project generation command line for which the project file already existed. Fixed.
5. Power sampling possibly started and did not stop following a source-step. Fixed.
6. The text of string pointer symbols was possibly not updated when the string was edited. Fixed.
7. System variable VAR_MEM_ZONE_RUNNING was possibly not evaluated correctly. Fixed.
8. Command Profile.Export possibly did not handle empty item lists correctly. Fixed.
9. Command line argument "-select HIF=ID" was possibly not evaluated correctly. Fixed.
10. Reading of 1 FPU register on non-FPU targets possibly returned a valid register value. Fixed.
11. The table header of debug windows possibly did not adapt to application font changes. Fixed.
12. The semihosting, debug snapshot and find in files dialogs possibly did not adapt to application font changes. Fixed.
13. Symbol data breakpoints were possibly restored incorrectly from user files. Fixed.
14. Source viewer action Open.IncludeFile possibly failed when used with resolved file paths. Fixed.
15. Memory window selections smaller than the block size were possibly highlighted incorrectly. Fixed.
16. Local data window display mode "auto" possibly did not show all referenced global variables. Fixed.
17. Touchpad zooming within the memory usage window was possibly nonoperational. Fixed.
18. When the project file was open within the source viewer, it was possibly not automatically reloaded when edited from within Ozone. Fixed.
19. Table windows possibly inadvertently scrolled horizontally when the selection was changed. Fixed.
20. The breakpoint window's filter bar was possibly not shown when toggled visible while the window was empty. Fixed.
21. The call stack and data graph windows possibly did not adapt to user preference PREF_FILTER_BARS_DISABLED. Fixed.
22. Columns "code" and "code total" of the call graph window were possibly not sorted correctly. Fixed.
23. Memory selection dialog hotkeys "del" and "+" were possibly nonoperational. Fixed.
24. Ozone possibly crashed when hotkey arrow-right was pressed on the last table column of the source files window. Fixed.
25. Action Show.InMemoryMap possibly opened the memory usage window using an incorrect initial zoom factor. Fixed.
26. When a filter bar cell was cleared, it did not return to display string "*" on focus out. Fixed.

## Version 2.70e [22 Nov 2019]

### Program corrections

1. The quick find widget could possibly not be rejected by pressing ESC (introduced with version 2.70). Fixed.
2. Memory window context menu action "go back" was possibly inoperative (introduced with version 2.70). Fixed.
3. Under special circumstances, the breakpoint state was possibly not restored correctly on program file reload. Fixed.
4. Symbol tooltips were possibly not hidden when the document state was changed. Fixed.
5. Instruction breakpoints were possibly not restored correctly from user files. Fixed.
6. The quick watch dialog could not be re-opened on the same cursor location using hotkey Shift+F9. Fixed.
7. The quick watch dialog did not maintain size and table layout when closed and reopened. Fixed.
8. IRQ and FIQ vector catches could possibly not be set on Cortex-A/R. Fixed.
9. Register window table column "auto refresh" possibly did not maintain visibility state when the debug session was started or stopped. Fixed.
10. Code profile filters were possibly not applied correctly. Fixed.
11. A breakpoint could possibly not be set via hotkey F9 immediately after the disassembly window gained focus. Fixed.
12. Local data window context menu action "auto mode" was possibly inoperative. Fixed.
13. An inadvertent warning message was possibly printed to the console window when an expression was added to the watched data window. Fixed.

## Version 2.70d [14 Nov 2019]

### Program corrections

1. The disassembly of LDR instructions possibly contained errors (introduced with version 2.70). Fixed.
2. Editing of register fields possibly failed for display formats other than binary (introduced with version 2.70). Fixed.
3. Command "Trace.ExportCSV" was possibly inoperative when used with default parameter InstCnt=0. Fixed.
4. J-Link script errors were possibly output to the console window using an incorrect text color. Fixed.
5. Command Elf.GetEntryPointPC possibly returned uneven addresses (e.g. thumb bit on ARM). Fixed.

## Version 2.70c [07 Nov 2019]

### Program corrections

1. Register and register field tooltips were possibly missing text lines (introduced with version 2.70b). Fixed.
2. Under special circumstances, arbitrary instructions were possibly misidentified as semihosting traps (introduced with version 2.70). Fixed.
3. Ozone possibly displayed inadvertent project warnings when a big endian program file was loaded (introduced with version 2.70). Fixed.
4. Composite symbol data locations were possibly not evaluated correctly for big endian targets. Fixed.
5. Bitfields were possibly not displayed correctly for armclang compiled program files. Fixed.
6. Register set description file "RV32I.svd" contained typos. Fixed.
7. Selection highlighting possibly covered PC line highlighting. Fixed.

## Version 2.70b [29 Oct 2019]

### Improvements

1. Updated the included J-Link library to version 6.52a.

### Program corrections

1. Command Target.SaveMemory possibly failed when executed from script function AfterTargetDownload (introduced with version 2.70). Fixed.
2. The project script could possibly not be loaded when it contained a function with an empty body (introduced with version 2.70). Fixed.
3. The download address selection dialog of the project wizard was possibly not shown for bin-type program files (introduced with version 2.70). Fixed.
4. Watched data live updating was possibly not started following connection to target (introduced with version 2.70). Fixed.
5. Code profile data restored from a debug snapshot was possibly inadvertently reset when the program was resumed. Fixed.
6. JavaScript functions "parseInt" and "parseFloat" were not implemented. Fixed.
7. JavaScript function "peekBytes" possibly caused unnecessary memory allocations. Fixed.
8. When a target of different architecture was selected within a session, core plugin reinitialization possibly failed. Fixed.
9. On big endian targets, bitfield values were possibly displayed incorrectly. Fixed.
10. Register tooltips were possibly not shown, when the register was not visible within the registers window. Fixed.
11. Symbol tooltips possibly contained inadvertent description text lines. Fixed.
12. Notifications concerning modified source code documents were possibly inadvertently shown when a non-source code document was edited. Fixed.

## Version 2.70a [24 Sep 2019]

### Improvements

1. In wizard-generated projects with ELF program, the ELF's entry point (e_entry) is now used as the default PC register initialization value on all supported architectures.
2. Updated the included J-Link library to version 6.50b.

### Program corrections

1. Multiple data graph window hotkeys were nonoperational (introduced with version 2.70). Fixed.
2. Semihosting operation SYS_READ was possibly not carried out correctly (introduced with version 2.70). Fixed.
3. When dragging an item from the watched data window to another window, the item was inadvertently removed from the watch list (introduced with version 2.70). Fixed.
4. Code profile information was possibly not updated when execution counters were toggled (introduced with version 2.70). Fixed.
5. Code profile information was possibly not updated when trace source ETB was selected on ITM-capable hardware. Fixed.
6. The list of supported target devices was possibly incomplete on macOS. Fixed.
7. Ozone possibly failed to open program files under network URL locations. Fixed.
8. Ozone possibly crashed when the debuggee contained C++ template code. Fixed.

## Version 2.70 [30 Aug 2019]

### New Features

1. The debug session can now be saved to (and restored from) a session file called debug snapshot.
2. Semihosting is now available on any target (including RISC-V) using the SEGGER SEMIHOST module.
3. The breakpoints/tracepoints window now allows users to set and clear vector catches.
4. Added a quick watch dialog for easy inspection of variables and expressions.
5. Ozone now automatically stores a minidump crash report to disk when it encounters an unexpected exception.

### Improvements

1. Extended the debugger's semihosting capabilities and added tool menu dialog "semihosting settings".
2. Semihosting user input requests are now served by an input dialog.
3. Added setting "TargetCmdLine" to command "Project.ConfigSemihosting".
4. The semihosting user input mode is now configurable: input can be supplied via a popup dialog or via the terminal window prompt.
5. The register window now supports the display of floating-point values using formats "binary" and "hexadecimal".
6. The instruction trace window now displays the time/cycle duration of each call frame.
7. The display of C++ member functions can now be toggled via context menu entry "member functions".
8. The project script now supports global variables and constants.
9. Debug windows now display demangled symbol names instead of unprocessed mangled names.
10. The user is now asked for a display limit when expanding array symbols.
11. Added table columns "code total" and "code local" to the call graph window.
12. Added toolbars to the memory usage and watched data windows.
13. Added context menu entries cut/copy/paste to the source viewer.
14. Table windows now display a drop position indicator when a drag operation is in progress.
15. Console window command feedback now includes a text describing the returned data for commands that query data.
16. Added a new command group "Snapshot".
17. Added command Break.SetVectorCatch.
18. Upgraded commands Profile.Export, Profile.ExportCSV, File.ExportDisassembly and Trace.ExportCSV to accommodate all of their respective dialog settings.
19. The host interface dialog and the project wizard now display the list of J-Link/J-Trace emulators connected via LAN and USB.
20. Wizard-generated projects now include a file header.
21. Improved project script error reporting.
22. When opening a file that has no extension, the debugger now asks the user if the file is to be handled as binary or source file.
23. All file dialogs now include the display filter "All Files".
24. Added file menu entry "Edit Project File".
25. Ozone's now requires less RAM for loading large ELF program files.
26. Added build-time information to the about dialog.
27. Updated the included J-Link library to version 6.50a.

### Program corrections

1. The debugger possibly performed an incorrect instruction to source mapping for programs containing multiple source files of identical name. Fixed.
2. Incorrect disassembly of instruction VMOV. Fixed.
3. RISC-V: disassembly was possibly not rendered correctly when option "instruction encodings" was set. Fixed.
4. RISC-V: multiple instructions were possibly not disassembled correctly. Fixed.
5. RISC-V: possible crash when showing vector catches within the breakpoint window. Fixed.
6. Vector catches were possibly inadvertently cleared following program reset. Fixed.
7. Vector catches were possibly not displayed when Ozone was started from Embedded Studio. Fixed.
8. Breakpoints could possibly not be set on address 0. Fixed.
9. Data type names were possibly rendered incorrectly within symbol tooltips. Fixed.
10. Within the list of emulators connected via USB, the first entry was possibly duplicated multiple times. Fixed.
11. The instruction trace window possibly displayed incorrect call frame information when time reference points were set. Fixed.
12. The disassembly window possibly showed an inadvertent PC highlight at address 0 in offline mode. Fixed.
13. The instruction trace window exhibited an incorrect scrolling behavior when using the mouse wheel on the vertical scrollbar. Fixed.
14. The file version of the windows installer executable was possibly incorrect. Fixed.
15. Projects created with the project wizard possibly missed automatic project directory macro replacement (introduced with version 2.62g). Fixed.
16. Symbol values stored in 64-bit floating-point registers D0-D15 were possibly not displayed correctly. Fixed.
17. Ozone inadvertently used carriage return (\r) as newline operator on macOS. Fixed.
18. Generic semihosting via breakpoint was possibly inoperative following a write access to the target. Fixed.
19. Stopping the debug session while a semihosting operation was in progress could cause an inadvertent popup dialog to be shown. Fixed.
20. Semihosting output by the target application was possibly lost when the program underwent a halt/resume cycle. Fixed.
21. The context menu entries of the export menu (File->Export) possibly did not log command feedback to the console window. Fixed.
22. The position of undocked windows was possibly not restored correctly on multi-monitor setups. Fixed.
23. The memory dialog did not allow to specify files without extension. Fixed.
24. Ozone possibly crashed on exit following use of a JavaScript RTOS plugin. Fixed.
25. Local data with block scope was possibly updated incorrectly. Fixed.
26. Warning "duplicate commands found within the project file" was possibly shown even when all duplicate commands were out-commented. Fixed.

## Version 2.62g [12 Jul 2019]

### Program corrections

1. Ozone possibly crashed when the target application performed terminal output via semihosting (introduced with version 2.62f). Fixed.
2. Project settings could possibly not be applied before the project file was saved to disk. Fixed.
3. The display format of floating point registers could possibly not be changed. Fixed.
4. Single-precision floating point registers were possibly displayed using an incorrect number of decimal digits. Fixed.
5. Settings edited via the J-Link control pannel were possibly not applied correctly. Fixed.
6. The title of the breakpoint window was possibly displayed incorrectly. Fixed.
7. Register FPSCR possibly displayed a duplicate V bit field within the register window. Fixed.
8. Graph window shift-selection was possibly inoperational. Fixed.
9. Graph window context menu action "fit selection" could possibly not be triggered via hotkey. Fixed.
10. Semihosting operation SysRead possibly returned an incorrect result code to the target. Fixed.

## Version 2.62f [09 Jul 2019]

### Improvements

1. Updated the included J-Link library to version 6.46i.

### Program corrections

1. Ozone was possibly missing symbol member information due to IAR compiler optimizations. Fixed.
2. Source viewer action "copy to clipboard" possibly removed quotation marks from the copied text. Fixed.
3. For programs generated by the ADS compiler, Ozone possibly misevaluated source code location information for function symbols. Fixed.
4. Ozone possibly crashed on current linux distributions (such as Ubuntu 19.4) when the trace settings dialog was opened. Fixed.
5. The tab panes of the data- and power graph windows possibly displayed an incorrect content after the tabs were moved. Fixed.
6. Advanced properties of source breakpoints consisting of multiple derived breakpoints were possibly not restored correctly. Fixed.
7. String-type symbols were possibly not updated reliably. Fixed.
8. Data graph capture was possibly not started when connection mode "attach" was used. Fixed.
9. Power Graph Window: on slow machines, an empty power trace buffer was possibly continued to be queried for more than the preset amount of retries. Fixed.
10. Semihosting operation SysRead possibly wrote more user input to the target than requested. Fixed.
11. Semihosting operation SysRead possibly did not write all file content to the target when more data was requested than available. Fixed.
12. Semihosting operation SysRead possibly returned an error code when used with stdin file handle. Fixed.
13. Event object and system information was possibly displayed incorrectly when javascript plugin "embOSPlugin.js" was used. Fixed.
14. The data graph window possibly did not display a confirmation dialog when action "remove all" was triggered. Fixed.
15. Source line mapping information for instructions preceding the function with lowest base address was possibly evaluated incorrectly. Fixed.
16. The RTOS window possibly displayed selection-highlighting on all tables, instead of on the active table only. Fixed.
17. Within the RTOS window, tables were possibly not auto-scrolling to the selected item when navigation keys were used. Fixed
18. Local data window context menu entry "auto mode" possibly caused the item selection state to be lost. Fixed.

## Version 2.62e [06 Jun 2019]

### Program corrections

1. Action "view.source" was possibly inoperable when used with address string parameter (introduced with version 2.62d). Fixed.
2. Enumeration-type symbols possibly displayed an incorrect value name. Fixed.
3. Functions window column "source" possibly displayed the declaration coordinate instead of the implementation location. Fixed.

## Version 2.62d [05 Jun 2019]

### Improvements

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

### Program corrections

1. The debug session could not be started when target device ARM7 was selected (introduced with version 2.62). Fixed.
2. The J-Link control panel was possibly not refreshed following a change of the debug state. Fixed.
3. Action "show disassembly" possibly did not selected the expected location when executed on a source line breakpoint. Fixed.
4. The hotkey for callstack window action "show stack frame" was possibly inoperable. Fixed.
5. The disassembly of instruction MCR was possibly not shown when debugging ARM-v4 targets. Fixed.
6. The contents of the disassembly window were possibly inadvertently cleared when the CPU mode was edited. Fixed.
7. Ozone possibly tried to activate RTT on targets not capable of background memory access. Fixed.
8. Incorrect warnings about unsupported DWARF opcodes 'DW_OP_x' were possibly caused by a bug in the ELF parser. Fixed.
9. In rare circumstances, the ELF parser misread binary symbol attributes. Fixed.
10. A table window possibly did not respond to hotkeys when activated via shortcut. Fixed.
11. The type string of a void pointer was possibly incorrectly displayed as a single star. Fixed.
12. The evaluation of an expression containing both ELF and DWARF symbols possibly failed. Fixed.
13. Within code profile reports, the unaccounted fetch count was possibly incorrectly stated as 0. Fixed.
14. When a pointer value was edited, the input value was possibly not parsed in accordance with the item's display format. Fixed.

## Version 2.62c [22 May 2019]

### Improvements

1. Updated the included J-Link library to version 6.44i.
2. Changed the hotkey for "Find In Files" from "Ctrl+Alt+F" to "Ctrl+Shift+F".

### Program corrections

1. For exceptions taken from Cortex-M thread mode, the call stack was possibly missing frames. Fixed.
2. Thumb instructions SETEND and SWI were possibly not disassembled correctly. Fixed.
3. Inline disassembly of inline expansion call sites was possibly incomplete. Fixed.
4. When attaching to a running program, periodic refresh of target memory and special function registers was possibly inoperable. Fixed.
5. Decimal number strings were possibly not displayed correctly when the value of user preference "PREF_DEC_BLOCK_SEPARATOR" was "none". Fixed.
6. Change-level and match result highlighting possibly showed aliasing artifacts. Fixed.
7. Co-installation of the J-Link software package has been discontinued but Ozone's installer page was not updated accordingly. Fixed.

## Version 2.62b [09 May 2019]

### Improvements

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

### Program corrections

1. File paths containing an Ozone directory macro followed by a change directory macro were possibly not evaluated correctly (introduced with version 2.62). Fixed.
2. Ozone's ELF parser possibly failed to parse program macro information larger than 1 MB (introduced with version 2.62). Fixed.
3. Debug windows positioned on a secondary screen were possibly not moved onto the primary screen when the secondary screen got disconnected. Fixed.
4. Backslash directory separators could not be used within Ozone project scripts. Fixed.
5. Closing the J-Link Settings dialog w/o settings change possibly caused a reinitialization of the register window. Fixed.
6. When a source code document was edited, the PC line highlight was possibly cleared. Fixed.
7. Text selection within the disassembly window did not work properly when the horizontal scrollbar was not at origin. Fixed.
8. Mouse-over register tooltips within assembly code source files were possibly not shown. Fixed.
9. Local variables of the bottom call frame were possibly shown to be out of scope even when in scope. Fixed.

## Version 2.62a [18 Apr 2019]

### Improvements

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

### Program corrections

1. Source files sharing the same name could possibly not be opened reliably within the source viewer. Fixed.
2. Power-trace data recording possibly continued even after the program had been halted. Fixed.
3. The disassembly window's PC line highlight was possibly not updated following action "Set Next PC". Fixed.
4. The register window possibly displayed an incorrect CPU mode when in monitor or hypervisor mode. Fixed.
5. The debugger returned an incorrect result code for a semi-hosted "SysRead" when the input string fell below the request length. Fixed.
6. On input of enter into the terminal prompt while handling a semi-hosted "SysRead", an inadvertent error message was printed to the console window. Fixed.
7. The timeline possibly misidentified exception frames when the vectors were contained within a data section w/o executable flag. Fixed.
8. Backward compatibility for obsoleted constant name "auto" was not maintained. Fixed.
9. Within the user guide, multiple user action "GUI Access" descriptions were outdated. Fixed.
10. Ozone possibly crashed when evaluating recursive macro definitions. Fixed.

## Version 2.62 [05 Apr 2019]

### New Features

1. Ozone's RTOS-awareness plugin interface was extended to support JavaScript plugins.
2. Ozone now ships with JavaScript plugins that provide embOS-, FreeRTOS- and ChibiOS-awareness.
3. Added main menu "Find", providing convenient navigation to program symbols and source locations.

### Improvements (Debugging)

1. The load time and RAM consumption for large ELF program files was reduced significantly.
2. The sample cursors of the timeline, power graph and data graph windows are now synchronized.
3. The robustness of the timeline against influences of compiler optimizations was improved.
4. The main window now supports drag & drop of source code documents, project files and program files.
5. The call stack window can now be configured to display the function parameters for each call frame.
6. The focus-chain cycling behavior of debug information windows was improved.
7. The performance of the data graph window was improved.
8. The context menu settings of the data graph and power graph windows are now restored from the user file.
9. Ctrl+TAB can now be used to cycle the focus between all open debug windows.
10. Source viewer context menu entry "Show.Source" was split into entries "Show.Declaration" and "Show.Definition".
11. Table items that could previously only be activated via double-click can now also be activated via enter or return.
12. User actions of category "Show" no longer move the input focus to the targeted debug window when activated.
13. Added support for CMSIS-SVD register cluster arrays.
14. Added source viewer context menu entry "goto header/implementation file".
15. Added source viewer context menu entry "select in file explorer".
16. Added table column "stack used" to the call stack window.
17. Added option "export file paths" to the code profile export dialog.
18. Added data column "time stamp" to the instruction trace CSV export.
19. Updated the included J-Link library to version 6.44.

### Improvements (Project Scripts)

1. Added command "Debug.IsHalted".
2. Added command "OS.AddContextSwitchSymbol".
3. Added command "Target.SetFPU".
4. Added JavaScript command "TargetInterface.message".
5. Command category "View" was renamed "Show".
6. Command "Profile.Export" and "Profile.ExportCSV" now provide an additional export options parameter.
7. Path substitutes set with command "Project.AddPathSubstitute" are now applied to source files only and executed before directory macros are expanded.

### Improvements (GUI)

1. The source viewer now supports proportional character display.
2. The task window was renamed RTOS window and is now displayed within category "advanced" of the view menu.
3. The timeline now allows cursor-centric zooming also in the vicinity of its data boundaries.
4. The user preference dialog now displays general settings in a tabular fashion.
5. Added value reset buttons to the system variable editor.
6. Editing changes to the memory window are now reflected immediately after enter is pressed.
7. Table windows now display an inactive selection highlight when not focused.
8. The source viewer's cursor line background color can now be selected via the user preference dialog.

### Program Corrections

1. The values of registers BASEPRI, FAULTMASK and CONTROL were incorrectly displayed as shifted by n bytes under certain circumstances. Fixed.
2. The debugger possibly tried to access FPU registers on targets without FPU. Fixed.
3. Expressions containing program labels that were not contained in any code section were possibly evaluated incorrectly. Fixed.
4. In rare circumstances, source file properties "code size" and "instruction count" were incorrect. Fixed.
5. For code-size optimized programs, the functions window possibly displayed incorrect function properties. Fixed.

## Version 2.60p [21 Feb 2019]

### Improvements

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

### Program corrections

1. Expressions containing the C++ scope operator were possibly evaluated incorrectly. Fixed.
2. Under special circumstances, an inadvertent warning message "script interpretation failure: unknown function" was printed to the console window. Fixed.

## Version 2.60o [12 Feb 2019]

### Improvements

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

### Program corrections

1. On macOS, the hit-test for table item expansion indicators was possibly imprecise. Fixed.
2. On macOS, the source viewer possibly exhibited an incorrect text cursor repainting behavior. Fixed.

## Version 2.60n [07 Feb 2019]

### Improvements

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

### Program corrections

1. Expressions containing anonymous type members were possibly not evaluated correctly. Fixed.
2. Ozone possibly crashed when reading trace timestamps from the target. Fixed.
3. Trace timestamps were possibly activated even when the trace source was not TRACE_SOURCE_ETM. Fixed.
4. Removed command "Project.SetTraceFile" from the user guide. The feature is scheduled for upcoming releases. Fixed.

## Version 2.60m [23 Jan 2019]

### Improvements

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

### Program corrections

1. Within command arguments, an environment variable that contained another environment variable was possibly not expanded correctly. Fixed.
2. Within command arguments, Unix-style environment variables containing special characters were possibly not expanded correctly. Fixed.
3. An incorrect command feedback was printed to the console window when function window context menu action "clear breakpoint" was executed. Fixed.
4. Corrected a possible string pointer overflow within the ELF-parser. Fixed.

## Version 2.60l [16 Jan 2019]

### Program corrections

1. The list of open source documents was possibly not restored correctly from the user file (introduced with version 2.60h). Fixed.
2. Pressing ESC while editing a table filter cell did not restore the previous filter cell content. Fixed.
3. The input focus possibly did not return to the source viewer when confirmation dialog "continue editing" was closed. Fixed.
4. Symbol lookup possibly failed for symbol names matching Ozone system constants. Fixed.
5. Canceling a drop-down menu by pressing ESC possibly did not restore the input focus to the drop-down control. Fixed.
6. The clipboard content generated by memory window action "copy as C initializer" missed a trailing comma in each text line. Fixed.
7. On Unix systems, Ozone-style environment variable specifiers were possibly not evaluated correctly. Fixed.
8. Ozone possibly crashed when a user file was loaded that specified an exceedingly large number of table columns for a table window. Fixed.
9. When a table window contained multiple items of identical name, the affected item group was possibly not updated correctly. Fixed.

## Version 2.60k [02 Jan 2019]

### Program corrections

1. On Legacy-ARM and Cortex-A/R targets, the value of register R13 was possibly not updated correctly. Fixed.
2. The last line of the active source document could not be navigated to using context menu action "goto line". Fixed.
3. The shortcut for memory window context menu action "go to" was not functioning. Fixed.
4. Entries of the find results window could not be shown within the source viewer by pressing enter. Fixed.
5. Ozone possibly crashed when the ELF file contained less than 3 DWARF debug symbols. Fixed.

## Version 2.60j [18 Dec 2018]

### Program corrections

1. The source viewer's text area possibly became illegible when the sidebar was hidden (introduced with version 2.60). Fixed.
2. On Legacy-ARM and Cortex-A/R targets, the values of banked core registers were possibly not updated correctly (introduced with version 2.60). Fixed.
3. Ozone possibly crashed when disassembly data was exported. Fixed.
4. The disassembly window possibly did not display labels for symbols in ELF file section SHN_ABS. Fixed.
5. User preference PREF_SHOW_SIDEBAR_SRC was possibly not restored across sessions. Fixed.

## Version 2.60i [13 Dec 2018]

### Improvements

1. Updated the included J-Link library to version 6.40a.

### Program corrections

1. The range of the horizontal scroll bar of table windows was possibly not sufficient to fully display the content of the last visible column (introduced with version 2.60). Fixed.
2. On GUI themes with very bright text color for disabled elements, execution counters and line numbers were possibly hard to read (introduced with version 2.60). Fixed.
3. An incorrect command feedback was printed to the console window when functions window context menu action "view source" was executed. Fixed.
4. Source viewer line numbers were possibly not aligned to their respective text lines at large font scales. Fixed.
5. When the ELF file contained call frame augmentation "armcc+", an incorrect warning message was printed to the console window. Fixed.
6. When a project directory containing an Ozone project file was moved to a new location, the program file could possibly no longer be found. Fixed.
7. When resolving file paths, path substitutions were applied to all file types but should have been applied to source files only. Fixed.
8. The address ranges of static functions with name conflicts were possibly computed incorrectly. Fixed.
9. Source viewer context menu entry "open include file" was possibly not shown when the cursor was over an #include line. Fixed.

## Version 2.60h [06 Dec 2018]

### Program corrections

1. Character arrays were possibly not updated correctly when table option "show character value" was enabled (introduced with version 2.60). Fixed.
2. Ozone possibly queried and processed trace timestamp data from J-Link even when trace timestamps were disabled. Fixed.
3. Type casts from array to pointer type were possibly not evaluated correctly. Fixed.
4. The title bar of the task window was not highlighted when the window was focused. Fixed.
5. The global data window was possibly not updated correctly following reload of the program file. Fixed.
6. When a filter was edited within the device selection dialog, the table was possibly inadvertently scrolled down. Fixed.
7. Command "View.Data" with pointer symbol argument was possibly selecting an incorrect memory location. Fixed.
8. When user file settings were restored, source code files with unresolvable file path were not removed from the list of open documents. Fixed.

## Version 2.60g [20 Nov 2018]

### Program corrections

1. For watched expressions with auto-refresh disabled, symbol members with positive refresh rate were possibly not live-updated correctly (introduced with version 2.60). Fixed.
2. Input of empty text into the watched data window could possibly lead to program crash (introduced with version 2.60). Fixed.
3. Possible performance problem when array symbols were expanded within the watched data window (introduced with version 2.60). Fixed.
4. Data symbols with identical value were possibly table-sorted incorrectly. Fixed.
5. Ozone possibly failed to load OS-awareness plugins that provided an outdated API. Fixed.
6. The debugger possibly called RTOS plugin API function "OnDebugStart" before target memory was accessible. Fixed.
7. The debugger did not call RTOS plugin API function "OnDebugStart" following (re)download of the program file. Fixed.
8. The values of FPU status and control registers were displayed as floating point numbers. Fixed.
9. The names of floating point registers were possibly displayed incorrectly within symbol windows. Fixed.
10. The instruction trace window possibly did not display the source text of instruction blocks. Fixed.
11. Ozone possibly failed to evaluate the data location of floating-point register variables. Fixed.
12. An inadvertent project warning "duplicate project command: Script.DefineConst" was possibly shown. Fixed.

## Version 2.60f [13 Nov 2018]

### Program corrections

1. The source viewer did not respond to RTOS task selections (introduced with version 2.60). Fixed.
2. Ozone possibly tried to access the FPSCR register (index 32) on Cortex-M targets without FPU unit. Fixed.
3. On Ubuntu, the project warnings dialog's "ignore" button was possibly displayed with a trash bin icon. Fixed.
4. The debugger's memory data cache was not invalidated following program file download. This could possibly lead to incorrect RAM debug session startup, amongst other symptoms. Fixed.
5. Watched data was possibly not live-updated correctly when the watch list contained a structure or class-type expression. Fixed.

## Version 2.60e [09 Nov 2018]

### Improvements

1. Ozone now logs a warning message when the trace contains an invalid instruction timestamp.
2. Removed columns "index" and "execution count" from the instruction trace export.
3. When the project wizard is requested within a running debug session, the debug session is now stopped before the dialog is shown and no longer following dialog completion.

### Program corrections

1. Action "find next under cursor" (Ctrl+F3) was inoperative until the first time the find dialog was shown (introduced with version 2.60). Fixed.
2. Source text selections performed using the keyboard (shift-key) possibly missed one character when copied to the clipboard. Fixed.
3. When Ozone was closed while a debug session was running, the confirmation dialog "stop debug session" was not shown. Fixed.
4. Warning messages emitted by Ozone's ELF parser were possibly not printed in red text color. Fixed.
5. Interpolation of instruction timestamps possibly failed in the vicinity of instructions with invalid timestamp. Fixed.
6. Possible crash when a symbol was updated whose member tree contained a symbol with identical data location. Fixed.
7. A text search result was possibly not highlighted correctly when the corresponding document line contained tabs. Fixed.
8. Numeric values exported by the instruction trace export dialog possibly contained block separators. Fixed.
9. Setting "maximum instruction count" of the instruction trace export dialog was inoperative and shown using an incorrect display format. Fixed.
10. Accepting the project wizard while a debug session was running could lead to the inadvertent warning message "script interpretation failed" being shown. Fixed.
11. When a script file syntax error was encountered at runtime, two identical warning messages were printed to the console window. Fixed.
12. On devices with high resolution touchpads, graph zooming via vertical panning was possibly too sensitive and interfered with horizontal panning. Fixed.
13. On devices with high resolution touchpads, the scrolling sensitivity of the memory window was possibly too low. Fixed.
14. The timeline windows' tool bar label contained an inadvertent ampersand. Fixed.

## Version 2.60d [31 Oct 2018]

### Improvements

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

### Program corrections

1. Watched expressions were possibly not updating correctly while the program was running (introduced with version 2.60). Fixed.
2. Right-alignment of numeric text values was inoperative (introduced with version 2.60). Fixed.
3. Source code documents possibly missed syntax highlighting (introduced with version 2.60). Fixed.
4. The window position of the find dialog was possibly not restored correctly across multiple sessions. Fixed.
5. Supported expressions could possibly not be added to the data graph window while the debug session was stopped. Fixed.
6. User actions "Find.Function" and "Find.GlobalData" were inoperative in 32-bit builds of Ozone. Fixed.
7. The PC line did not display selection highlighting following debug session stop. Fixed.
8. The window menu displayed an incorrect and inoperative entry for the break & tracepoints window. Fixed.
9. View menu accelerators were corrected and missing accelerators were added to debug window context menus. Fixed.

## Version 2.60c [26 Oct 2018]

### Program corrections

1. The project wizard was inadvertently closed when button "next" was activated (introduced with version 2.60b). Fixed.
2. CSV files generated by the data and power graph windows possibly contained block separator characters. Fixed.
3. A window-pinned sample cursor was possibly reset to movable mode when a graph window was cleared. Fixed.

## Version 2.60b [24 Oct 2018]

### Program corrections

1. Project files generated via the project wizard possibly contained a duplicate SVD file selection command. Fixed.
2. The terminal window's default data limit was inadvertently set at 10 GB instead of 10 MB. Fixed.
3. SWO data capture was possibly deactivated with error message "invalid CPU frequency" following run to main. Fixed.
4. Within script files, unary operators applied to bracketed expressions were possibly not evaluated correctly. Fixed.
5. The first character of the selected disassembly text was not copied to the clipboard. Fixed.
6. The power graph window's context menu "show time average" possibly displayed an incorrect check state. Fixed.
7. The timeline possibly exhibited an excessive use of CPU time at high levels of zoom. Fixed.
8. When the device selection dialog was canceled via the ESC key, an inadvertent warning message box was shown. Fixed.
9. The file header of disassembly export files possibly contained an incorrect Ozone version number. Fixed.

## Version 2.60a [19 Oct 2018]

### Improvements

1. The call graph window now evaluates and displays the local stack usage of external functions.
2. The function and callstack windows now display source file information for external functions.

### Program corrections

1. Timestamp format "off" could not be selected within the timeline window. Fixed.
2. On macOS, Ozone possibly crashed when executing code in external library "libiconv2". Fixed.
3. When a project was opened for which no user file was present, the default window state was possibly not restored correctly (regression since version 2.56w). Fixed.
4. The power graph window's sample table was possibly not updated following execution of command "clear data". Fixed.
5. The time delay after executing command "Target.PowerOn" was set too low. Fixed.
6. The power graph window was possibly not cleared following a program reset when setting "ClearEvent" was set to "OnReset". Fixed.
7. When a project file was opened while a graph window was visible, the source viewer possibly did not obtain initial focus. Fixed.
8. The timeline window's toolbar text was possibly not updated following a change of the active frame. Fixed.
9. The project warnings dialog did not display a warning when the specified program file did not exist. Fixed.
10. On Unix systems with theming packages installed, tooltips were possibly displayed using an incorrect text color. Fixed.
11. The selected text line of the find results window was displayed in an incorrect color. Fixed.
12. The source viewer's "file not found" notification was displayed in an incorrect text color. Fixed.

## Version 2.60 [12 Oct 2018]

### New Features

1. Added support for trace timestamps.
2. The timeline's x-axis unit can now be toggled between the options "cycles", "nanoseconds" and "instruction count".
3. Added support for selective tracing: users may now set tracepoints on source and assembly code lines in order to filter MCU trace data in hardware.
4. Added a new debug information window "Power Graph". The power graph window displays the target's power usage within an interactive signal plot.
5. Added a new main menu: "Find". The find menu facilitates navigation to program symbols.
6. Users may now add as many memory and register windows to the main window as desired.
7. Program disassembly can now be exported as GNU-syntax assembly code.
8. Debugging features requiring BMA can now be used even when BMA is not supported in hardware (via J-Link emulation). This includes RTT and live watches.

### Improvements (Debugging)

1. Added support for target interface cJTAG.
2. The breakpoints and data breakpoints windows were unified to become the "breakpoints/tracepoints" window.
3. Disassembly was upgraded from ARMv7 to ARMv8 and label resolution was improved.
4. Ozone now evaluates the VFP register context of the program before exception entry on ARM.
5. The disassembly window now supports text selection.
6. Environment variables can now be specified within file path arguments.
7. Ozone project scripts now support unary C++ operators.
8. Program defines can now be used as operands within expressions.
9. Identical expressions can now be added multiple times to the watched data window.
10. The instruction trace and timeline windows are no longer reset when the debug session is stopped.
11. The call stack window now displays the reason for unwinding stop in a separate table row.
12. The navigation facilities of the memory window were improved.
13. The time to open ELF files containing a large amount of data sections was improved.
14. The data graph window's performance when running for long periods of time was improved.
15. Improved the comprehensibility of warning messages emitted by Ozone's ELF parser.

### Improvements (Projects)

1. Users are now notified about erroneous project settings via a popup dialog that opens when the project file is loaded.
2. The project's hardware configuration is now compared to the build target of the ELF file. A warning is displayed when the settings mismatch.
3. When the project file contains function or command parameter errors, project loading is no longer aborted.
4. Project wizard generated projects now remain valid even when the application's root folder is moved to a different location.
5. Plugin names can now be specified case-insensitively.
6. The display formats and refresh rates of watched expressions are now restored from the user file.
7. Graphed expressions are now restored from the user file.
8. The current tab of the data graph window is now restored from the user file.
9. Added system variables VAR_MAX_POWER_SAMPLES, VAR_POWER_SAMPLING_SPEED, VAR_TARGET_POWER_ON, VAR_TRACE_CORE_CLOCK, VAR_TRACE_TIMESTAMPS_ENABLED and VAR_MEM_ZONE_RUNNING.
10. Added commands "Project.SetTerminalLogFile", "Project.DisableSessionSave", "Break.SetCmdOnAddr", "Trace.ExportCSV", "Coverage.ExcludeNOPs", "Script.DefineConst", "Util.LogHex" and "Edit.MemZone".
11. Command "Debug.ReadIntoTraceCache" was renamed to "Debug.ReadIntoInstCache".

### Improvements (Dialogs)

1. All input dialogs were reworked to show concise input examples.
2. The trace settings dialog was simplified and new settings were added.
3. The instruction trace export dialog now provides an input field for the number of instructions to export.
4. Added checkbox "reload skip" to the breakpoint dialog: when unchecked, the breakpoint's skip condition only applies until the first time the breakpoint is hit.
5. Added option "search inline assembly code" to the text search dialog.
6. The text search dialog is now opened at its previous position instead of window-centered.
7. All tool dialogs now feature a "save to project file" button.
8. Added a dialog to the register window that allows the configuration of the displayed registers.
9. Minimized system variable editor content. All variables that can already be accessed from context menus or the user preference dialog were removed.

### Improvements (GUI)

1. Pointer members are now displayed as immediate children of the pointer symbol.
2. Table columns no longer resize to contents when items are expanded or collapsed.
3. Double-clicking on the header of a table column now causes the column to resize to fit all content.
4. The sample cursors of the data graph and timeline windows may now be fixed at intervals of 10% of the window width.
5. The source viewer's sidebar now resizes to fit the last document line number instead of the last visible line number.
6. Touchpad control of the data graph window was improved.
7. The toolbars of the data graph and timeline windows can now be toggled.
8. When all instruction trace nodes are collapsed, reloaded data is added to initially collapsed nodes.
9. Added a zoom position indicator to the memory usage window.
10. Row selections now use system-default highlighting colors.
11. The positions of expressions within the watched data window may now be rearranged via drag & drop.
12. Added context menu entry "Memory Zone" to the memory and watched data windows.
13. Added context menu entry "Edit Segments" to the memory usage window.
14. Added context menu option "Current Frame On Top" to the call stack window.
15. Added context menu option "Group By Root Functions" to the call graph window.
16. Added context menu entries "Fit Width", "Fit Height", "Fit Selection", "Auto Fit Height" and "Uniform Sample Spacing" to the data graph window.
17. Added context menu entries "Fit Width" and "Fit Selection" to the timeline window.
18. Added context menu entry "Open Include File" to the source viewer.
19. Context menus now open at the position of the text cursor or text selection when evoked via hotkey.
20. Added user preferences PREF_CALLSTACK_LAYOUT, PREF_CALLSTACK_DEPTH_LIMIT, PREF_MAX_POWER_SAMPLES, PREF_TIMELINE_TOOLTIPS, PREF_CG_GROUP_BY_ROOT_FUNCS, PREF_TERMINAL_CAPTURE_LIMIT, PREF_RESIZE_COL_ON_EXPAND, PREF_RESIZE_COL_ON_COLLAPSE and PREF_TIMESTAMP_FORMAT.

### Improvements (Other)

1. The user guide underwent a general update.
2. Ozone's installer filenames were unified across all supported operating systems.
3. Updated the included J-Link library to version 6.34h.

### Program corrections

1. The invisible part of the memory selection was not copied to the clipboard. Fixed.
2. The project wizard did not support backslash directory separators. Fixed.
3. The timeline stack could become misaligned in the vicinity of WFE/WFI instructions. Fixed.
4. Instructions not contained in any function were possibly disassembled incorrectly. Fixed.
5. The callgraph window possibly did not display function pointer calls for ELF files not including relocation symbols. Fixed.
6. Launching a RAM debug session from SES or via command line possibly failed. Fixed.
7. Hotkey F9 possibly toggled a breakpoint on a source line different from the selected one. Fixed.

## Version 2.56w [31 Aug 2018]

### Improvements

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

### Program corrections

1. The FreeRTOS-Awareness plugin was not compatible with the latest FreeRTOS release 10.1. Fixed.
2. Expressions containing symbol operands could not be added to the Data Graph Window before the debug session was started. Fixed.
3. Expressions containing floating-point arithmetic were possibly not evaluated correctly (since version 2.42). Fixed.
4. Expressions were possibly not evaluated correctly following reload of the program file (introduced with version 2.56v). Fixed.
5. Removed a typo from a popup message. Fixed.

## Version 2.56v [21 Aug 2018]

### Program corrections

1. Under special circumstances, the timeline got misaligned in the vicinity of function pointer calls and memory-loading control transfer instructions. Fixed.
2. The total stack size of FreeRTOS tasks was possibly determined incorrectly when configuration flag 'configRECORD_STACK_HIGH_ADDRESS' was set. Fixed.
3. The refresh rates of watched expressions were possibly reset when the program file was reloaded. Fixed.
4. Expressions containing type cast operators were possibly not evaluated correctly (introduced with version 2.56u). Fixed.

## Version 2.56u [17 Aug 2018]

### Improvements

1. The performance of the data graph was improved.
2. Updated the included J-Link library to version 6.34b.

### Program corrections

1. Data breakpoints having word or half-word access widths were possibly not unset correctly. Fixed.
2. Ozone was inadvertently limited to a maximum RTT data readout rate of around 250 KB/s. Fixed.

## Version 2.56t [02 Aug 2018]

### Improvements

1. Updated the included J-Link library to version 6.32i.

### Program corrections

1. The device selection dialog did not display supported device Zilog Z32F3841. Fixed.
2. Possible string buffer overflow within Ozone's ELF parser. Fixed.
3. The data graph window's automatic vertical scaling possibly failed for signals with small values. Fixed.
4. The refresh rates of watched expressions were inadvertently reset when the program file was reloaded. Fixed.
5. The context menu actions of vertical scrollbars were possibly not performing the expected operation. Fixed.
6. Possible incorrect console feedback for commands "Target.Write[x]". Fixed.
7. The functions window was possibly not showing the row selection highlight on sub-items. Fixed.

## Version 2.56s [06 Jul 2018]

### Improvements

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

### Program corrections

1. Automatic selection of CMSIS-SVD files for Cortex-M33 targets with floating point unit was inoperative. Fixed.
2. The timeline possibly became unaligned in situations where an ARM LDR instruction was succeeded by an ISR entry. Fixed.
3. The disassembly window could possibly not be scrolled beyond memory segment start addresses. Fixed.
4. Data graph interaction above time values > LONG_MAX microseconds was impossible. Fixed.
5. The device selection dialog displayed memory sizes above 1MB incorrectly. Fixed.
6. The task list possibly remained empty when the program contained a source file with filename "OS_Global". Fixed.
7. Symbol member tooltips were possibly not evaluated correctly in 32-bit builds of Ozone. Fixed.
8. Editing of bitfields possibly resulted in wrong values being written to target memory. Fixed.
9. Next/previous word keyboard navigation within tabulated document lines was possibly executed incorrectly. Fixed.
10. A warning message for command "Project.SetOSPlugin" contained an incorrect plugin name on unix ("FreeRTOSPlugin" instead of "freeRTOSPlugin"). Fixed.

## Version 2.56r [12 Jun 2018]

### Improvements

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

### Program corrections

1. The included J-Link library contained a software bug that possibly caused Ozone to crash on debug session start. Fixed.
2. The status bar was possibly not updated following program file download. Fixed.

## Version 2.56p [05 Jun 2018]

### Improvements

1. Added command "Trace.ExportCSV".

### Program corrections

1. Ozone macOS and Linux: source file paths were possibly read incorrectly from ELF files compiled under windows. Fixed.
2. The refresh rates of watched symbols were possibly reset when the symbol went out of scope (regression since version 2.56n). Fixed.
3. Call stack evaluation possibly failed for PC's above 0xFF000000. This bug possibly also induced invalid memory accesses. Fixed.

## Version 2.56o [01 Jun 2018]

### Improvements

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

### Program corrections

1. When ELF data section "debug.frame" contained an invalid entry, Ozone possibly crashed. Fixed.
2. Command "Debug.Connect" possibly returned before the debug session startup sequence was complete. Fixed.
3. FreeRTOS tasks with floating point context possibly displayed incorrect call stacks. Fixed.
4. When multiple instances of Ozone were opened, Ozone became sluggish in reaction. Fixed.

## Version 2.56n [24 May 2018]

### Program corrections

1. Incorrect disassembly of multiple ARM/Thumb instructions. Fixed.
2. The refresh rates of watched expressions were erroneously reset to "off" when the program was resumed. Fixed.
3. Incomprehensible warning message originating from the ELF parser were printed to the console window. Fixed.

## Version 2.56m [17 May 2018]

### Improvements

1. Timeline analysis was improved in situations where the instruction trace contains unknown code.
2. The file open time for C++ programs was improved.
3. Updated the included J-Link library to version 6.32c.

### Program corrections

1. Fixed a possible infinite recursion within the ELF parser module. Fixed.
2. Static class member variables were missing the "static" type name prefix. Fixed.
3. Command "Project.RelocateSymbols" could not be used while the debug session was running. Fixed.

## Version 2.56l [08 May 2018]

### Program corrections

1. Symbol members were possibly not displayed for compiler-optimized programs. Fixed.
2. The status bar text was possibly not updated while the timeline window was loading data. Fixed.
3. Selecting an instruction with "unknown address" within the instruction trace window caused the disassembly window to scroll to undefined positions. Fixed.
4. Table window cells were possibly not updated when command "Edit.DisplayFormat" was executed. Fixed.

## Version 2.56k [04 May 2018]

### Improvements

1. The global data window now also displays local static variables.
2. Ozone's idle-state CPU usage has been reduced.
3. Updated the included J-Link library to version 6.32a.

### Program corrections

1. Text search possibly did not begin at text position 0 when the cursor was placed at that location. Fixed.
2. Breakpoints were possibly not restored correctly following reload of a modified program file. Fixed.
3. When the debugee was rebuild while Ozone's "reload program file confirmation dialog" was not yet closed, the dialog was opened a second time. Fixed.

## Version 2.56j [26 Apr 2018]

### Improvements

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

### Program corrections

1. Possibly incorrect y-axis auto-scaling within the data graph window. Fixed.
2. Ozone printed embOS task priorities as 32bit signed (instead of unsigned) integers. Fixed.

## Version 2.56i 20 Apr 2018]

### Improvements

1. Periodic refresh of watched expressions is now initially disabled in order to avoid adverse effects on the target system's real time behaviour.

### Program corrections

1. Ozone possibly crashed when analyzing streaming trace data of large functions. Fixed.
2. Ozone printed embOS task priorities as 8 bit (instead of 32 bit) integers. Fixed.
3. The windows installer created a start menu folder structure on Windows 10 (where it is not supported). Fixed.
4. The disassembly window possibly read from target memory address 0x0 after program reset even when the PC was initialized to different value in script function "AfterTargetReset". Fixed.
5. Command 'View.Data' was disfunctional for arguments "PC", "SP" and "LR". Fixed.
6. When an expression was removed from the data graph window, sampling data possibly became corrupted. Fixed.
7. The data graph window's samples list was erased when the debug session was stopped. Fixed.
8. The horizontal scrollbar of table windows possibly remained hidden even when contents did not fit the viewport. Fixed.

## Version 2.56h [13 Apr 2018]

### Improvements

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

### Program corrections

1. Ozone auto-resumed the debugee when it stopped on a semihosting software breakpoint and semihosting was disabled. Fixed.
2. Register properties were possibly read incorrectly from SVD files when only specified within the top level "device" node. Fixed.
3. Setting a string-type system variable via command "Edit.SysVar" possibly failed. Fixed.
4. Wrong color highlighting for console message notifying about core support plugin loading. Fixed.

## Version 2.56g [06 Apr 2018]

### Improvements

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

### Program corrections

1. Peripheral register values were not updated correctly (regression since version 2.54). Fixed.
2. When the project file contained a syntax error, Ozone possibly became unresponsive when closed. Fixed.

## Version 2.56f [29 Mar 2018]

### Improvements

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

### Program corrections

1. Reset mode "Reset & Break at Symbol" was disfunctional when the reset handler was specified as destination symbol. Fixed.
2. Symbols not contained in any ELF file data section were not displayed within the memory usage window. Fixed.
3. The name of symbols with string table data section offset 0 was possibly not displayed correctly. Fixed.
4. Inline assembly text lines were possibly displayed duplicated following reload of the program file. Fixed.
5. The task list remained empty when an RTOS-Plugin was loaded after the debug session had already been started. Fixed.
6. During debug session startup, the debugger possibly accessed registers while the CPU was not halted. Fixed.
7. An incorrect command feedback was printed to the console window when a source breakpoint was set. Fixed.
8. The register window's title bar text was possibly updated incorrectly. Fixed.
9. Filenames such as "main.c" could not be specified as source file arguments. Fixed.
10. Source line information was possibly read incorrectly from ELF files containing DWARF version 4 debug information. Fixed.
11. Source breakpoints set from script files were possibly disabled on program file load. Fixed.
12. On macOS, the debugger possibly displayed incorrect filenames for filepaths containing backslash directory separators. Fixed.

## Version 2.56e [12 Mar 2018]

### Improvements

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

### Program corrections

1. The data graph window's symbol list was cleared when a different program file was loaded. Fixed.
2. Expressions containing cast or dereference operators were possibly not evaluated correctly on Linux. Fixed.
3. Conditional breakpoints referencing local register variables were possibly not evaluated correctly. Fixed.
4. The layout of floating windows was possibly restored incorrectly from user preference files. Fixed.
5. RTT data capture was not started when connection mode attach (or attach/halt) was used. Fixed.
6. File.Exit possibly did not close Ozone in case a debug window was floating. Fixed.
7. Commands given relative file paths arguments possibly failed when path substitution settings were configured. Fixed.
8. Tooltips were not displayed (introduced with V2.56). Fixed.
9. When a source line or instruction address of a non-active call frame was selected and F9 was pressed, the breakpoint was possibly not set on the selected line/address. Fixed.
10. Instruction trace data was possibly not reloaded when the instruction trace window was scrolled to the top. Fixed.
11. Fixed multiple bugs related to the display and layout of window items.

## 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. The code windows may exhibit font kerning artifacts when a non-monospace font is used.
4. Large ELF files containing decoded symbol data in excess of 2 GB may not load successfully when opened in 32-bit windows builds of Ozone.