Source Insight Changelog

What's new in Source Insight 4.00.0134

Dec 11, 2023
  • Fix: Source Insight would crash if it was blocked by a firewall or proxy. This bug was introduced in build 4.0.0133. If you selected Help > Check for Updates it would crash. It might also crash after a period of time if it tried to connect to the update server in the background.

New in Source Insight 4.00.0133 (Dec 8, 2023)

  • New: The Relation Window now has Go-Back and Go-Forward buttons in the toolbar, which cycle through the history of items shown as the "root" of the Relation Window.
  • New: Relation Window: You can delete nodes from the relation tree. To remove a node from the display, select the node and right-click and select "Delete Node". This works in both the outline and graphical views. Note that recalculating the Relation window, or re-expanding the node will recreate the deleted nodes.
  • Change: Jump To Caller command now limits the results to references to the currently selected function that are actual function calls from other functions, not just references by name.
  • New: Jump To References command works like Jump To Caller, except it shows all references in a similar pop-up window. The default shortcut is CTRL+SHIFT+L. You can also invoke it from the right-click context menu or the popup toolbar.
  • Fix: Key combinations using the "Windows" key (which normally opens the Windows Start menu) was inserting bogus characters.
  • Fix: Comment Lines (and Toggle Comment Lines) could crash depending on how lines were selected before using the command.
  • Fix: Context Window Go-Back and Go-Forward buttons were not acting consistently, and the Context window title did not update to show the current symbol or file.
  • Fix: File Compare Window Options dialog: The Show Overview and Show Difference List options were reversed.

New in Source Insight 4.00.0132 (Oct 18, 2023)

  • New: There is a new Project > Recent Projects menu item so you can easily re-open a recently opened project. The Recent Projects menu item also appears in the right-click context menu if you click in the frame of the program.
  • New: The File > Recent Files list was increased from 20 to 30 files. You can also remove a file from the Recent Files list by holding down CTRL while selecting the file on the menu.
  • New: Zoom In (CTRL+SHIFT+>) and Zoom Out (CTRL+SHIFT+<) commands so you can increase or decrease the font size with a keystroke.
  • Fix: Token macros (preprocessor macros) were not expanded and applied when evaluating expressions in #if, #ifdef, #ifndef, or #elif preprocessor statements.
  • Fix: FTP panel was not listing files for some versions of the Microsoft IIS FTP server.
  • Fix: C++: The types implied by some smart ptr types were not being resolved correctly.
  • Change: Updated the code signing certificate.

New in Source Insight 4.00.0130 (Aug 22, 2023)

  • Fix: C++ Scoped enums (enum class and enum struct) were not handled correctly by Lookup References and Jump To Definition.
  • Fix: C++ using enum statements were not recognized.
  • Fix: C/C++: Some forms of declaring pointers to functions where not recognized.
  • Fix: C/C++: When there was an extern declaration of a function inside another function, using Jump To Definition of the declared function did not work.
  • Fix: Import External Symbols: Importing from the INCLUDE path was truncating the path.
  • Fix: Using custom RegEx parsing with multiple patterns could record incorrect line positions of functions and symbols. This could cause the symbol pane on the left to show the wrong current function.
  • Fix: Context Window: Selecting an identifier and choosing Show in Relation Window was deactivating the Context window.
  • Fix: Crash could happen if re-indexing the symbol database and user cancels the re-index operation.
  • Fix: In some cases after re-parsing a project, the symbol database was not getting updated.
  • Fix: XML parser was not handling comments with embedded quotes correctly.
  • Fix: Popup toolbar now uses the same background color as the main toolbar.
  • Fix: Buffer overrun bugs fixed when typing in some panels to filter the list of symbols or files.
  • New: You can lock the main toolbar by selecting View > Toolbars > Lock Toolbar

New in Source Insight 4.00.0128 (Apr 29, 2023)

  • This requires a valid version 4.x license, OR you can run this in Trial mode for up to 30 days.

New in Source Insight 4.00.0126 (Nov 29, 2022)

  • Fix: Crash: Regression bug introduced in 4.0.0125 could cause a crash when using the Jump To Definition or Jump To Prototype commands when only white space or a whole line was selected.

