Update doxygen comment for findPreviousInstructionInActiveFunctionIf().
Fix XDesktop specification for renaming seec-trace-view to seec-view.
Add "-counts" argument to seec-print, which will count and print the number of each EventType in an unmapped trace.
Allow InputBufferAllocator to open traces directly from a trace archive.

The decision is based on the path: if it ends in ".seec" or ".seecrecord", then it is assumed to be a trace archive. Otherwise, it will be opened as a trace directory.

The implementation follows from seec-view's OpenTrace's implementation: contents are extracted to a temporary directory, then deleted when the InputBufferAllocator is destroyed.
Add a simple panel to show the data written to FILE streams.
Correctly prevent default anchor clicks in the state graph viewer.

Also, use "context-menu" cursor when hovering over anchors.
Remember the size and perspective of the last-closed trace viewer frame, and restore it when creating new trace viewer frames.

Note: when we implement multithreaded trace viewing, we will probably have to keep a separate perspective for multithreaded/singlethreaded traces viewers.
Correctly record stream write after (rather than before) instruction value in printf and fprintf.
Flush config changes.
Add process time to events that modify FILE streams or open/close POSIX DIRs.
Update StateAccessToken to allow shared reading of the state. The process of invalidating the state will wait for all readers to complete their work. This implies that access to the state must not modify the state.
Use a worker thread to perform the graph rendering.
Add seec::getMessageOrDescribe() - a convenience function for getting a message or description from a seec::Error and converting it to a wxString.
Only allow a single instance of the trace viewer (per user) at any one time.

This is to prepare for transferring action recordings to the server in the background (we don't want multiple instances transferring the same recordings).

If a new instance attempts to open, instead forward the request to the existing instance (either opening the requested files, or showing the welcome window if no files were requested).
Write a copy of the instrumented Module in LLVM IR to the file specified by the environment variable "SEEC_WRITE_INSTRUMENTED", if it is present.
Correctly restore stream state when removing a FileClose event.
When printing offset_uint properties, if the value is equal to noOffset(), then print "(none)".
Correct implementation of FILE stream handling so that we don't push StreamStates onto the "closed" stack when we are removing a StreamState due to reversing a FileOpen event.
Merge upstream changes.
When replaying writes to FILE streams, remember the size of individual writes. Use this to highlight writes when hovering over the stream's state in the trace viewer. Add the ability to rewind to the point at which a write occurred, by right-clicking on a particular write in the stream's state.