dsrc isn't necessary for this repo
[client-tools.git] / src / external / 3rd / library / DejaInsight / ReleaseNotes.txt
blobe4f300e1afdc365213eebb90776b733d2eb2d720
1 --------------------------------------------------------------------------------
2 DejaInsight release notes
3 --------------------------------------------------------------------------------
5 --------------------------------------------------------------------------------
6 v1.0.2152
7 --------------------------------------------------------------------------------
9 Changes
10  - Added "Add IPs" and "Add Applications" buttons to the Deja Launcher activity 
11    log panel. The buttons will be enabled when you select one or more log 
12    entries that have an IP or Application name not in your filter lists. 
13    Clicking the button adds all selected IPs or Application Names to the 
14    appropriate filter lists. Duplicates will not be added.
15  - Added support for setting the hardware thread on which the Deja threads 
16    execute through the use of:
17      DEJA_SET_PARAMETER( DEJA_XBOX360_THREAD_PROCESSOR, n ).
19 Fixes
20  - Fixed double clicking in the Launcher session list to load old sessions when 
21    there is a space in the Temporary folder path.
22  - Fixed a minor memory leak in the Launcher related to the log view.
23  - Fixed an error in the Heap API mismatch error detection logic that resulted 
24    in false positives.
25  - Fixed potential crash bug when executing a "Goto Item" in an empty list 
26    view.
27  - Added code to restore the Notification Icon for Launcher if explorer.exe is 
28    restarted.
30 --------------------------------------------------------------------------------
31 v1.0.2090 Beta
32 --------------------------------------------------------------------------------
34 Changes
35  - Added an "Enabled" column to the bookmarks window. Bookmarks are enabled by 
36    default. When disabled the bookmarks are skipped by F2, shift-F2 operations 
37    and they are not considered in the "surrounding bookmarks" time range mode. 
38    This lets you quickly disable bookmarks that are interfering with your 
39    profile ranges without deleting them.
40  - Improved Deja Flush thread performance. The thread used to wake up every 
41    10ms, it now only wakes every 500ms.
42  - Color coding in the heap graph now shows all blocks allocated within the 
43    selected time range in red, if there is no range then the last 1% of blocks 
44    allocated are shown as red.
46 Fixes
47  - The "Log only known IP's" state is now saved between runs of Deja Launcher.
48  - Fixed a minor repaint bug where bookmarks toggled with ctrl-F2 were not 
49    immediately shown in the object watch window.
50  - Fixed display of context menu from launcher tray icon when the taskbar is 
51    not at the bottom of the screen.
53 --------------------------------------------------------------------------------
54 v1.0.2007 Beta
55 --------------------------------------------------------------------------------
57 Changes
58  - Added new error messages to better explain DejaLib instrumentation problems 
59    in the object tracking system.
60  - Added right click menu to the Deja Launcher tray icon.
61  - The END key in log views will now attach the view back to time so the view 
62    will scroll with new data.
64 --------------------------------------------------------------------------------
65 v1.0.1995 Beta
66 --------------------------------------------------------------------------------
68 Changes
69  - Revised the unhandled exception handler to more reliably create Minidump 
70    files when an exception occurs in other threads.
71  - Added Shift+Delete, Ctrl+Insert, Shift+Insert keys for Cut, Copy, Paste in 
72    edit controls.
73  - Using DEJA_SET_AUTO_FLUSH now generates a warning message in the trace log.
74  - Added basic free block information to the heap graph view when the mouse 
75    cursor hovers over an area with no allocations.
76  - Added column showing total bytes posted to the Types view.
77  - Find next / prev warning in the channel tree now finds warnings and errors.
78  - Find next / prev warning in the heap log now finds warnings and errors.
79  - The heap log now shows mismatched Heap API calls in red, for example a 
80    malloc followed by a delete. These errors are also tracked in the trace log.
81  - Changed the close button on Deja Launcher to close the application with an 
82    are you sure prompt.
83  - Changed Escape in Deja Launcher to warn that it will minimize the window to 
84    the tray.
85  - Changed Minimize in Deja Launcher to warn that it will minimize the window 
86    to the tray.
87  - Added persistence of the type view visible checkboxes across sessions.
89 Fixes
90  - Fixed crash when trying to paste in an edit control with an empty clipboard.
92 --------------------------------------------------------------------------------
93 v1.0.1945 Beta
94 --------------------------------------------------------------------------------
96 Changes
97  - Added a 'Show All Channels' option to the trace channels context menu.
98  - Added a 'Goto Type' option to the object log context menu.
99  - Added a 'Show All Types' option to the types view context menu.
100  - Removed Debug versions of the deja libraries from the distribution and 
101    renamed the libraries to 'DejaLib.Win32.lib', 'DejaDLL.Win32.dll', and 
102    'DejaLib.X360.lib'.
103  - The type view can now be used to filter the object log using the 'visible' 
104    checkboxes.
106 --------------------------------------------------------------------------------
107 v1.0.1909 Beta
108 --------------------------------------------------------------------------------
110 Changes
111  - Added a types view with cross referencing to the objects window and 
112    statistics for the total instances and posts for each object type.
113  - Added Visual Studio style ctrl+Tab processing with a window stack. ctrl+Tab 
114    cycles backwards and ctrl+shift+Tab cycles forwards through the stack. This 
115    works well to set focus back after it is changed by a double click in the 
116    object log or heap log/graph windows.
117  - Double clicking in the heap log activates or creates a heap graph window and 
118    zoom into that block.
119  - Double clicking a block in the heap graph activates or creates a heap log 
120    window and goes to the log entry for that block.
121  - Double clicking in the object log activates or creates an object watch 
122    window and adds that object to the watch list.
123  - Added keys * and / and shift or ctrl-Click to recursively open or close tree 
124    nodes.
126 Fixes
127  - Fixed selection logic in some windows for reversed selections.
128  - Fixed goto next and previous cross reference in the object log view.
129  - Fixed saving channel tree state expanded states when right / left keys are 
130    used to open and close tree nodes.
131  - Fixed problem of sometimes creating new windows off screen when monitor 
132    configuration is changed.
133  - Fixed column separator double click auto sizing to include the last visible 
134    line.
136 --------------------------------------------------------------------------------
137 v1.0.1864 Beta
138 --------------------------------------------------------------------------------
140 Changes
141  - Added DEJA_SET_VALUE( Name, Value ) macro to give the application control 
142    over certain Deja Insight parameters. The first supported variables are:
143    - Frame.Warn.fps
144    - Frame.Warn.ms
145    - Frame.Error.fps
146    - Frame.Error.ms
147    - For example to set the warning indicator at 30fps and the error at 20fps in 
148      the frame view:
149    - DEJA_SET_VALUE( "Frame.Warn.fps" , 30 );
150    - DEJA_SET_VALUE( "Frame.Error.fps", 20 );
151  - The trace log view now more accurately tracks focus between repeated 
152    filtering operations. It now seeks to a time index rather than a list item 
153    number.
154  - Added Enabled columns to IP and App filter tabs in Deja Launcher to quickly 
155    disable or enable entries without deleting and recreating them.
157 Fixes
158  - Fixed rare Insight crash when viewing VLA's in an Object Watch view.
159  - Fixed crash in Launcher when the session status hasn't updated to closed
160    and the session is double clicked in an attempt to open the Insight.
161    
162 --------------------------------------------------------------------------------
163 v1.0.1813 Alpha
164 --------------------------------------------------------------------------------
166 Changes
167  - Added support to allow DEJA_OBJECT_INIT and DEJA_POST to accept arrays of 
168    objects.
169  - Added DEJA_IF_PTR and DEJA_CSTRING for use within DejaDescriptor functions.
170  - DEJA_IF_PTR will post the content of the given pointer if it is non-null.  
171    Note that it will only post a single instance of the target type.  To post 
172    multiple instances of the target type (thus a variable length array), use 
173    DEJA_VLARRAY.
174  - DEJA_CSTRING will post a standard, NULL-terminated C string.
175  - DEJA_VLARRAY will now show the address specified by the given pointer even 
176    if the specified count is zero.
177  - Variable length string fields (described via either DEJA_CSTRING or 
178    DEJA_VLARRAY) will show the string when "closed" in an Object Watch window, 
179    and the address and element range when "open".
180  - When an object having VLA fields is added to an Object Watch window, Insight 
181    will automatically set the count based on the largest size of the VLA within 
182    10 posts of the current time index.  Similarly, when you double click on a 
183    VLA field type in an Object Watch, the Count field is prepopulated with the 
184    VLA maximum size within 10 post of the current time index.
185  - Restructured the data posting system (DEJA_POST) in the process of adding 
186    support for variable length arrays within objects (via DEJA_VLARRAY).
187  - The DEJA_FIELD command now understands static sized arrays directly.  The 
188    DEJA_ARRAY command is aliased to DEJA_FIELD for now, but will be retired in 
189    future releases.
190  - Previous post functionality:
191  - DEJA_FIELD( Object.m_Array ); // output = address of the array
192  - DEJA_ARRAY( Object.m_Array ); // output = contents of entire array
193  - New post functionality:
194  - DEJA_FIELD( Object.m_Array ); // output = contents of entire array
195  - Added a new cell highlight to show which cell in causing a cross reference 
196    highlight on a row.
197  - Added Object and Context cross referencing to the heap log.
198  - Hooked up Next/Prev Warning/Error navigation in the frame log. This makes it 
199    very easy to find bad frames.
200  - Modified the way setting the start and end points for custom time ranges 
201    works to be more intuitive.
203 Fixes
204  - Fixed F10 and shift-F10 navigation to next and previous active allocation in 
205    heap log.
206  - Fixed pinning Launcher to start menu, it is now able to find Insight 
207    correctly.
208  - Fixed browse for layout in the Insight options dialog.
209  - Improved coherency of window layouts between Insight sessions controlled by 
210    Launcher.
212 --------------------------------------------------------------------------------
213 v1.0.1748 Alpha
214 --------------------------------------------------------------------------------
216 Changes
217  - Added new buffering scheme for heap free operations. These are costly to 
218    write into the database, with each free potentially causing a disk seek. The 
219    new buffer helps smooth out the hit from a large number of free operations 
220    in a short space of time, like a game level unload.
221  - Insight now creates Object Log and Object Watch views as necessary to 
222    satisfy the user Goto Object and Add Object to Watch requests.
223  - Added 'Goto Object' and 'Add Object to Watch' options to the heap log 
224    context menu.
225  - Added Object and Context cross references to the heap log.
226  - Added 'Add Object to Watch' option to the object log context menu.
227  - Added 'Add Object to Watch' option to the trace log context menu.
228  - Modified Deja Launcher "Concurrent Insight" limit to not shut down active 
229    sessions, that is Deja Insight instances that are still connected to their 
230    client applications. This makes the limit more of a target that can be 
231    exceeded if you have a lot of active processes. As the client applications 
232    close the corresponding Insight will close if the active number is above the 
233    limit.
234  - Added a new "custom" range mode to the time bar. The start and end times can 
235    be set manually.
236  - Insight no longer adds session filenames loaded by double clicking on them 
237    in Launcher to the recent files list. This avoids all the GUIDs in the 
238    recent file list.
240 Fixes
241  - Save configuration when the 'Yield' button is toggled by the user. This 
242    improves the coherency of settings between Insight sessions created by 
243    Launcher.
245 --------------------------------------------------------------------------------
246 v1.0.1710 Alpha
247 --------------------------------------------------------------------------------
249 Changes
250  - Contexts from the Trace, Heap, and Object Logs now only cross reference to 
251    the specific instance of the context within the Context Tree.  Previously 
252    cross referenced to all instances in the tree.
253  - Heap tracking version 2. A rewrite of the heap tracking system in Insight to 
254    improve performance and storage efficiency.
256 Fixes
257  - Changed Insight to save the Channel view state whenever the state is changed 
258    by a user interface operation.
260 --------------------------------------------------------------------------------
261 v1.0.1686 Alpha
262 --------------------------------------------------------------------------------
264 Fixes
265  - Fixed XBox360 compatibility with DejaLauncher and added an additional error 
266    message to the log to help diagnose connection problems.
267  - There was an execution path during the rendering of the Context List which 
268    did not properly lock shared data for access.  If the timing was just right 
269    (that is, seemingly at random), the data could be read during the middle of 
270    a larger atomic update which was resulting in an access violation (null 
271    pointer).
273 --------------------------------------------------------------------------------
274 v0.9.1665 Alpha
275 --------------------------------------------------------------------------------
277 Changes
278  - Trace Log view modified to include the full context tree in the context 
279    column.
280  - Added a basic "frames" view that shows information about each frame 
281    including duration and heap activity.
282  - Improved the sessions tab in Deja Launcher. There are now fields to show the 
283    status of the session "Active, Open, Closed" and related color coding. There 
284    is also a new column to shown which platform the application connected from.
286 Fixes
287  - Added a watchdog event to Deja Launcher to verify the status of any child 
288    Deja Insight processes. This catches the case where Insight has either 
289    crashed or been killed by task manager, etc.
290  - Resolved problem with creating new temporary folders that already exist, 
291    also now tests to make sure it is a folder and not a file.
292  - Fixed a Deja Launcher crash that can occur after running for a long period 
293    of time.
294  - Fixed a Deja Launcher deadlock that can occur when managing large numbers of 
295    processes.
296  - Fixed the window title in Deja Insight so that it displays the name of the 
297    connected application or the filename of a loaded session.
299 --------------------------------------------------------------------------------
300 v0.9.1603 Alpha
301 --------------------------------------------------------------------------------
303 Changes
304  - Added support for projects where wchar_t is not a built-in type.  (For 
305    example: Developer Studio 2003 projects using default compiler settings.)
306  - Extended the formatted output specifications. %hs indicates a narrow string 
307    argument, and %ls indicates a wide string argument.  The interpretation of 
308    %hs and %ls is not affected by the width of the format string (unlike %s and 
309    %S).
310  - Launcher now processes a double click in the session list to show the 
311    Insight instance associated with that session or to launch a new Insight 
312    with the old session loaded.
314 --------------------------------------------------------------------------------
315 v0.9.1589 Alpha
316 --------------------------------------------------------------------------------
318 Changes
319  - Improved the Export Active Heap feature.  The process should be 
320    substantially faster.  New data fields have been added: context, scoped 
321    object, heap function, and source.
322  - Added a spinner control to the launcher sessions tab to control the number 
323    of old sessions kept in the temporary folder.
324  - Context Tree view will remember the open/closed state of each node in the 
325    tree.
326  - When Insight is launched in stealth mode it will now automatically exit when 
327    the client application disconnects.
328  - Added a free drive space check and warning dialog to Launcher when it runs.
329  - Added free drive space check to Launcher to prevent launching Insight and 
330    flag an error message in the activity log if free space is too low.
331  - Added free drive space check to Insight on startup in standalone mode. It 
332    will display an error dialog and close if free space is too low.
333  - Added an Insight launch mode control to Deja Launcher. Insight can be set to 
334    launch in Stealth, Minimized, Normal or Maximized modes of operation.
335  - When in frame time range mode and watching live time, the last COMPLETE 
336    frame will be used as the time range.  This improves the "experience 
337    quality" when watching the Context List view in Live Time with Frame Time 
338    Range selected.
339  - Added cross references based on context to Context List, Context Tree, Heap 
340    Log, and Trace Log.
341  - Added a "Log only known IP's" checkbox to the Launcher activity log. This 
342    will only log traffic from the IP's in your IP filter list when enabled, it 
343    logs all traffic when disabled.
344  - Channel Visibile and Enabled states are now linked to the client application 
345    name and the last 2000 states are retained, not just the states from the 
346    last session captured.
348 Fixes
349  - Fixed crash when no bookmarks were set and the Bookmark Time Range mode was 
350    engaged.
351  - All strings (channels, labels, format strings, %s arguments) are now clipped 
352    to a maximum of 1024 characters (either narrow or wide).
353  - Fixed Arg0 processing in DejaLib when there are spaces in the path.
355 --------------------------------------------------------------------------------
356 v0.9.1554 Alpha
357 --------------------------------------------------------------------------------
359 Changes
360  - The functionality of the Timebar sync buttons in the heap log and object log 
361    has changed to allow cursor navigation within the views without altering the 
362    state of the views.
363  - The Time Bar now takes keyboard focus when clicked with the mouse. This
364    allows for accurate bookmark setting and navigation with F2 keys.
366 --------------------------------------------------------------------------------
367 v0.9.1526 Alpha
368 --------------------------------------------------------------------------------
370 Changes
371  - Changed ctrl-F in the heap log view to a text find dialog.
372  - Removed the IP Filter checkbox from the launcher, it always filters now.
373  - New buttons on tool bar to set range modes.  Available modes are "Start to 
374    Cursor" (normal operation), "Surround Bookmarks", and "Surrounding Frame".  
375    The range mode currently only affects the two context views.
377 Fixes
378  - Fixed crash when loading a saved session failed.
379  - Fixed state of channel visibility checkboxes when loading a saved session.
381 --------------------------------------------------------------------------------
382 v0.9.1510 Alpha
383 --------------------------------------------------------------------------------
385 Changes
386  - Removed templates from the object system interface.
387  - Added class as an argument to DEJA_BASE (within a DejaDescriptor). This 
388    fixes support for multiple inheritance by allowing multiple DEJA_BASE 
389    statements in a Descriptor.
390  - Reversed the order of parameters to DEJA_TYPE and DEJA_ENUM (within a 
391    DejaDescriptor) to improve code readability.
392  - Added support for wide file names to the heap functions.
393  - DEJA_SET_AUTO_FLUSH now only accepts a bool value.
394  - Default parameter to DEJA_FLUSH is now true.
395  - Retired DEJA_STRING.  Use DEJA_ARRAY for fixed length character arrays.
396  - In the Object Watch view, the labels <create> and <destroy> have been 
397    changed to <INIT> and <KILL> to correspond better with DEJA_OBJECT_INIT and 
398    DEJA_OBJECT_KILL.
399  - Added a "Disconnect" button to the toolbar that closes the connection 
400    between Insight and the user application. The button also reflects the 
401    connection status.
402  - In the context List, contexts with all hits in the "future" are now colored 
403    "future blue".
404  - Added a new Goto command bound to ctrl-G in log views for direct access by 
405    item number.
406  - Modified Trace Log view to keep the current focus item (or the remaining 
407    closest item) centered after filtering.
408  - Added column sort information to saved layout.
409  - Context List sort defaults to Global %.
411 Fixes
412  - Fixed Channel enabled and visible state Save / Load.
413  - Fixed a major slowdown in the heap tracking system.
414  - Fixed memory leak when searching in log views with no entries.
415  - Removed case sensitivity on command line options.
416  - Stopped duplicate entry of objects into watch window when double clicking in 
417    the object log.
419 --------------------------------------------------------------------------------
420 v0.9.1380 Alpha
421 --------------------------------------------------------------------------------
423 Changes
424  - Trace Channels View: Added context menu commands "Hide Selected Channels", 
425    "Show Selected Channels" and "Show Only Selected Channels".
426  - Added "current time active context" highlight to Context List.
427  - Changed the Trace Log "Hide channel" context menu option to "Hide Selected 
428    Channels".
429  - Added double click support to Context List.
430  - Added support for sorting columns to Context List.
431  - Added a Bookmarks view for managing bookmarks. The view displays the time, 
432    source view and an editable comment for each bookmark.
433  - Alphabetically order siblings in the Context Tree.
434  - Highlight the current conext (for each thread) in the Context Tree.
435  - Color "future" data blue in the Context Tree.
436  - Added more context menu options (find, next cross reference, next same 
437    context) to the Context Tree pane.
438  - Dialogs now remember their position instead of defaulting to the center of 
439    their parent window. This position is also saved with the window layout.
440  - Restore focus to the correct panel when switching away then back to Deja 
441    Insight with mouse or Alt-TAB.
442  - Modified list views to center items when the user goes to an item that is 
443    off screen through a menu command or accelerator. For example using the 
444    function keys or find dialog.
446 Fixes
447  - Trace Log View: Changed the "Hide Channels" context command to "Hide 
448    Selected Channels" and fixed the functionality to hide all selected instead 
449    of just the focus item.
450  - As nodes were added to the Context Tree, the "focus" item would not always 
451    "follow" its data.  Fixed.  Also, if the focus was visible before data is 
452    added, then the tree list will automatically scroll to keep the focus in 
453    view.
455 --------------------------------------------------------------------------------
456 v0.9.1303 Alpha
457 --------------------------------------------------------------------------------
459 Changes
460  - Insight displays an error if a non-literal string is used in DEJA_CONTEXT.
462 Fixes
463  - Fixed shutdown of DejaLib in the situation where the threads have been 
464    terminated without notification.
466 --------------------------------------------------------------------------------
467 v0.9.1287 Alpha
468 --------------------------------------------------------------------------------
470 Changes
471  - Added F2 and shift-F2 handling for next and previous bookmark to all windows.
473 Fixes
474  - Fixed problem of skipping adjacent bookmarks in logs.
476 --------------------------------------------------------------------------------
477 v0.9.1283 Alpha
478 --------------------------------------------------------------------------------
480 Changes
481  - Added support for displaying type long and 64 bit integers via DEJA_TRACE.  
482    "%d"=int, "%ld"=long, and "%lld"="long long" or int64.
483  - New Drag and Drop interface for adding objects to watch windows.
484  - Changed list copy behavior. ctrl+C copies the visible columns, shift+ctrl+C 
485    copies the selected columns.
486  - Added drag and drop from object list to object watch window.
487  - Added more support for formatted output specifications.  All valid format 
488    specifications should now be accepted.  Note that the flags, width, and 
489    precision specifications are parsed but not used when generating output at 
490    this time.
492 Fixes
493  - Copy columns selection wasn't working correctly when columns were reordered.
494  - DejaLib could not find Insight on the same machine when there were no 
495    network connections.  Fixed.
496  - Reworked the atomic type DejaDescriptor declarations.  This allows fields of 
497    type "long" and "long long" to work now.
498  - Escape now clears the selection in the object watch window.
500 --------------------------------------------------------------------------------
501 v0.9.1259 Alpha
502 --------------------------------------------------------------------------------
504 Changes
505  - Added new context menu option to the trace log view to hide this channel.
506  - Changed object watch column size algorithm to use the target as a minimum.
508 Fixes
509  - Insight was crashing when trying to report E4000 (object collision from 
510    DEJA_OBJECT_INIT).  It was trying to get the name of the "new" object before 
511    it had been registered with the system.  Fix: If there is a collision, set a 
512    flag and save the name of the old object, then proceed with the new object, 
513    and finally report the error.
514  - Fixed object watch display of u64 and s64 types.
516 --------------------------------------------------------------------------------
517 v0.9.1252 Alpha
518 --------------------------------------------------------------------------------
520 Changes
521  - Added Goto Object context menu choice in the trace log view.
523 Fixes
524  - Fixed Windows XP classic mode rendering.
526 --------------------------------------------------------------------------------
527 V0.9.1250 Alpha
528 --------------------------------------------------------------------------------
530 Changes
531  - Added Context menu with Goto Source to context list and tree views.
532  - Removed "gray" bitmaps for channels with errors and warnings.
533  - Added "Child Logs" subtotals to channel tree view.
534  - Added find / warning / error navigation controls to the channel tree view.
535  - Added persistence to channel Collapsed / Expanded states.
536  - Added processing of DEJA_APP_LABEL to set the main window title. Unless the
537    session is saved, then the filename is used.
538  - Optimizations to channel handling in support of dynamic channels.
539  - Added context menu option for goto channel to Trace View.
541 Fixes
542  - Fixed right arrow to expand tree node in channel tree view.
543  - Added check in new frame creation to ensure it is visible on a monitor.
544  - Added Escape to clear selection event handler to the context list view.
545  - Added Escape to clear selection event handler to the context tree view.