New in Source Insight 4.00.0125 (Nov 23, 2022)

  • Fix: C# expression-bodied member functions were not recognized.
  • Fix: C/C++ Preprocessor conditional values using hex numbers were not working: eg: #if ABC < 0x100
  • Fix: C++ and C#: various parser fixes.
  • Fix: Some symbol lookups were not working.
  • Fix: Limit recursive symbol lookups for symbols that have direct or indirect recursive definitions.
  • Fix: Crash when adding a large number of Edit Condition symbols to a project.
  • Fix: Performance improvement when a project contains a large number of conditional values set by Edit Condition.
  • Fix: Better error handling for exceeding limits with large projects.
  • Fix: In the Context window and the File Compare window, the overview would not close if you right-click on it and select 'Hide'.
  • Fix: Pasting text now ensures the resulting new lines are scrolled into view.
  • Change: The Context window now shows the definitions of symbols selected in the File Compare window.
  • Change: The Relation window now shows results of symbols selected in the File Compare window.
  • Change: Performance improvement synchronizing projects by avoiding unnecessary project data writes.
  • Changes Minor changes to some toolbar buttons to work better on dark backgrounds.
  • Change: Source Insight Macro Language: The == and != operators now compare numbers differently. If both operands are numeric decimal or hex, then they are compared as numbers instead of as strings. The relational operators, such as <, <=, >, and >= already do this.

New in Source Insight 4.00.0124 (Feb 22, 2022)

  • Fix: Improved auto-completion when typing the name of a local variable or function parameter. Parameters and local variables appear first in the list.
  • Fix: Relation Window could cause the program to pause for several seconds if it was processing an identifer that had 1000s of matches.
  • Fix: Import External Symbols - Import from INCLUDE path did not support Unicode paths, and could crash if the INCLUDE environment variable was undefined.
  • Fix: Python: Function return annotations using the -> syntax was not parsed correctly.
  • Fix: Python: Relative imports were not recognized correctly.
  • Fix: Python: Renaming a python file now causes a re-parse of the file.
  • Fix: C++: was not able to jump from a member function declaration inside a class to the member function definition outside of the class if the definition was in the same file as the class declaration.
  • Fix: C++: was not recognizing variable declared in an 'if' statement.
  • Fix: C++: was not recognizing some declarations that used attributes such as [[deprecated]] and others.
  • Fix: C++: improved resolution of types when smart pointer template classes are used, such as unique_ptr<>.
  • Fix: Sometimes using Jump To Definition would jump, then jump back to the original location.
  • Fix: Project Report could crash.
  • Fix: Add and Remove Project Files: You can type in a wildcard filter, such as *.h and press Enter to filter the files that are to be added. This was only working in the project's root directory. It did not respect the filter if you added a whole tree including subdirectories.
  • Fix: Makefile parsing: now recognizes 'export' keyword on definitions.
  • Fix: Style Properties: The Expanded character spacing format is not supported if you are using a monospaced font with ligature combinations. A spacing bug was fixed if you combined these options.
  • Change: Project Report has a new Info... button which invokes the new Project Info command. It displays statistics about the current project, including any errors that were logged.
  • Change: You can choose the color of visible tabs and spaces by editing the "Visible tabs and spaces" style in Options > Style Properties. You must enable that mode with View > Visible Tabs and Spaces to see them.
  • Change: New option in Tools > Reformat Source Code: In the Layout and Flow tab: "Keep '} else' on same line". This keeps the 'else' keyword on the same line as the preceding closing } brace.
  • Change: better detection of too many symbols or index entries in a project.
  • Change: revised some of the default visual theme colors.
  • Change: updated the code signing certificate on the sourceinsight4.exe file and the installer file.
  • Change: A new Advanced Option was added to disable the use of memory-mapped files for text files and some data files. This may be helpful for some users that run with file system extensions or encryption which is not stable with memory mapped files. To disable memory mapped files, hold down CTRL while selecting Options > Preferences. The Advanced Options will appear. Tick the options "Disable memory mapped files" and "Disable memory mapped database files". Performance is reduced a little. Background: Some users have reported an issue where Source Insight freezes and cannot be closed even with Task Manager. Using dump files kindly provided by some users, we have traced this to the system freezing inside the WinAPI CreateFileMapping. The exact reason is unknown, but the effected users were using a file system encryption product.

