Note: There is no guarantee that version mismatched client and server will be able to talk with each other. Network protocol breakages won't be listed here. v0.3 (xxxx-xx-xx) ----------------- - Breaking change: the format of trace files has changed. - Previous tracy version will crash when trying to open new traces. - Loading of traces saved by previous version is supported. - Tracy will no longer crash when trying to load traces saved by future versions. Instead, a dialog advising to update will be displayed. - Tracy will no longer crash in most cases when trying to open files that are not traces. Some crashes are still possible, due to support of old, header-less traces. - Ability to track every memory allocation in profiled program. - Allocation event queuing must be done in order, which requires exclusive access to the serialized queue on the client side. This has no effect on the rest of events, which are stored in a concurrent queue, as before. - You can search for a memory address and see where it was allocated, for how long, etc. This lists all matching allocations since the program was started. - All active (non-freed) allocations may be listed. This shows the current memory state by default, but can go back to any point in time. - Graphical representation of process memory map may be displayed. New allocations/frees are displayed in a bright color and fade out with time. This feature also can look back in time. - Support loading profile dumps with no memory allocation data (generated by v0.2). - Added ability to display global statistics of a selected zone from the zone info window. - Fixed regression with lock announce processing that appeared during worker/viewer split. - Allow selecting/unselecting all locks for display. - Performance improvements. - Don't save unneeded lock information in trace file. - Allow expanding view span up to one hour, instead of one minute. - Added trace comparison window. - An external trace has to be loaded first. - Zone query in both traces (current and external). - Both results are overlaid on the same histogram. - Graphs can be adjusted as-if there was the same number of zones collected. - Read time directly from a hardware register on ARM/ARM64, if possible. - User-space access to the timer needs to be enabled in the kernel, so tracy will perform run-time checks and fallback to the old method if the check fails. - Prevent connections in a TIME-WAIT state from blocking new listen connections. v0.2 (2018-04-05) ----------------- - Fixed broken TRACY_NO_EXIT behavior. - Visual refresh (new color scheme). - Added optional support for live in-depth zone analysis. - Ability to search for zones matching a query. - Histogram of zone time spans. - List occurrences of a zone, grouped by thread, or by user text. - Zone groups can be selected and highlighted on histogram graph. - Support for linear and logarithmic display of time and values. - Histogram bins can show zone counts or total execution time. - Listed zones can be narrowed down by data range selection on histogram. - Separation of server data handling code from the visualisation. - Implementation of a command line capture utility. - Support libraries have been updated. - Fixed an issue that prevented de-duplication of source location payloads. - Fixed an issue that prevented the ability to disable threads in settings menu, if two threads had the same name. - Performance optimizations. - Visual clean up of the settings menu. - Zone info windows improvements. - Visual improvements to zone info window child list. - Zone info windows now show zone thread. - Display zone stack trace. - Hide pause/resume button if there's no data connection (i.e. trace was loaded from file). - Source location statistics view has been added. - Fixed crash when a saved trace was opened, but no trace capture session was performed before. - Standalone server will now open trace files passed as an argument to the executable. - Fix possible crash in SetThreadName, that could happen if TLS init was delayed until first use of thread local variable. - Store full thread name if pthreads (with 15 character name limit) are used. - Properly handle unaligned memory access (no performance impact). - Fixed broken lock identifiers in try_lock(). v0.1 (2017-12-18) ----------------- - Initial release.