New in Source Insight 4.00.0120 (Nov 13, 2020)

  • New: Added support for monospaced programming fonts that use ligatures for special character combinations. Example fonts are Fira Code and Jet Brains Mono. There is also a display preference that enables font ligatures. It is enabled by default, but you might want to disable it to show a font without its ligatures. To access the option, select Options > Preferences > Display and set the item "Enable font ligatures for character combinations" to your preference.
  • Note that Source Insight has had a feature for a long time that substitutes certain operators with symbols. For example -> is replaced with ? . To control it, select Options > Preferences > Syntax Decorations. The syntax decorations can be used in combination with the new font ligature support.
  • Also note that some fonts use make use of the font leading area. Source Insight has an option that reduces the font leading in order to condense more lines vertically. See Options > Preferences > Display > Spacing > "Smaller line heights". Disable that option if you are using a font that has glyphs that extend into the leading; otherwise the top or bottom of some characters might be clipped out.
  • New: When a file changes externally, the Reload File prompt appears. There are new buttons in the prompt: Yes and View reloads the file and activates its window. Yes and Compare makes a backup of the current file buffer, reloads the file, and uses the File Compare panel to show the differences. If you don't want to keep the changes, you can restore from the backup file. See the next item.
  • New: File > Open Backup File there are new buttons: Restore File loads the selected backup into the current file buffer. The buffer remains unsaved, and it is possible to undo. Compare opens the File Compare panel to show the differences between the current file buffer and the selected backup file. Tools > Compare With Backup also has a similar Restore File button.
  • Fix: Source Insight could pause for several seconds periodically if you have many project files on a remote drive. The pause was caused by the Project Folder Browser panel. The Folders panel now populates in a separate thread.
  • Fix: Source Insight could sometimes prompt to reload a file that changed, even if the file didn't change. It was not consistent, but this only would happen if the file was on a network drive.
  • Fix: Reformat Source Code: statements using a C-style cast caused an incorrect line break after the cast.
  • Fix: Searching for a long string could crash.
  • Fix: Misc smaller bug fixes.

New in Source Insight 4.00.0118 (Aug 11, 2020)

  • Fix: In some situations, changing screen resolutions or monitors could cause docked panels to get positioned incorrectly.
  • Fix: The end-of-line character(s) might not be preserved if you used the Paste command and it changed the indent level.
  • Fix: Auto-complete was not proposing struct members if the struct was anonymous and nested inside another struct and the nested struct was used to declare a member of the outer struct. eg:
  • struct Outer { struct { int member_foo; } data; };
  • struct Outer an_outer;
  • an_outer.data.m <-- member_foo not proposed
  • Fix: Lookup References & Smart Rename: if you selected a (non-class member) function prototype and performed the operation, Source Insight would prompt you to choose either the function prototype or the function definition with the same name. Now it assumes you are referring to both. This already worked correctly for class member function prototypes vs. member functions.
  • Fix: C++: Using the = default or = delete keywords after a member function definition outside of the class body was not recognizing the function. Eg: ClassFoo::ClassFoo() = default;
  • Fix: Overview scroll control: the code popup was not working.
  • Fix: Other stability fixes.

New in Source Insight 4.00.0114 (Apr 28, 2020)

  • Fix: Snippet Properties: fixed a number of bugs when editing the text of the snippet.
  • Fix: The Check for Updates command could cause a crash for some users behind a network proxy. The same bug could cause the program to crash a few seconds after launching when it was checking for an update in the background.
  • Fix: Other stability fixes.

New in Source Insight 4.00.0106 (Jan 8, 2020)

  • Fix: For pure ANSI C files, a nested struct's members are in the parent struct's scope.
  • Fix: The following fix from version 4.0.0104 was not quite correct. It has been fixed: For ANSI C: in a nested struct, the inner struct name is also defined and in scope outside the outer struct, whereas in C++ it's defined only within the scope/namespace of the outer struct.
  • Fix: Relation Window regression bug appeared in version 4.0.0104 that caused references to anonymous struct members to not be found.
  • Fix: Relation Window: when showing references, a function could appear to refer to itself.
  • Fix: Lookup References and Relation Window was not correctly associating a variable with its initializer list.
  • Fix: Other small fixes.

New in Source Insight 4.00.0104 (Dec 10, 2019)

  • Fix: C/C++: Some casts were not understood. For example: ((foo *)ptr)->member... Also added better understanding of static_cast<>, dynamic_cast(), etc.
  • Fix: C/C++: multiple declarations within a for-statement were not recognized. For example: for (int i = 0, j = 0; ... ; ...) { ... }
  • Fix: ANSI C: in a nested struct, the inner struct name is also defined and in scope outside the outer struct, whereas in C++ it's defined only within the scope/namespace of the outer struct. The "ANSI C" language type in Source Insight now supports this correctly. If you use pure C code, consider changing the File Type Options to associate *.c and *.h with the "C Source File" type, and not the "C/C++ Source File" type.
  • Fix: C/C++: Parsing bug when using a token macro that expands to a try or catch block.
  • Fix: Sometimes the Relation window and Search Results didn't show a proper function name, but would instead show something like "if (condition...)..." which is actually a snippet of an if or while statement contained within the function in question.
  • Fix: C#: some generic classes were not parsed correctly.
  • Fix: Auto-completion was not proposing struct members for some nested structs.
  • Fix: Perl: many fixes to parsing and syntax formatting.
  • Fix: If a block of code was collapsed, searching or jumping to a definition would not expand the blocks to reveal the target line.
  • Fix: Scrolling down using Page-Down, and then Page-Up did not return to the same line number at the top of the window.
  • Fix: In some conditions, you might be prompted to reload a file that has changed, when in fact the file had not changed.
  • Fix: Context window was tracking identifiers inside string literals. The default setting was supposed to turn this off.
  • Fix: Formatting: references to member functions were not always styled with the correct "Ref To Method" style.
  • Fix: File Compare window: some keyboard commands were not working.
  • Fix: Stability fixes.
  • Performance: Initial startup and Load Configuration was sped up.
  • Performance: Small speed up in Lookup References and Relation Window.
  • Performance: Improved display update speed while typing when the Overview control is visible.
  • New: You can disabled text scaling with CTRL+Mouse Wheel. Normally mouse-wheel plus the CTRL key scales text. Select Options > Preferences > General and use the option that reads "Allow Ctrl+Mouse Wheel to scale text".
  • New: License Installation command line options were added to help make automated installations easier.

New in Source Insight 4.00.0095 (Aug 22, 2018)

  • Improved language parsing for C/C++, C#, Java, and other languages.
  • Language support now built-in for Objective-C, Python, PHP, XML, and JSON files.
  • Imports symbols from external sources, such as .NET assemblies, Java JAR files, and Include files.
  • File Window tabs appear across the top of the main application window.
  • Collapsible code blocks. You can control the position and appearance.
  • File and directory comparing (diff).
  • Code beautifier that works on curly brace languages, such as C/C++ and C#.
  • Unicode support.
  • Automatic reference highlights when you click on any identifier, showing references in the correct scope.
  • New User Interface with Panels and user-defined Visual Themes.
  • New Overview scroller bar is positioned like a scroll bar, but gives you a bird's eye view of your file. It can show you the boundaries of the current function and help to orient you within long functions.
  • New enhanced vertical scroll bar shows more details within the scroll bar.
  • Multiple window layouts you can switch quickly.
  • Code Snippets - define reusable templates of code to insert, which can include auto-generated placeholder variables.
  • Improved bookmarks - book marks are now stored persistently and they are stored as a line offset from a nearby function or class name. Each project has its own book mark list.
  • Improved Relation window - Reference finding is faster. There is also a new relation type for functions: "calls and callers". This shows both in the same outline or graph. You can also copy the graph view to the Windows clipboard.
  • Maintain backup files per-project, and easily compare with backup versions, or open an older version of the current file.
  • Better regular expressions - now supports Perl-compatible and multi-line expressions.
  • Better support for large projects. The virtual memory usage has been improved so that very large projects can fit better into the memory space. Older versions could suffer from a file read error on the project index files for large numbers of symbols, leading to project corruption. This has been eliminated.
  • Easier project management with multiple users and machines by using a Master File List. A project can have a MFL, which can be a part of your source code repository and shared with other people. It is a simple text file that lists all the files (and/or directories) in your project.
  • Export project source to HTML site. You can use this to export all the files to HTML versions that contain most of the same syntax formatting you see in Source Insight. This builds a web site that can used to browse the project source code with a web browser.
  • Browser Mode - Source Insight behaves as a read-only code browser. Simply clicking on identifiers will jump to definitions like in a web browser.
  • Symbol Window pane attached to each source file window now has a collapsible outline view.
  • All new configuration system which keeps all your settings in XML files.
  • Many improvements all over the program!

New in Source Insight 4.00.0093 (Mar 21, 2018)

  • Fix: Crash when parsing some Perl files with long lines. This could happen during Synchronize Files, or when idle as the project is parsed in the background.
  • Fix: Auto complete finding wrong structure members in some cases when token macros are used.
  • Fix: Python: error parsing some import statements could cause the rest of the file to not parse.
  • Fix: Python: comment-only lines that start with '#' were incorrectly affecting the current indent/nesting level.
  • Fix: Auto-complete sometimes failed to work when member fields were defined with a token macro expansion.
  • Fix: Project Folder Browser panel, and in Project > Add and Remove Project Files: was unable to navigate down into a single folder whose name was longer than 64 characters.
  • Fix: C++: Failed to find the return type of a function if the return type used a "smart" pointer template type, such as shared_ptr.
  • Fix: C++: Global scope resolution operator :: was not always interpreted correctly.
  • Fix: C++: Failed to deduce the type of an array element in a template that implemented operator[].
  • Fix: Editing project-specific-conditions, and project-specific imports was allowed for read-only projects.
  • Fix: Project-specific configuration parts were not loading when you opened a different project.
  • Fix: View > Vertical Scroll Bar did not always show the scroll bar, if the vertical scroll bar was disabled in Options > Preferences > Windows, depending on whether the "enhanced" scroll bar was used or not.
  • Fix: Memory management problem when opening very large projects with over 50 million index entries.
  • Change: You can now set the Default font for the current file in the Style Properties. When you select the "Default" style, and pick a font, it sets the screen font of the current file, which is part of the File Type Options. It is equivalent to selecting Options > File Type Options and setting the Screen Font.
  • Change: Options > Preferences > Searching: "Automatically load selection into find pattern" has change its meaning slightly. If the option is disabled, the text at the insertion point or the selected text is never loaded into the search pattern. It used to load it if 1 or more characters were selected.

New in Source Insight 4.00.0092 (Mar 20, 2018)

  • Fix: Crash when parsing some Perl files with long lines. This could happen during Synchronize Files, or when idle as the project is parsed in the background.
  • Fix: Auto complete finding wrong structure members in some cases when token macros are used.
  • Fix: Python: error parsing some import statements could cause the rest of the file to not parse.
  • Fix: Python: comment-only lines that start with '#' were incorrectly affecting the current indent/nesting level.
  • Fix: Auto-complete sometimes failed to work when member fields were defined with a token macro expansion.
  • Fix: Project Folder Browser panel, and in Project > Add and Remove Project Files: was unable to navigate down into a single folder whose name was longer than 64 characters.
  • Fix: C++: Failed to find the return type of a function if the return type used a "smart" pointer template type, such as shared_ptr.
  • Fix: C++: Global scope resolution operator :: was not always interpreted correctly.
  • Fix: C++: Failed to deduce the type of an array element in a template that implemented operator[].
  • Fix: Editing project-specific-conditions, and project-specific imports was allowed for read-only projects.
  • Fix: Project-specific configuration parts were not loading when you opened a different project.
  • Fix: View > Vertical Scroll Bar did not always show the scroll bar, if the vertical scroll bar was disabled in Options > Preferences > Windows, depending on whether the "enhanced" scroll bar was used or not.
  • Fix: Memory management problem when opening very large projects with over 50 million index entries.
  • Change: You can now set the Default font for the current file in the Style Properties. When you select the "Default" style, and pick a font, it sets the screen font of the current file, which is part of the File Type Options. It is equivalent to selecting Options > File Type Options and setting the Screen Font.
  • Change: Options > Preferences > Searching: "Automatically load selection into find pattern" has change its meaning slightly. If the option is disabled, the text at the insertion point or the selected text is never loaded into the search pattern. It used to load it if 1 or more characters were selected.

New in Source Insight 4.00.0089 (Jan 17, 2018)

  • Fix: Macro event DocumentChanged was not called when a file was changed outside of Source Insight and then reloaded.
  • Fix: C++: Uniform initialization using braces was not working. For example: void SomeClass::Function() : member{x}
  • Fix: C++: support for digit separators. Eg: int x = 234'000;
  • Fix: C++: lambda functions: misc fixes: capture variables by reference, trailing return types, specifiers and exceptions.
  • Fix: C++: fix to pointer dereference using std::unique_ptr.
  • Fix: Search Results: Incorrect codepage might be used to display results for some searches using Lookup References and Search Files.

New in Source Insight 4.00.0088 (Dec 8, 2017)

  • FixC/C++ include statement was not working correctly for relative paths if you used the Jump to Definition command to open the header file.
  • FixImporting some .NET assemblies encountered multiple errors while importing.
  • FixImporting too many external libraries or assemblies could cause a crash.
  • FixCrash using Search and clicking a file link in Search Results when no project is open.
  • FixOccasional pausingUnder some conditions, the program could stop responding for several seconds periodically if you have no Internet access. Related to thisan occasional error message might appear about "HttpSendRequest".
  • FixYou can drag and drop files onto the Project File List panel to add them to a project. The list was not updating right away after dropping the files.
  • FixAdded a horizontal scroll bar to the Symbol window pane.
  • FixProject Symbol Categories panelThe font setting was not working.
  • NewAdded support for Microchip C extensions. To enable, select Options > Preferences > Languages. Click the Special... button. Tick the box that says "Support Microchip C extensions".

New in Source Insight 4.00.0087 (Oct 18, 2017)

  • New: Options > Load Configuration now has an option to import version 3.5 Custom Commands.
  • Fix: C/C++ Source File: added *.hh file association
  • Fix: Project > Add and Remove Project Files - fixed keyboard short cut in prompt to add top level sub-directories.
  • Fix: Crash could happen when activating the Source Insight application window.
  • Fix: Search > Replace: The "preserve case" option was not working.
  • Fix: Typing Shift+CapsLock or Shift+Pause would insert a bogus character.
  • Fix: C++: Anonymous namespaces were not parsed correctly.
  • Fix: C/C++: designated initializers were not being parsed.
  • Fix: C++: Templated class was not parsed correctly for member functions. For example:
  • SomeClass<type>::Function() { ... }
  • Fix: Using -ub command line option in Trial mode to update project in batch mode would cause a crash.
  • Fix: Context Window option was not being saved: "Show base structure".
  • Fix: Symbol Pane was sometimes missing classes and/or member functions.
  • Fix: Auto-complete window on rare occasion would draw with a transparent background.
  • Fix: Export Project to HTML: body background color was set, but text color was not being set.
  • Fix: Command line was not recognizing Unicode text. Also, double-clicking a file in Windows Explorer would not open the file if the file name was non-ANSI.
  • Fix: Crash fixed in Perl parsing.
  • Fix: Crash could happen when selecting a node in the Relation window graph view.
  • Fix: Improved memory management for large projects. The Project Symbol panel could run out of memory for very large projects.
  • Fix: Macro function GetWndSel was returning a bad Selection record for a block selection. The xLeft and xRight fields were missing.
  • Fix: Code Reformatter: improved handling of function specifiers such as 'const', 'final', and others.
  • Fix: Window > Pick Window: closing a window was not updating the Window Tab bar right away.
  • Change: The text in the Project Symbol panel is not deleted when the Source Insight program is deactivated.

New in Source Insight 4.00.0085 (Apr 6, 2017)

  • Fix: Using the mouse: Ctrl+Left-Click was not performing Jump To Definition correctly. This happened if you imported v 3.5 configuration key bindings.
  • Fix: Crash could happen while synchronizing a project. The crash happened while parsing code with syntax errors declaring class template parameters.
  • Fix: Was not remembering the height of the Context Window and other panels that were docked to the side or bottom edge of the application window.
  • Fix: Custom Commands: Crash could happen depending on the length of the "Run" command line string.
  • Fix: In macro files, macros were not working if you used comments using /* and */ delimiters.
  • Fix: Updated style for "Delimiters". Removed the "print together with next line" property, which caused bad page breaks.
  • Fix: Style Properties: If you add a new user-defined style, its settings were not restored on the next launch of Source Insight.
  • Fix: Style Properties: If you selected Pick... under Font Name, then canceled, the current font was messed up.
  • Fix: Directory Compare: When the Comparison Method was set to "compare file contents", it was not doing that if the file time stamps were different. Now if you choose that method, the time stamps are completely ignored.
  • Fix: Fixed typo in the description of the "Smart Beginning of Line" command.
  • Fix: Memory leak fixed that happened when configuration files were loaded.
  • Security Change: All the program files included in the Source Insight installation are now signed using the Authenticode code signing certificate for Source Dynamics. Previously, only the setup program was signed. To see if a program file is signed correctly and not tampered with, right-click on the .exe file in Windows Explorer and select Properties. Click the Digital Signatures tab. You should see the Source Dynamics signature in the list. Select it and click Details to drill down and see the signature and certificate information.

New in Source Insight 4.00.0082 (Feb 21, 2017)

  • Improved language parsing for C/C++, C#, Java, and other languages.
  • Language support now built-in for Objective-C, Python, PHP, XML, and JSON files.
  • Imports symbols from external sources, such as .NET assemblies, Java JAR files, and Include files.
  • File Window tabs appear across the top of the main application window.
  • Collapsible code blocks. You can control the position and appearance.
  • File and directory comparing (diff).
  • Code beautifier that works on curly brace languages, such as C/C++ and C#.
  • Unicode support.
  • Automatic reference highlights when you click on any identifier, showing references in the correct scope.
  • New User Interface with Panels and user-defined Visual Themes.
  • New Overview scroller bar is positioned like a scroll bar, but gives you a bird's eye view of your file. It can show you the boundaries of the current function and help to orient you within long functions.
  • New enhanced vertical scroll bar shows more details within the scroll bar.
  • Multiple window layouts you can switch quickly.
  • Code Snippets - define reusable templates of code to insert, which can include auto-generated placeholder variables.
  • Improved bookmarks - book marks are now stored persistently and they are stored as a line offset from a nearby function or class name. Each project has its own book mark list.
  • Improved Relation window - Reference finding is faster. There is also a new relation type for functions: "calls and callers". This shows both in the same outline or graph. You can also copy the graph view to the Windows clipboard.
  • Maintain backup files per-project, and easily compare with backup versions, or open an older version of the current file.
  • Better regular expressions - now supports Perl-compatible and multi-line expressions.
  • Better support for large projects. The virtual memory usage has been improved so that very large projects can fit better into the memory space. Older versions could suffer from a file read error on the project index files for large numbers of symbols, leading to project corruption. This has been eliminated.
  • Easier project management with multiple users and machines by using a Master File List. A project can have a MFL, which can be a part of your source code repository and shared with other people. It is a simple text file that lists all the files (and/or directories) in your project.
  • Export project source to HTML site. You can use this to export all the files to HTML versions that contain most of the same syntax formatting you see in Source Insight. This builds a web site that can used to browse the project source code with a web browser.
  • Browser Mode - Source Insight behaves as a read-only code browser. Simply clicking on identifiers will jump to definitions like in a web browser.
  • Symbol Window pane attached to each source file window now has a collapsible outline view.
  • All new configuration system which keeps all your settings in XML files.
  • Many improvements all over the program!

New in Source Insight 3.50.0081 (Mar 14, 2016)

  • Fix:
  • Display was corrupted if line numbers were visible, and window was horizontally scrolled, then resized.
  • Running a Custom Command with "Paste Output" option enabled and no file open could cause a crash.
  • Changes:
  • Added support for several C++ and C# language items:
  • managed C++ keywords: __gc, __abstract, __delegate, __event, __property, __sealed, and __value, value, and ref.
  • enum base types. For example: enum MyEnumType : int { ... }
  • C++ and C# override and final specifiers
  • C# async keyword.
  • C++ const member declarations.

New in Source Insight 3.50.0079 (Sep 26, 2015)

  • Fix: When clicking and dragging to select text with the mouse, the highlighted section stopped updating on the screen after about 5-6 seconds.
  • Fix: Sometimes tool windows such as the Relation or Context window would disappear.
  • Fix: C preprocessor #define contants would not be found if they started with "if" or "else" or "end".

New in Source Insight 3.50.0076 (Mar 9, 2015)

  • Fix: Draft View was showing source code in monochrome. Draft view is supposed to show only color formatting, but not font or font size changes.

New in Source Insight 3.50.0075 (Mar 9, 2015)

  • Fix: Crash when searching with certain regular expression patterns.
  • Fix: Crash when synchronizing projects and building the search index, which was caused by very long identifier names.
  • Fix: When using Search and Replace and the replacement string was empty, then the search would skip over the next character.
  • Fix: Crash in some cases during project synchronization if an error occurred updating the symbol database for a particular source file. It now skips the problem file and continues with synchronization.
  • Fix: Searching with the "whole words only" option would not find matches if the search pattern contained multiple words. For example, searching for "dog cat" with "whole words only" would fail to find some instances.
  • Fix: Crash could occur if a display Style contained both a "font size" AND a "font scale" value.
  • Fix: Crash could occur when exiting Source Insight on Window 8/8.1.
  • Update: The C/C++ token macros (in the c.tom file) were updated with more definitions.
  • Update: Code signing certificate was renewed.
  • Change: Switched to InstallShield for the installer program. Be sure to run as an Administrator when you run the setup program.
  • Change: The default font was changed to Consolas, and the default syntax formatting styles were changed. This only affects fresh installs, so your existing settings won't change. If you want to reset to the new defaults, exit Source Insight. Go to the "Documents\Source Insight\Settings" folder and rename "Global.CF3" to something else. Restart SI.
  • Change: Several "custom language" extensions are now part of the installation. They get installed into the \languages folder. They are automatically added to the languages list available via Options > Document Options. These files were (and still are) available on our web site at www.sourceinsight.com/public/languages
  • Change: Some default settings were changed.
  • Change: Added additional logging and checking during program initialization.

New in Source Insight 3.50.0073 (Mar 9, 2015)

  • Fix: Crash when searching with certain regular expression patterns.
  • Fix: When using Search and Replace and the replacement string was empty, then the search would skip over the next character.
  • Fix: Crash in some cases during project synchronization if an error occurred updating the symbol database for a particular source file.

New in Source Insight 3.50.0072 (Mar 20, 2013)

  • Fix: C/C++ parsing support for managed pointers and "handles".

New in Source Insight 3.50.0071 (Mar 18, 2013)

  • Fix: C/C++ some parsing errors handling lines ending with the continuation mark (\).
  • Fix: C/C++ bug parsing of function formal arguments declaring pointers to arrays.
  • Fix: C# symbol resolution for property and indexer member types.
  • Fix: Several VHDL parser fixes.
  • Misc: Code signing certificate updated.

New in Source Insight 3.50.0070 (Jul 23, 2012)

  • Fix: Java: Generic functions with a type specifier before the function name would cause a parsing failure.
  • Fix: C#: long nested namespace names resulted in a corrupted namespace name.
  • Fix: Macro Language: post and pre-increment on a variable caused an error when used as a single statement.

New in Source Insight 3.50.0065 (Aug 3, 2011)

  • Fix: Holding down the CTRL key for a long time on Vista or Windows 7 would cause the application to become gray and inactive.
  • Fix: Misc symbol lookup and syntax formatting fixes.
  • Fix: Added support for Java annotations.
  • Fix: General parsing errors caused by very long symbol names.
  • Fix: Some parsing errors that could happen in lines that end in continuation mark (\)
  • Fix: File seeking error that happened when the SI.LOG file got too big.