10x Changelog


02/06/2023Version (1.0.37)
-(parser cache update)
-fixed parser getting stuck on files with complex macros (added timeout)
-fixed parser getting stuck on files with badly formed gcc attribute statements
-fixed New File in 10x workspaces overwriting existing file
-fixed macros not being resolved in Run Working Directory setting
-added ReverseFindSelection setting
-stopped Enter moving to next find result if CloseFindPanelOnEnter setting is true
-fixed missing key bindings and settings in online documentation
-fixed __cplusplus define sometimes not being added to project
-fixed text alignment for long values in drop down list box
-updated vim.py


27/05/2023Version (1.0.36)
-made -NewInstance command line option disable RestoreUnsavedFiles setting
-made GetSetting in python API callable from other threads
-made non-thread-safe python API functions throw an exception
-fixed weird formatting errors editing newly added files to a 10x or folder workspace
-fixed CloseFile not working in 10x_notepad if the file is empty
-fixed crash deleting the default colour scheme
-fixed colour schemes showing up multiple times
-made delete colour scheme move the file to the recycle bin instead of deleting it


26/05/2023Version (1.0.35)
-stopped the workspace from refreshing (and collapsing the workspace tree) every time the workspace is saved. Also fixes workspace tree collapsing when files are moved, renamed or deleted.
-fixed weird issue with parser inserting the wrong line when formatting lines
-fixed crashes calling non-thread safe python API functons from other threads. Now throws and prints an error.
-updates to vim.py
-fixed active workspace toolbar position not updating when window is resized
-fixed non-ASCII chars sometimes not displaying properly in build output
-fixed crash clicking in workspace search results
-fixed main menu still having focus when alt-tabbing into another app and back
-fixed tab key inserting 2 space tab instaed of 4 in python files (or any non-c++ file)
-fixed crash in Unreal reloading projects after external modifications


20/05/2023Version (1.0.34)
-fixed crash in workspace search introduced in previous build


20/05/2023Version (1.0.33)
-fixed crash on startup introduced in previous build (missing dll in installer)


20/05/2023Version (1.0.32)
-active workspace toolbar
-new 10xEditorLink Visual Studio extension for 10x <-> VS communication
-fixed debug args not being set in VS debugger
-fixed description tooltips not showing for drop down edit text boxes


18/05/2023Version (1.0.31)
-fixed control clicking on a word modifying the text (from the new text drag feature)
-fixed triple click drag select lines putting the cursor at the end of the line and causing a horizontal scroll
-optimisation to opening UE projects for the first time (or after a parser cache version update)


17/05/2023Version (1.0.30)
-stability fixes for python API
-made python API functions thread safe (important fix for RemedyBG script)
-made python API function that are not thread safe fail with an error message
-added TextDrag setting to disable text dragging with mouse
-change mouse to cross when dragging text
-fixed single clicking in a selected region not deselecting and setting cursor pos (broke in last build with text drag feature)


16/05/2023Version (1.0.29)
-implemented dragging of selected text with mouse


16/05/2023Version (1.0.28)
-support triple click drag line selection


16/05/2023Version (1.0.27)
-fixed crash exiting 10x while launched exe is still running


15/05/2023Version (1.0.26)
-fixed Unreal C# projects not building


15/05/2023Version (1.0.25)
-optimisations to syntax highlighter
-fixed workspace search locking up when it finds files with very long lines
-added .ini and .json to workspace search extensions
-fixed active project sometimes not being remembered after reloading the sln
-fixed debug args not overloading if set to empty string
-fixed white focus border getting stuck on after pressing button


11/05/2023Version (1.0.24)
-fix for templated using alias


11/05/2023Version (1.0.23)
-support for templated using aliases


11/05/2023Version (1.0.22)
-fixed missing defines for UE non-editor configs


11/05/2023Version (1.0.21)
-fixed parser crash updating from external edits
-fixed crash editing in blank source preview window in find symbol panels
-fixed force include paths with backslashes not working
-lua syntax highlighting


09/05/2023Version (1.0.20)
-fixed crash reparsing external edits (eg from switching branch)


08/05/2023Version (1.0.19)
-converted 10xLicenseServer to a service
-fixed multi-row selection in 10x license server
-prompt about unregistering oldest install when max install count reached
-fixed registration verify failed message sometimes incorrectly showing after register complete


07/05/2023Version (1.0.18)
-fixed hang searching for .* regex
-fixed cursor blinking in unfocused text boxes
-fixed crash if font fails to load


26/04/2023Version (1.0.17)
-fixed rare stall and potential crash in workspace search for results with extremely long lines


26/04/2023Version (1.0.16)
-fixed symbols and files sometimes being carried over into new workspace


25/04/2023Version (1.0.15)
-fixed crash saving large folder workspace as 10x workspace
-fixed crash opening the "Save folder workspace as 10x workspace" panel twice
-fixed crash with mismatched begin/end undo from python script


17/04/2023Version (1.0.14)
-fixed additional include paths setting not working for sln workspaces
-updates to vim.py


14/04/2023Version (1.0.13)
-fixed Open Workspace and Open Solution not working (broke a few versions back)


14/04/2023Version (1.0.12)
-fixed cursor showing in unfocused text boxes (introduced prev build)
-made text boxes use cursor blink rate from settings
-fixed text box cursor blink not resetting when cursor is moved
-made SaveAll for Build also save non-workspace files, but not untitled files
-fixed find panel not showing if find/replace panel showing or command panel showing (and vice-versa)
-made alt+shift+click region select follow mouse movement if held
-update to vim.py


13/04/2023Version (1.0.11)
-added zoom in.out commands (control+shift+., control+shift+,)
-increased zoom speed
-use the directory of the current file in the OpenFile dialog
-stopped build and StartDebugging from trying to save unsaved files that are not in the workspace
-made python SetSetting function add the setting if it doesn't exist
-reset cursor blink in edit text boxes when cursor moves
-added alt+shift+click to select a rectangular region from the current cursor pos
-fixed multi-cursor rect select position on empty lines
-made -NewInstance command line arg ignore RememberOpenFiles setting
-updated vim script


10/04/2023Version (1.0.10)
-improvements to online registration
-integrated changes to vim.py from @Bricktheworld
-refactor, fixes and new commands added to vim.py
-fixed colour scheme files coming back after they have been deleted
-write modified state files after 1 second instead of at exit
-made goto prev/next location use scroll margin
-made Run output to build output instead of 10x output (for both sln and 10x workspaces)
-made sln workspace Run output exit code
-made all perforce commands check for a p4config file
-fixed blank error message for perforce commands on files not under the root
-added RDRDark colour scheme
-added GetVisibleLineCount to python API
-added ScrollCursorIntoView to python API
-added GetScrollLine and SetScrollLine to python API


05/04/2023Version (1.0.9)
-more fixes for missing UE5 defines
-fixed python lockup calling print from another python thread


04/04/2023Version (1.0.8)
-Changes to License Agreement
-1. Personal licenses can now be used for commercial work
-2. Business licenses can be purchased by individuals
-3. Business licenses can be installed on 3 machines for each user


03/04/2023Version (1.0.7)
-fixes for UE5 missing defines
-fixed 10x_notepad.exe not being signed
-fixed 10x workspace Run command (now uses workspace as working directory again)
-added Run Working Directory 10x workspace setting (empty settings means use Workspace dir)
-renamed SetUEPCHLogFolderName to SetUEPCHLogFilename and make it take a filename instead of a folder
-made 10x workspace run command log to build output panel


02/04/2023Version (1.0.6)
-fixed blurry map scroll bar


31/03/2023Version (1.0.5)
-fixed defines not being found for UE5 Server config
-new code signing certificate
-log out when it finds a p4config file
-made VS project Debug args preserve values when unchecking "Sync from Project"
-fixed text boxes not updating when readonly value changes
-about beta list update


30/03/2023Version (1.0.4)
-added -NewInstance command line arg to stop it opening files in existing instances
-stopped it prepending the workspace directory to the 10x workspace run command
-made the 10x workspace run command log output to the output panel
-added more named to About panel
-made Perforce OpenForEdit always check for the P4CONFIG file
-fixed defines and additional include paths not being picked up for NMake VS projects
-fixed puredevreg.verify being put into root of appdata
-fixed SetCursorPos documentation


29/03/2023Version (1.0.3)
-fixed non-ASCII char rendering in special thank you in about panel


29/03/2023Version (1.0.2)
-Special thank you section for Beta supporters in About panel


28/03/2023Version (1.0.1)
-fix for registering with cancelled subscription that's still in date
-added gruvbox colour scheme


23/03/2023Version (1.0.0)
-version 1.0 release


23/03/2023Version (0.36.18)
-fixed crash shutting down if panel with docked panels is docked to a column panel
-fixed build errors not being shown as errors if there is a space after the line number


22/03/2023Version (0.36.17)
-fixed crash docking floating panel with dock split


20/03/2023Version (0.36.16)
-fixed GotoNextBuildError for gcc style errors and warnings (broken in previous build)


20/03/2023Version (0.36.15)
-new license agreement
-added support for local license server
-added new Gold colour scheme
-added "Watch Intro Video" panel on first launch
-only show the Visual Studio setup failed message if opening a sln workspace
-don't show config and platform dropdown boes until workspace opened
-refresh the map scroll bar when a file is modified externally
-improved handling of build error lines
-fixed build lines containing ": error" being marked as build errors
-any line with "filename(#,#):*error" will now be treated as an error line
-fixed crash when d3d driver fails to create a texture


16/03/2023Version (0.36.14)
-minor tweaks to installer UI text
-made perforce checkout retry 3 times
-made perforce checkout try and reconnect if it loses it's connection
-fixed unsaved files panel not showing again after it is closed with the close panel X button
-fixes to registration system ready for launch
-tweaks to registration panel UI
-fixes to cursor position for registration key text box
-fix for not being able to overwrite selected registration key text


14/03/2023Version (0.36.13)
-fixed handling of lost directx device (such as when updating drivers)


13/03/2023Version (0.36.12)
-fixed all perforce commands failing after a timeout
-changed PerforceTimeout default from 20 to 40 seconds


12/03/2023Version (0.36.11)
-fixed functions in std::unordered_map not parsing
-fixed parsing of rvalue function args
-fixed parsing of function args with ellipses
-fixed parser sometimes finding the wrong class for templated classes
-fixed binary numbers with apostrophes not parsing
-made Control+F select the find text if the find panel is already showing
-removed settings autocomplete for the colour scheme files
-fixed colour scheme files coming back after they have been deleted
-fixed message box losing focus after menu is closed
-fixed duplicated colour schemes
-fixed crash rendering map scroll bar if it fails to create a texture


12/03/2023Version (0.36.10)
-fixed crash on startup due to zero window width


11/03/2023Version (0.36.9)
-fixed installer update


11/03/2023Version (0.36.8)
-fixed installer repair


10/03/2023Version (0.36.7)
-fixed it not reading in any build vars from VS project (broken a few versions back)
-modification to firefly colour scheme


10/03/2023Version (0.36.6)
-fixed adding a folder by dragging it into the workspace tree
-fixed potential hang in parser


08/03/2023Version (0.36.5)
-fixed all colour schemes showing up twice
-fixed parser cache sometimes not writing causing more parsing than necessary
-fixed potential lockup in preprocessor
-stopped registration showing warning for network failures


07/03/2023Version (0.36.4)
-fixed perforce connection ignoring IP in settings


06/03/2023Version (0.36.3)
-renamed Colour to Color in UI and settings (including ColourSceme setting name and ColourSchemes settings directory)
-fixed goto-def/decl failling on functions with void args, eg. Function(void)
-added shader.10x_syntax syntax highlighting file (currently just c++ with some extra keywords)
-added .vcxproj,.csproj,.sln to xml syntax highlighting file
-fixed syntax highlighting file extension list failing when there is whitespace between entries
-reorganised and renamed items in Help menu
-made 'Beta Expired' message box show update panel when closed
-ignore `OpenLastWorkspaceOnStartup` setting when opening a file from the command line
-fixed workspace not reloading when workspace file has been saved from 10x
-changed default key binding for WorkspaceSearch to control+shift+F
-changed default key binding for FindInFiles to control+shift+G
-fixed map scroll bar showing without syntax highlighting on first open
-fixed map scroll bar sometimes not updating from external edits
-fixed Perforce history not working on older version of p4v
-made msbuild use default config/platform when opening a project file
-changed default for ParserMaxFileSize to 50MB
-fixed window not being able to be resized after dragging down from maximised
-fixed old define names not being removed from autocomplete when a define is renamed (or typed)
-added .fxh to ParserExtensions setting


02/03/2023Version (0.36.2)
-new DirectX 11 renderer
-improved rendering quality of map scroll bar


01/03/2023Version (0.36.1)
-Updated the "Beta Expired" date


28/02/2023Version (0.36.0)
-changed Perforce integration to use the c++ p4api instead of the .NET p4api
-fixed bugs in perforce timeout
-fixed perforce diffing of files with non-ASCII chars
-show message box if perforce diff fails
-improved message box text formatting


25/02/2023Version (0.35.103)
-fixed crash resizing floating panel with docked panels


25/02/2023Version (0.35.102)
-fixed crash docking a panel to a floating panel


23/02/2023Version (0.35.101)
-fixed P4CONFIG file connection (broke in last build)
-fixed PerforceConnect command ignoring current P4CONFIG file settings
-fixed P4CONFIG file requiring P4USER, now uses value from settings
-improved logging for perforce connection


22/02/2023Version (0.35.100)
-fixed Perforce connection (broke in last build)


22/02/2023Version (0.35.99)
-fixed UE defines for debug config
-added timeout to perforce commands
-added PerforceTimeout setting (defaults to 20 sec)
-add backspash to end of SolutionDir variable in VS build single file
-fixed parsing variables that start with a gcc attribute


20/02/2023Version (0.35.98)
-fixed 10x_notepad not starting after first launch


20/02/2023Version (0.35.97)
-fixed includer defines not working for directorie names containing dots (fixes a lot of windows includes)
-fixed parsing of multi-dimensional function args
-fixed parser cache not locking file when writing resulting in potentially corrupt cache
-fixed log file not being locked potentially resulting in multiple processes try
-fixed crash and show message box if python failed to initialise
-made GotoNextResult command go to the next result of the last focused panel
-bring 10x window to the front when closing with unsaved changes
-modifications to VS project files are now picked up instantly (rather than waiting for focus)
-fixed rare crash in file backup
-made binary file IO non-shared by default


17/02/2023Version (0.35.96)
-disabled site customize for python initialization which could cause a crash on startup


17/02/2023Version (0.35.95)
-added Cancel Build setting to 10x workspace build settings
-added more license details to about panel
-fixed unsaved files being restored twice after crash and causing another crash when closing
-fixed empty file being generated when opening workspace for unsaved files that no longer exist
-fixed multi-cursor not being cleared on GotoNextBuildError
-fixed rooted paths not working in 10x workspace build settings
-set $(SolutionDir) variable in BuildFile for sln workspaces
-fixed new unsaved files not being backed up until restart
-added ParserMaxFileSize setting to stop parser trying to parse huge files that often just contain big arrays (defaults to 10MB)
-made ANSI encoding use current OS code page
-parser support for variable definitions with `__attribute__()`


15/02/2023Version (0.35.94)
-registration changes and fixes
-fixed registration details not being remembered in settings file after registration
-fixed colours in subscription email
-fixed crash showing Registered message box more than once
-Workspace Search mouse wheel scroll speed


10/02/2023Version (0.35.93)
-fixed files appearing twice workspace tree for VS projects


10/02/2023Version (0.35.92)
-fixed goto-def sometimes not scrolling the new cursor pos into view
-fixed F3 sometimes searching for old search term after find panel opened


09/02/2023Version (0.35.91)
-fixed parser finding wrong Array class in UE


08/02/2023Version (0.35.90)
-fixed parser finding wrong UE Vector struct
-scroll cursor into view on MoveToMatchingBracket command


07/02/2023Version (0.35.89)
-fixed parsing of c# VS NET projects (files now recursivly added by default)
-added support for wildcards in VS project file include paths
-fixed VS project files being put in the root if there is no filters file (now used directory structure)
-fixed parser stalls after external edits (stopped it writing the parser cache after updating files from external edits)
-added MoveToMatchingBracket command (control+shift+\)


05/02/2023Version (0.35.88)
-fixed empty folders not showing in 10x workspaces
-added a checkbox for "Show Empty Folders" (defaults to true)
-fixed hang opening workspace if MaxCoreCount setting is missing or set to 1


02/02/2023Version (0.35.87)
-fixes for multi-cursor autocomplete
-fixed nan in parser compressed stats percent


31/01/2023Version (0.35.86)
-fixed crash opening workspace search
-bumped parser cache version to clear out bad data


30/01/2023Version (0.35.85)
-change to the EULA


24/01/2023Version (0.35.84)
-fixed crash after "Close All" panels in a column with no panels and then changing colour scheme
-added logging if perforce connection fails
-fixed drag-drop to open files not working if dropping over hidden workspace tree
-fixed rare crash in parser typing indirection
-fixes to registration system UI if registration fails to validate
-fixed message box not being focusable if showing over another top-level panel


18/01/2023Version (0.35.83)
-fixed rare crash reading past end of string


17/01/2023Version (0.35.82)
-added Alt+Shift+PageUp/Down key mappings to allow selection with multi-cursor
-fixed parser bug causing it to do more parsing than necessary for open files on startup and on full parse


16/01/2023Version (0.35.81)
-fixes for autocomplete with multi-cursor
-fixed auto-fix-indirection with multi-cursors
-fixed RestoreUnsavedFiles when opening and closing workspaces
-stopped workspace being added to recent workspaces if it failed to open
-add file to recent files list when it's saved
-added OverrideSetting() and RemoveSettingOverride() to python API
-added __int64 to built in msvc types
-update workspace search results when the types value changes
-tweaked text left margin for edit text box


14/01/2023Version (0.35.80)
-fixed parsing of msvc types such as unsigned __int32
-added logging every time a file is saved or modified on disk
-implemented cancelling of 10x workspace builds
-build is cancelled when workspace is closed (fixes crash)
-fixed large stall shutting down if syntax highlighter is still evaluating changes
-fixed .cu files not appearing in VS projects
-fixed panel grid border focus colours on initial start
-fixed panel grid border focus colours not updating after selecting a panel outside the panel grid
-fixed crash with goto-def on includes without a closing quote


12/01/2023Version (0.35.79)
-right clicking on a workspace tree node now selects the node
-fixed find/replace not updating the display lines text


11/01/2023Version (0.35.78)
-autocomplete submit now works with multi-cursor
-fixed preprocessor bug (caused things like msvc printf to not be recognised)
-updated vim.py script
-removed .asm from C++ parser extension list
-fixed zoom context menu showing as black
-fixed right clicking in the workspace tree not selecting the node (and causing crashes)
-fixed crash with Find-in-files if no workspace is open
-fixed problems mapping the same key to multiple commands
-renamed "Vertical Panels" menu items to just "Panel Count"
-made setting panel count to "auto" remove empty panels
-fixed opening of workspaces and files using WSL paths
-fixed menu item text off center with UI scaling
-fixed big stall replacing text in very long lines


03/01/2023Version (0.35.77)
-fixed large stall opening a lot of files at once
-fixed opening multiple selected files in workspace tree with open context menu item
-fixed define references not updating after changing the name of a define
-fixed resolving of namespace function return types
-re-write of prev/next location (fixes lots of bugs)
-made it ignore the MaxOpenTabs setting when opening a large amount of files at once
-added CloseFindFilePanel command
-added CloseCommandPanel
-made FindFilePanel accept line number eg MyFile.cpp:10
-fixed opening a folder from the command line
-fixed keep/discard changes panels appearing multiple times for same file
-fixed settings autocomplete disappearing on down key
-added IsFindFilePanelOpen to python API
-added IsCommandPanelOpen to python API
-fixed border colour not updating for inactive tabs
-fixed indirections not reparsing after changing type of variable
-fixed parsing of struct enums
-fixed re-resolving of indirection types
-fixed parsing of hex numbers with apostrophes
-fixed parsing of float hex numbers with exponents


21/12/2022Version (0.35.76)
-fixed multi-cursor cursor movement (broken a few builds back)


21/12/2022Version (0.35.75)
-another fix for the install error bug


21/12/2022Version (0.35.74)
-fixed the "there was a problem with the 10x installation" error, caused by plugging in external disk drives


21/12/2022Version (0.35.73)
-fixed bad formatting of newly added key mappings in last build


20/12/2022Version (0.35.72)
-added VerticalLineGap setting and default it to 1 (used to be 2)
-added commands and key mappings for previously hard coded cursor key and home/end keys
-added `SelectUp`, `SelectDown`, `SelectLeft`, `SelectRight` commands (for shift+cursor keys)
-added `MoveToLineStart` and 'MoveToLineEnd' commands (home/end keys)
-added `SelectToLineStart` and `SelectToLineEnd` commands (shift+home/end keys)
-added `MoveToFileStart` and `MoveToFileEnd` commands (control+home/end keys)
-added `SelectToFileStart` and `SelectToFileEnd` commands (control+shift+home/end keys)
-added `ScrollOneLineUp` and `ScrollOneLineDown` commands (control+Up/Down)
-added `PageUp` and `Pagedown` commands (PageUp/Down keys)
-added `SelectPageUp` and `SelectPagedown` commands (shift+PageUp/Down)
-MoveCursorUp/Down etc now doesn't detect shift key, use Select Up.Down etc instead
-stopped it asking to save unsaved files if `RestoreUnsavedFiles` setting is set
-fixed crash modifying restored unsaved file
-fixed rare crash after undo if cursor past end of file
-fixed crash restoring invalid font texture after device restore
-fixed SelectCurrentWord menu item


19/12/2022Version (0.35.71)
-stopped single thread sometimes spinning when device is lost and app is in the background


17/12/2022Version (0.35.70)
-made FindFile panel and Workspace Search include open files that are not in the workspace
-fixed CPU spinning one thread when DisablePresentWhenIdle is false and the app has lost the directx device and is not in focus


16/12/2022Version (0.35.69)
-fixed memory explosion and crash updating frequently changing externally modified files
-optimisation for updating frequently changing externally modified files
-make cursor track end of externally modified files
-made each instance of 10x use a different log file
-made 10x_notepad use a different log file from 10x
-added a Name text box to SaveFolderWorkspaceAsWorkspace panel


15/12/2022Version (0.35.68)
-made autocomplete filter using the current word up to the cursor
-fixed window not being resizable after clicking in the title bar area
-clear the precache after initialisation to save some memory
-sync breakpoints when the debugger starts
-renamed "Sync Files" checkbox to "Sync Folder" in folder settings panel
-disabled adding of files and folders to sync'd folders in 10x workspaces
-fixed rendering issue where it only renders to a square in the top left on startup
-fixed docking to panels docked in a sub-panel


14/12/2022Version (0.35.67)
-fixed startup crash due to precache


13/12/2022Version (0.35.66)
-fixed crash adding new colours to colour scheme in version updater
-reset all settings if updating from version more than 6 months old


13/12/2022Version (0.35.65)
-minor fix to one of the startup optimisations


13/12/2022Version (0.35.64)
-fixed Workspace Search not finding files (broken in last update)


13/12/2022Version (0.35.63)
-startup optimisations. Now starts in 200ms
-fixed bug with 10x notepad not starting if previous instance is still shutting down
-added .10x to xml syntax highlighting extensions
-added .rgen to parser extensions and C++ syntax highlighting
-fixed N10X.Editor python commands not working from command line


07/12/2022Version (0.35.62)
-fixed "unable to find file" message box restoring unsaved file that is not open


07/12/2022Version (0.35.61)
-fixed goto-def sometimes finding the constructor instead of the class
-show message box if invalid command entered in command panel
-improved layout of Ok message box


07/12/2022Version (0.35.60)
-renamed `RestoreUntitledFiles` setting to `RestoreUnsavedFiles`
-made RestoreUnsavedFiles setting work for any file, not just new files
-made workspace not close if RestoreUnsavedFiles fails
-fixed Visual Studio sync failing to connect on some systems


07/12/2022Version (0.35.59)
-added `RememberOpenFiles` setting (defaults to true for 10x_notepad)
-RestoreUntitledFiles setting not only takes effect when RememberOpenFiles is true
-untitled file tab order now maintained after restart
-fixed 10x taking a long time to shutdown when parsing large files
-fixed rare crash submitting Workspace Search


06/12/2022Version (0.35.58)
-fixed parsing of function args with `const typename`
-fixed some template specializations not parsing


06/12/2022Version (0.35.57)
-added RestoreUntitledFiles setting to auto-save and restore untitled files (defaults to true in notepad)
-untitled files are now called "unnamed" instead of new.txt
-untitled files take their name from the first word typed
-stoped parser from trying to parse new files with no extension


06/12/2022Version (0.35.56)
-fixed sln workspaces not including windows header and stl additional include directories
-fixed subsequent lines not getting reparsed after writing a function call


05/12/2022Version (0.35.55)
-made python scripts execute in their own environment instead of a global one


05/12/2022Version (0.35.54)
-auto-generation of settings doc page
-improves layout of key mappings doc page
-fixed autocomplete on functions that return templated types
-fixed preprocessor treaing keywords as macros if the macro has args and the keyword doesn't
-workspace settings override file should now be named the same as the sln or workspace (old 10x.10x_settings still supported though)
-don't sync empty folders in 10x workspace folder sync
-disable settings menu item for children of sync'd folders
-added `once` to the list of keywords that dismiss the autocomplete
-added .ixx to the parser extensions list
-fixed parser getting stuck when creating a new workspace that doesn't have any files
-fixed text rendering issue when a sub-menu is closed
-fixed rare crash undoing text


03/12/2022Version (0.35.53)
-fixed build hanging at end if it spawns a child process that doesn't exit


01/12/2022Version (0.35.52)
-fixed commented lines not updating after adding comment to macro args
-added SetWindowSize to python API
-enabled autocomplete for preprocessor keywords starting with hash
-added `once` to autocomplete
-fixed parser sometimes not finding symbols in parent namespace scopes declared in other files


29/11/2022Version (0.35.51)
-fixed functions in using declarations not resolving
-fixed goto-def on using declaration types, now goes to type instead of start of line)
-fixed colouring of using and typedef types, now colours as the resolved type
-added Clear to output and build panel context menus
-removed cut and paste from output and build panel context menus
-removed install exe directory from recent workspace list


29/11/2022Version (0.35.50)
-removed C:/Windows/System32 from recent workspace list (due to a bug a few builds back) as it was causing problems with the OpenLastWorkspaceOnStartup setting


28/11/2022Version (0.35.49)
-fixed sln workspaces not opening or parsing if VisualStudioEnvBat setting is not set


28/11/2022Version (0.35.48)
-fixed it opening C:\Windows\System32 as a folder workspace on startup (introduced prev build)


28/11/2022Version (0.35.47)
-fixed stall opening up large 10x workspaces
-changed default for AutosaveWorkspace to false


28/11/2022Version (0.35.46)
-made relative paths in OpenWorkspace and OpenFile use current working folder instead of exe folder
-fixed crash closing a workspace while it is async loading
-fixed description for ShowSymbolInfo command
-fixed new settings sometimes not having space after colon


28/11/2022Version (0.35.45)
-added CloseAll command
-convert path to forward slashes in python API OpenWorkspace
-fixed parse problems with relative paths in python API OpenFile
-fixed VS debugger not starting
-fixed divide by zero crash in map scroll bar


25/11/2022Version (0.35.44)
-added ShowSymbolInfo command (ctrl+K,ctrl+I by default)
-fixed parser sometimes using the wrong class/namespace of the same name in a different scope
-added EnableWorkspaceTreeDragDrop setting
-fixed breakpoint syncing not working for some values of VisualStudioEnvBat setting
-stopped FindFile panel selecting the first item if text box is empty
-fixed 10x workspaces and folder workspace missing windows additional include paths
-fixed crash in reparse
-fixed partial template specialization when no template specified
-fixed preprocessor sometimes getting wrong includer defines
-fixed drag-reordering of tree nodes over expanded nodes


24/11/2022Version (0.35.43)
-fixed crash with drag-drop of files in workspace tree


23/11/2022Version (0.35.42)
-added Sort to 10x workspace folder nodes
-can now drag-drop files onto 10x workspace folders in workspace tree
-allow sorting of sync'd folders
-adding a file to a folder now copies the file to the folder on disk before adding to the workspace
-folder node children are now sorted alphabetically
-added Delete to 10x workspace file context menu
-removed Exclude from 10x workspace file context menu
-added AutosaveWorkspace setting (defaults to true), 10x workspaces are now saved whenever changes are made
-fixed 10x workspaces being written imediately after they've been read in
-fixed maximise/restore button image not scaling well


22/11/2022Version (0.35.41)
-registration fixes
-made Enter key submit the registration panel


21/11/2022Version (0.35.40)
-fixed debugger not starting or connecting for some project types
-added UseVisualStudioEnvBat to 10x workspace settings to make the build use the VS environment setup in the VisualStudioEnvBat setting
-fixed column panel count setting not being restored when workspace opened
-fixed menu item check not updating when changing from auto to 1 panel count


21/11/2022Version (0.35.39)
-fixed SaveFile sometimes failing if another process has a shared read lock on a file (looking at you VS)


20/11/2022Version (0.35.38)
-fixed UE5 failing to build if VisualStudioEnvBat setting is set to VS2022
-made VisualStudioEnvBat default to latest installed VS env if set to auto
-fixed wrong selected text colour after undo/redo with selection


20/11/2022Version (0.35.37)
-fixed hang when building if VisualStudioEnvBat not set


20/11/2022Version (0.35.36)
-fixed new symbols sometimes not appearing in autocomplete until after a reparse


20/11/2022Version (0.35.35)
-fixed preprocessor stringify for variables that are already strings in variadic macros
-control+click to go to link
-stop autocomplete automatically showing for new variable and function definitions
-stop open bracket from submitting for new variable or functon definitions
-fixed Workspace Search text box losing focus if submitting with empty results list
-fixed selection not being restored after undo/redo
-improved About panel


19/11/2022Version (0.35.34)
-more registration changes


19/11/2022Version (0.35.33)
-registration system changes


17/11/2022Version (0.35.32)
-added InternetSearch command (defaults to F1 key)
-InternetSearch now works with current word or selection
-search term chars are now escaped properly
-prefix std:: for stl searches
-autosize context menu to fit search term
-fixed setting comment line added without hash
-fixed multi-line description handling when adding new settings to settings file


17/11/2022Version (0.35.31)
-added Internet Search for 'current word'' in file right click context menu
-added InternetSearchCommand setting (default to google)


17/11/2022Version (0.35.30)
-fixed goto-def not changing file when find panel is showing


17/11/2022Version (0.35.29)
-fixed text editor scrolling when cursor moves when find panel is showing after a collapsed region


17/11/2022Version (0.35.28)
-another fix to the VisualStudioEnvBat auto setting


17/11/2022Version (0.35.27)
-fixed VisualStudioEnvBat setting being set to VS2017 by default. Now defaults to 2019 or 2022


17/11/2022Version (0.35.26)
-bug fix for utf8 converting
-fixed crash parsing invalid datetime


16/11/2022Version (0.35.25)
-fix for 10x_notepad not showing current file in taskbar if file loses focus


16/11/2022Version (0.35.24)
-fixed parser sometimes invalidating next statement after edits
-new minimise/maximise buttons


16/11/2022Version (0.35.23)
-fixed find panel disappearing if scroll bar clicked
-fixed find panels not hiding if another panel is focused
-scale now defaults to auto if setting is missing
-OpenTabcount setting now defaults to 20 if setting is missing
-added "Only supports fixed width fonts" to EditorFont setting comment


16/11/2022Version (0.35.22)
-fixed VisualStudioEnvBat setting being cleared updating from (0.35.15) or earlier
-if VisualStudioEnvBat is empty set it to auto (it will be set on the next restart). This was done because lots of peoples setting was incorrectly cleared in a prev update. If you want it to be empty you will need to clear it again.


16/11/2022Version (0.35.21)
-change to registration system


16/11/2022Version (0.35.20)
-fixed parser finding function instead of class for Namepsace:: indirections
-fixed comma separated scopes in array initialisations being indented
-fixed find highlight not updating doing find when find panel alredy showing
-fixed autocomplete not working for class when typing member function void MyClass::
-fixed using alias not parsing if it contains declspec
-fixed words in strings being parsed as symbols after a ReparseReferences


15/11/2022Version (0.35.19)
-fix for crash if map scroll bar width setting is missing or set to zero
-a better fix for the setting renaming


15/11/2022Version (0.35.18)
-another fix for the previous build settings renaming


15/11/2022Version (0.35.17)
-fix for previous update, the settings will now be updated to the new names


15/11/2022Version (0.35.16)
-added categories to all settings
-reorganised settings
-reorganised python API
-renamed lots of settings (should update settings files automatically)
-website html doc pages generated from code for commands, python API and key mappings
-added links to the new doc pages in the help menu
-*** python now defaults to spaces and all installed python scripts have been converted to sapces ***
-added TrimLines python function
-added undo group to SortLines python function
-added AppsKey binding to ShowContextMenu
-defaulted F8 to GotoNextResult
-defaulted MouseMiddleButton to GotoSymbolDefinition
-moved perforce and DiffExe settings into local settings file by default


13/11/2022Version (0.35.15)
-fix for compiler defines not being set for some projects
-fix for preprocessor conditionals for uppercase hex values


13/11/2022Version (0.35.14)
-fixed changing a member function name causing parser to reparse function with wrong scope
-fixed preprocessor parsing macros called over multiple lines
-fixed '_WIN32' not being defined for projects with architecture `x64`


11/11/2022Version (0.35.13)
-fixed parser sometimes invalidating rest of scope after an open brace
-fixed crash in parser


10/11/2022Version (0.35.12)
-stopped parser from invalidating subsequent functions after partial function with missing end brace
-fixed parsing failing after edits in some files that use using namespace
-fixed preprocessor conditionals sometimes not updating after defines are changed
-fixed references not getting updated when a new symbol is added if they were resolved to a different symbol
-fixed crash closing find panel with escape
-fixed crash parsing macro with __VA_ARGS__ but no ...


09/11/2022Version (0.35.11)
-fix for parser sometimes parsing indirections incorrectly after edits


08/11/2022Version (0.35.10)
-made goto-def on typedef types automatically resolve if the typedef is part of a define


08/11/2022Version (0.35.9)
-stopped find panels hiding when they lose focus
-added close buttons to find and find/replace panels
-fixed find panels not showing if another find panel already showing
-fixed find panels not getting focus on ctrl+F if already showing
-scroll find text into view if it appears behind the find panel
-tweaked layout of find and find/replace panels so that they match
-stopped find/replace panel showing over horz scroll bar
-made find history list box show with most recent finds at the top
-fixed breapoints rendering over other windows
-sped up full parse by 5% (more for higher core counts)


07/11/2022Version (0.35.8)
-fix for preprocessor sometimes failing on files included from files with unmatched conditional in includer lines
-fixed formatting of constructor args


07/11/2022Version (0.35.7)
-change to registration *** you will need to re-submit your registration ***
-added ExecuteVSCommand() to python API for executing commands in the linked Visual Studio instance
-added CleanActiveWorkspace and CleanAll commands
-fixed switch file panel size after window resizing
-fixed autocomplete for double colon indirection with templates
-fixed NOT IN operator in workspace search


02/11/2022Version (0.35.6)
-added UseColumnPresets setting that specifies whether to use the ColumnNFiles settings
-reinstated the ColumnNFiles setting values to open cpp on left and header on right
-dont open a file over the search panel if it's docked in the left column
-fixed map scroll bar not updating when radion is collapsed
-fixed hover box not showing symbols that are defined over multiple lines
-fixed collapse region not working for lines with preprocessor values


02/11/2022Version (0.35.5)
-another fix for registration uuid


01/11/2022Version (0.35.4)
-fixed auto-formatting for templated classes
-use VS2019 path by default for VSEnvPath setting so that UE5 builds
-fixed parse sometimes stopping too early after edits
-made Workspace Search update result when it is opened (to cathc changed files)
-improved error messages for registration fails


01/11/2022Version (0.35.3)
-fix to registration machine uuid


01/11/2022Version (0.35.2)
-fixed large parts of file randomly being defined out after edits around defined out regions


01/11/2022Version (0.35.1)
-fixed autocomplete not including symbols from files that haven't been opened yet
-fixed rest of function scope not being reparsed when an extra close brace is removed from within the function
-made parser stop parsing extra lines when it reaches another function definition. Stops partially written functions from invalidating all subsequent functions
-fixed autocomplete not working on the first statement of a file
-fix for function symbols not being removed
-fixed rare parser crash editing files while full parse in progress
-optimisation to autocomplete


29/10/2022Version (0.35.0)
-fixed stl. Now parses the compiler stl files
-files with no extension are now parsed as c++
-removed built in eastl support
-support for fuzzy matching with numbers, eg mf11 => MyFile11
-fixed class constructor definitions sometimes not parsing correctly
-removed Win32 from the default exclude filters
-fixed settings not updating when workspace settings override file changes
-fixed wrong indent on multi-line statements with bracketed values
-stopped it reparsing all includer files every time a header file changes
-fixed shutdown timeout crash
-changed Parser.AutoFormatBlockComments default to false
-fixed member function definitions becoming unparsed when class changes
-fixed exclude filters needing to be lowercase with forward slashes
-fixed macro stringizing of args that are already strings
-fixed preprocessor failing if includer list is empty


26/10/2022Version (0.34.42)
-fixed FindInFiles with 'match word' set getting wrong offset if line has non-word match followed by a word match
-fixed FindInFiles for specific workspace not working if workspace has same name as room (sln) workspace
-fixed FindInFiles with 'regex' and 'match word' set


26/10/2022Version (0.34.41)
-fixed parsing of array index operator for arrays of pointers


26/10/2022Version (0.34.40)
-fixed block comments not always updating in syntax highlighter
-fixed occasional syntax highlighting colours mismatch after large edits
-fixed problems parsing number char literals such as '0' (bug introduced with digit separator change)
-fixed parser bugs updating from edits during a full parse


24/10/2022Version (0.34.39)
-fixed adding includes to external headers not updating until a ReparseAll (eg, add windows.h include for the first time and parser doesn't update)
-fixed Rebuild All command (removed the /t project)
-fixed ReparseAll from breaking the parsing of unsaved files
-new 10x workspaces and folder workspaces now have windows additional include paths by default
-fixed reparsing of references taking ages when new external files included
-added log message to ParseFile command
-disabled auto-indent on paste for non-code files


21/10/2022Version (0.34.38)
-added zoom menu item to show and change the zoom level to the right click context menu
-added MouseWheelZoom setting to enable/disable zoom on the mouse wheel
-fixed bracket highlight staying after bracket has been deleted
-fixed juddery resize when resizing window from top edge
-changed scroll bar min drag bar size to 8


21/10/2022Version (0.34.37)
-fixed large parts of files randomly becoming ifdef'd out
-default CommentBlockUsesLineComments setting to true
-fixed crash closing workspace on shutdown


20/10/2022Version (0.34.36)
-modifications to the way margins are calculated
-line number margin width now calculated depending on the number of lines
-margins now scale properly with font size
-changed LineMarkerWidth to font units instead of ratio
-changed Editor.Margin Width setting to font units
-fixed crash auto-adding open brace at end of file
-fixed collapsing of scopes with c-style enums
-added parser support for numbers with digit separators
-disabled line marker margin on output and build panels


19/10/2022Version (0.34.35)
-fixed syntax highlighting for python strings with escaped chars
-disabled autocomplete for colour setting files
-made Generate Crash Dump menu item use the crash dump mode setting
-disabled breakpoints on non-code files
-made resize panel take priority over clicking breakpoints
-stopped breakpoint be ing set on the last line when clicking past the end of the file
-added AddStopDebuggingFunction and AddRestartDebuggingFunction to python API
-fixed documentation for AddStartDebuggingFunction function
-fixed autocomplete for ToggleBreakpointsWithMouse setting
-optimisation to preprocessor
-fixed indenting after adding a brace scope on non-code files
-added `__inline__, __forceinline, __host__, __device__, __global__, __constant__, __attribute__, __inline__` keywords to parser
-stopped workspace search losing the currently selected result when re-opening
-fixed caret height


18/10/2022Version (0.34.34)
-fixed syntax highlighting sometimes not updating after updating references for new symbols
-improved formatting of templates
-fixed crash opening local setting panel for sln workspaces
-fixed marker margin showing over collapse/expand margin
-show over box when moving over breakpoint margin
-fixed crash dump mode setting requiring restart
-added LineMarkerWidth setting (sets width of breakpoint margin)
-added ToggleBreakpointsWithMouse setting
-fixed crash closing unsaved folder workspace
-fixed crash closing workspace while build in progress
-fixed crash loading folder workspace that also contains a 10x workspace of the same name
-fixed word wrap not updating when line numbers toggled


18/10/2022Version (0.34.33)
-fixed hang in word wrap if window goes to zero width


17/10/2022Version (0.34.32)
-fixed formatting issues for c++ casting, static_cast<> etc.
-improved formatting of templated function calls
-fixed goto-def on members of class where the class name matches the namespace outer scope
-fixed std::unique_ptr ptr operator-> parsing
-renamed workspace setting "File Types" to "Include Filter"
-made 10x workspaces and folder workspaces include all files by default with some default exclude filters
-fixed crash duplicating a new unaved file
-fixed save-as dialog extension filter
-fixed problems saving a file as an existing file that is already open. Existing panel is now converted to a duplicate panel
-10x workspace exclude filters now work on folders
-fixed folder workspaces not updating if the root folder filters are changed
-fixed mouse click-drag not capturing mouse
-fixed colouring of reinterpret_cast and const_cast


17/10/2022Version (0.34.31)
-49% speedup loading VS sln workspace
-47% speedup reading parser cache


15/10/2022Version (0.34.30)
-fix to template parsing. Templates with complex args were sometimes taking up a huge amount of memory


13/10/2022Version (0.34.29)
-fixed goto-result in find-in-files results failing for new unsaved files
-can now toggle breakpoints by clicking in the margin
-fixed breakpoints filling the entire margin width
-right-justify the hover box
-made workspace file types filter filter using the file name as well as by the full path (so that .* works)
-fixed tab close buttons disappearing when changing to 1 vertical panel with an empty panel at the top
-prioritise symbols in the workspace over symbols from the additional include dirs when there are multiple matches in the global scope
-fixed rare crash updating token array while editing
-fixed not being able to move cursor up with word wrap enabled and a long word at the start of the line
-word-wrap now splits words longer than the window width
-fixed word wrapping wrapping too early for indented lines


12/10/2022Version (0.34.28)
-fix for parser sometimes getting stuck at 99% in a full parse


12/10/2022Version (0.34.27)
-fixed it failing to parse variable definitions after a __pragma line
-fixed indirections not updating after references are reparsed when a symbol is added
-stopped it reparsing other references with same name when a symbol is removed
-fixed functions not parsing if the appear after a defined out region
-added OpenFileInActivePanel setting (defaults to false) (used to be hard coded to true)
-added RememberFilePanelPos setting (defaults to false) (used to be hard coded to true)
-added GetCurrentSymbolType() to python API
-added true/false autocomplete to some settings that were missing it
-changed UI.Column0Files settings to be empty by default
-fixed bug with resolving preprocessor stringify
-fixed crash entering key in list box that doesn't have a text box active


11/10/2022Version (0.34.26)
-fixed window resize rendering bug on AMD cards


10/10/2022Version (0.34.25)
-fixed map scroll bar rendering repeating past end of file after monitor switch or device reset
-improved device reset handling
-fixed viewport render problems after moving from between monitors


07/10/2022Version (0.34.24)
-fixed dragging window down from maximised on secondary monitor if monitor is to the left of the main monitor


06/10/2022Version (0.34.23)
-fixed drag-down from maximised moving window to primary monitor
-fixed resize top stopping working after dragging window


06/10/2022Version (0.34.22)
-fixed maximised window restoring if title bar clicked when not in focus
-fixed title bar drag sometimes failing after dragging from maximised
-removed dependency on D3DX9_42.dll


05/10/2022Version (0.34.21)
-fixed title bar drag-restore on maximised windows


05/10/2022Version (0.34.20)
-Drag-docking to sides of screen now works
-fixed drag-docking to top not working on second monitor
-fixed drag-docking not showing animation
-10x now works with FancyZones
-fixed window borders showing on Windows 7
-fixed min/max title-bar buttons showing on Windows 7
-fixed client area sometimes not updating when maximising
-fixed black flickering when resizing window
-fixed window not starting at default position when app starts


02/10/2022Version (0.34.19)
-fixed transparent borders bug that happens on some laptops with Win11
-removed UnlimitedMemory setting
-added .scons ext to python syntax highlighting file


01/10/2022Version (0.34.18)
-parser now parsers UE generated headers
-removed Parser.ParseGeneratedFiles setting
-change registration system (you will need to re-submit your registration key)
-fixed typo in Build Output menu item
-add default debug and release configs and platform to new 10x workspaces


30/09/2022Version (0.34.17)
-removed ReparseAll command and renamed CleanReparse to ReparseAll
-refactor of additional include paths code, slightly faster and cleaner code
-fixed 10x workspaces not handling paths with backslashes


28/09/2022Version (0.34.16)
-minor fix to last change. It would sometimes get the wrong current scope while parsing after preprocessed lines


28/09/2022Version (0.34.15)
-fixed slow parse times for files with lots of macro definitions
-fixed goto-def not working on some defined out macro arguments


27/09/2022Version (0.34.14)
-rolled back the last change as it's causing a crash


27/09/2022Version (0.34.13)
-fixed long parse times updating syntax highlighting for files with lots of macros
-fixed divide by zero crash resizing text editor


26/09/2022Version (0.34.12)
-fixed parser deadlock introduced in last update


26/09/2022Version (0.34.11)
-support for includer defines (defines defined before an include that effect the include)


26/09/2022Version (0.34.10)
-support for bitwise | and & in preprocessor conditionals


26/09/2022Version (0.34.9)
-preprocessor fixes for external includes
-preprocessor now takes into account what is defined before the include is included (for external inclues only at the moment)
-fixed macros used in marco arguments not parsing
-fixed ifdef not working on macros with arguments


24/09/2022Version (0.34.8)
-fixed SettingsPath setting not working with backslash paths


24/09/2022Version (0.34.7)
-changed the way the VS env is obtained and removed 10XLogEnv.exe


23/09/2022Version (0.34.6)
-added 10XLogEnv.exe to installer to fix building of VS projects


23/09/2022Version (0.34.5)
-fixed defines sometimes not being highlighted as defines
-fixed defines in force includes not resolving
-fixed preprocessed hover box for preprocessor lines
-fixed goto-def on defines in preprocessor lines


23/09/2022Version (0.34.4)
-fixed parser stall on large projects with a lot of include paths
-optimisation that halves UE full parse time


22/09/2022Version (0.34.3)
-fixed parser crash


22/09/2022Version (0.34.2)
-optimisations for finding includes in additional paths
-fix for parse sometimes not finishing
-fix for quoted paths in VS project additional include files
-added CppParser.LogIncludePaths command
-fix for UNC paths not being recognised
-fixed general crash updating parser syntax highlighting
-changed the default value of the SettingsPath setting to ./
-fixed alt-O CppParser.ToggleSourceHeader key mapping going missing if updating from an old build
-added SortLines() function to utils.py


21/09/2022Version (0.34.1)
-fixed additional include paths setting for 10x workspaces
-moved the Additional Include Path list box to the Parser tab in the 10x workspace settings


21/09/2022Version (0.34.0)
-files in additional include directories are now only parsed if they are included
-automatically add additional include directories from project and env vars
-now watches additional include directories for file changes
-fixes for macros called over multiple lines
-fixes to recursive macro resolving
-goto-def now works on macro args even if they defined out
-fixed finding references for args in macros
-fixed renaming symbols in macro args
-fixed crashes reloading externally modified workspaces
-fixed goto-def on global function declarations incorrectly going to identially named member functions
-fixed member functions from unrelated classes showing up in autocomplete
-stopped parser doing ParseDefs (updating syntax highlighting) on files from the additional include folders
-optimisations to autocomplete and fuzzy matching
-optimisations to full parse
-fixed text back colour corruption unselecting rect select over word wrapped line
-fixed entire files sometimes appearing as unparsed after clean reparse
-added LogTo10XOutput() to python API
-preserve indentation with word wrapping


16/09/2022Version (0.33.52)
-fixed crash reparsing external edits introduced in last build


16/09/2022Version (0.33.50)
-fix for open files that are modified externally not reparsing properly


16/09/2022Version (0.33.49)
-fixed parser crash updating after files changed externally
-fixed crash reloading workspace after workspace file changed externally


11/09/2022Version (0.33.48)
-fix for lines becoming unparsed after edits


11/09/2022Version (0.33.47)
-optimisation for parsing parse tables with brace scopes
-5% speedup in total parse time
-stopped it duplicating a panel when opening a file with shift key held
-added .cu to parser and search extensions


09/09/2022Version (0.33.46)
-fixed ... collapsed region buttons not showing
-fixed hidden map scroll bar colours not updating when changing colour scheme


09/09/2022Version (0.33.45)
-fixed goto-def on Class in member functions going to class constructor
-fixed workspace settings overrides not updating when switching workspaces
-fixed changing current colour scheme not changing it in the workspace settings file if it exists
-stopped move line up/down indenting lines on non-C++ files
-stopped move line up/down indenting lines if Editor.AutoIndent is false
-fixed 'save changes' always appearing when closing 10x workspace
-fixed stall closing and reloading large sln workspaces
-highlighting and GotoNextBuildError for message lines
-fixed preprocessor definitions sometimes going missing after file edits
-fixed undef sometimes breaking for file edits
-fixed stall switching colour schemes when lots of files are open


07/09/2022Version (0.33.44)
-added support for parsing classes with virtual inheritance
-fixed crash resetting msbuild when project changes externally
-stopped it logging out Reloading workspace multiple times
-fixed problems starting build while build in progress


07/09/2022Version (0.33.43)
-debug settings are now automatically synced from VS
-added a checkbox in sln workspace debug settings to enable/disable syncing with VS
-added Build Working Directory setting to 10x wprkspaces
-potential fix for transparent borders bug on Windows 11 (will take effec ton the next major Windows update)
-fixed string regex in syntax highlighting files
-enabled word-wrap in Update change list box
-fixed stall opening update panel
-fixed crash right clicking on 10x workspace tree
-if building when build already in progress show the build output panel
-fixed indent adding new arg to function
-added StopDebuggingOnBuild setting to stop debugging when a build starts
-added RestartDebugging command (ctrl+shift+F5)
-stopped it bring up dialog boxes in 10x and VS if starting debugging when debugger already started
-made StartDebugging continue if the debugger is current paused in VS
-fixed workspace reloading multiple times when multiple project files change


06/09/2022Version (0.33.42)
-auto reloading of workspaces when the workspace file changes (also for sln and proj files)
-fixed file types list box being empty when creating new workspace
-fixed Open Folder for on folders
-made open folder on 10x workspace files select the file
-fixed problems creating workspace in drive root
-set Parser.AutocompleteInComments to false by default
-enabled ctrl+space to bring up autocomplete in comments even if AutocompleteInComments is disabled
-stopped Enter submitting autocomplete in comments unless it was brought up with ctrl+space
-fixed crash selecting word past end of collapsed line


03/09/2022Version (0.33.41)
-fixed goto-function declaration for functions with arguments (broken in prev build)
-fixed crash with docked tool panel


03/09/2022Version (0.33.40)
-parser support for indirecting off templated member functions defined outside of class
-goto-function implementation now detects function overloading (arg count only)
-can now show scroll bar find matches at same time as word matches
-scroll bar word highlighting now highlights current word even if not selected
-scroll bar highlighting shows highlighting in different colour if current word is selected
-changed default scroll bar match default colours
-fixed scroll bar highlight colours not being updated when changing scroll bar mode
-added new UI.ScrollBarWordMatchHighlight colour
-added delay to scroll bar word highlighting
-fixed scroll bar highlighing sometimes getting stuck on
-prioritise contains over fuzzy matching in autocomplete
-fixed autocomplete breaking if rename not submitted before file closed
-re-balancing of autocomplete fuzzy match priorities
-fixed hover box showing { at end of functon description
-fixed bug resolving non-class/struct template args
-fixed scroll bug with word wrap enabled in build output
-fixed autocomplete not auto-hiding when user types exact match


02/09/2022Version (0.33.39)
-support for Lambda Copy Captures
-fixed environment variables not being set correctly after updating
-fixed Update panel sometimes not showing changes from all newer versions


01/09/2022Version (0.33.38)
-fixed constructor initializers not parsing
-fixed file not remembering the panel grid pos that it was last opened
-fixed files opening over the top of docked tool panels
-fixed potential crash in LogMemoryStats command
-fixed cursor sometimes going to the wrong position after redoing after goto prev/next location
-fixed cursor jumping lines on updown keys where there is a selection and collapsed text


01/09/2022Version (0.33.37)
-parser support for function overloading (currently doesn't check type, just number of args)
-potential fix for env vars problem after updating


30/08/2022Version (0.33.36)
-fixed goto-def on classes going to the constructor


29/08/2022Version (0.33.35)
-removed Language.UndefinedKeyword colour. It now uses Language.Text instead
-renamed Parser.HighlightUndefinedKeywords setting to Parser.ColourUndefinedKeywords and inverted it's meaning. True means use the syntax highlighting colouring for undefined keywords, otherwise it will use the Language.Text colour
-fixed typedef colouring (broken in the last update)


29/08/2022Version (0.33.34)
-fixed parsing of functions defined outside of templated classes


27/08/2022Version (0.33.33)
-removed debug text output at end of build that was left in the last build by mistake


27/08/2022Version (0.33.32)
-fixed GotoNextError for warnings and errors with square brackets in the message


27/08/2022Version (0.33.31)
-fixed parsing of functions with restrict args


27/08/2022Version (0.33.30)
-made goto-def not resolve typedefs and using aliases by default
-added Parser.GotoDefResolvesTypedefs setting to allow typedef and using resolving
-fixed ndentation after equals assignment in enums when Parser.EqualsAlign is true
-fixed variables references being missed in conditionals with less than and greater than symbols
-fixed files from old workspace showing in find file panel when switching workspaces before workspace has finished loading
-hide the hover box when the cursor is oved
-stops FindInFiles from searching open files when a folder search path is set
-fixed map scroll bar scroll rect position when word wrap is enabled
-fixed blank line at end of paste statement being indented
-fixed crash reading corrupt search cache file
-fixed collapse/expand margin buttons not being clipped
-resizing a word wraped panel now stays centered on the current line
-fixed potential crash closing file with unsubmitted symbol rename


25/08/2022Version (0.33.29)
-fixed collapse/expand of sequential regions
-fixed line index off by one in ListBreakpoints command
-fixed panel resize region overlapping vertical scroll bar
-fixed duplicated files showing multiple times in save changes panel
-fixed potential hang in parser
-made scroll line stay the same when resizing panel with word wrap


24/08/2022Version (0.33.28)
-fixed potential crash bracket aligning pasted strings with newlines


24/08/2022Version (0.33.27)
-made bracket alignment indenting use prev line indent + spaces
-fixed alignment indenting when inserting new line between args
-removed Parser.AlignUsesSpaces setting


24/08/2022Version (0.33.26)
-bumped parser cache version to clear out bad data from crashes in earlier build


24/08/2022Version (0.33.25)
-fixed goto-error for files with relative paths


24/08/2022Version (0.33.24)
-fixed crash related to undo change in prev build


23/08/2022Version (0.33.23)
-fixed scroll bar highlighting sometimes getting stuck on
-made scroll bar word highlighting case sensitive
-fixed scroll bar highlights with word wrapping
-fixed goto-error on relative paths in build output
-made BreakpointUpdated callback only happen when file is saved
-made python API AddBreakpoint function return the id of the breakpoint
-added RemoveBreakpointById to python API
-fixed parser getting stuck on highly recursive macros
-fixed crash restoring d3d device
-fixed cursor pos after redo of typed text
-fixed cursor not moving left at start of word-wrapped line
-removed horizontal scroll bar if word wrapping enabled


22/08/2022Version (0.33.22)
-fixed indentation bug introduced in previous build


22/08/2022Version (0.33.21)
-fixed macro concatenation of empty arguments
-added ScrollBarHighlightSize setting
-fixed scroll bar highlighting in output and build panels
-fixed map scroll bar highlighting not aligning with tabs
-fixed word highlighting in scroll bar showing non-word matches
-fixed MoveCursorPrevWordSelect key mapping


21/08/2022Version (0.33.20)
-breakpoints in the python API are now indexed from 1 instead of 0
-python API OnBreakpointAdded/Removed functions now take a breakpoint id
-added GetSelection to python the API that returns the currently selected text
-added AddBreakpointUpdatedFunction to python the API to add a callback when a breakpoint line changes
-added UpdateBreakpoint to python API for updating a breakpoint line number
-fixed python GetDebugCommand not working for 10x workspaces


21/08/2022Version (0.33.19)
-fixed recursive macros parser bug


19/08/2022Version (0.33.18)
-fixed parser crash introduced in previous build


19/08/2022Version (0.33.17)
-support for __VA_ARGS__ in macros
-added GetPreprocessedLine() to python API
-empry arguments now handled correctly in macros


17/08/2022Version (0.33.16)
-fixed potential crash typing macro call at end of file


17/08/2022Version (0.33.15)
-fixed parsing of muti-line macro calls that contains semi-colons
-fixed global variables having a higher priority than member variables
-fixed brace scope getting messed up for variable declaration assignments that contain braces and commas


16/08/2022Version (0.33.14)
-fixed crash related to new scroll bar highlighting and undo


16/08/2022Version (0.33.13)
-fixed crash in ReparseAll
-fixed Update panel title overlapping changelist text


16/08/2022Version (0.33.12)
-highlight find text in scroll bar
-added HighlightFindTextInScrollBar setting
-added HighlightSelectedWordInScrollBar setting
-fixed crashes caused by newline in N10X.Editor.InsertText() function
-bumped parser cache and search cache version numbers to clear out bad data
-fixed Update panel not showing changelist


15/08/2022Version (0.33.11)
-fix for hang connecting with parsec in secure mode
-fixed importing standard python packages such as ctypes
-fixed "The 'u' format is deprecated" warning from python scripts


12/08/2022Version (0.33.10)
-fixed bug with multi-line macro calls not updating on edits


12/08/2022Version (0.33.9)
-fixed parsing of macro calls over multiple lines
-fixed autocomplete and goto-def not working for incomplete macro calls


10/08/2022Version (0.33.8)
-made GotoNextBuildError not eat the key press if there are no errors
-made all settings and key bindings reset to default if updating from build from before (0.32.0)
-fixed non C++ file results text showing as white in Workspace Search
-lot to output panel when using workspace settings file
-fixed files appearing multiple times in FindFile panel
-fixed mouse drag getting stuck on when resizing panels and moving mouse out of the window
-fixed missing Parser.Extensions setting (it got lost when updating from very old versions)
-fixed undoing of block comment needing two undos
-fixed autoformat sometimes inserting a space between <<
-fixed enums not being collapsable
-general fixes to collapsable regions
-fixed file matches using forward slashes in Workspace Search
-re-wrote Registration key text box control (fixes lots of bugs and makes pasting earier)
-fixed clicking in empty line putting cursor at wrong position
-fixed text background colour bug when current line moved to word wrapped line


10/08/2022Version (0.33.7)
-now links to python dynamically. This allows adding of pyd custom packages
-upgraded to python 3.10.6


05/08/2022Version (0.33.6)
-added Parser.BracketAlignFunctionArgs setting to align function arguments to the open bracket
-added Parser.BracketAlignConditionals setting to align conditional lines to open bracket
-added Parser.EqualsAlign to align assignment statement lines to the equals char
-added Parser.AlignUsesSpaces to make alignment always use spaces
-added ToggleOutputPanel command
-added ToggleBuildOutputPanel command
-added ToggleFindInFilesResultsPanel1 command (+2,3,4)
-fixed goto build error if the active project is in a different folder to the sln
-renamed MoveCursorNextWordSelect command to MoveCursorPrevWordSelect
-renamed MoveCursorNextNextSelect cmmand to MoveCursorNextWordSelect
-can now bind the AppsKey (bound to ShowContextMenu by default)
-removed unused Language.UserKeyword from syntax highlighting
-fixed text back colour for selected sub-menu items
-fixed scroll bar showing outside of panel when resizing docked panel
-fixed cursor not scrolling into view when tabbing past right edge
-fixes to ToggleComment command
-fixed Save not doing anything for new files that haven't been modified
-fixed Save and Save As not working when menu opened with menu button click (it defocused the file panel)
-made Save and Save As work on the last focused file panel (so it works even if no file panel is focused)
-made user keywords be coloured as types if followed by space+asterisk


03/08/2022Version (0.33.5)
-fixed indirection auto-fixup for functions returning pointers
-set Parser.AutoFixIndirection to false by default
-made duplicating a panel use the current scroll position
-made Enter submit the all workspace properties panels
-fixed initial search in Workspace Search taking a long time (wasn't loading search cache)
-fixed goto-def and autocomplete failing on all new code added at the end of the file
-added new Moriarty colour scheme


30/07/2022Version (0.33.4)
-fixed MoveToEndOfLine in vim.py
-fixed colour scheme being set back to default when colour scheme updated in version update
-fixed python API SetLine documentation
-can now bind F13-F24 keys
-fixed duplicate comment lines in some settings when creating default settings file


28/07/2022Version (0.33.3)
-update to cantaloupe and sunset colour scheme
-added new Moss and Spice colour schemes
-fixed autocomplete on functions that return smart pointers
-fixed auto-fix indirection for functions returning smart pointers
-fixed goto-definition on pure virtuals going to wrong function
-re-focus the last file after changing config
-fixed workspace settings not preserving if workspace opened with path with different case
-fixed restore window size sometimes being incorrect
-fixed goto-bookmark failing if the file isn't already open
-fixed ReplaceNext not working in Find/Replace when regex are enabled
-fixed flicker highlighting current symbol
-made toggle source/header work with UE4 interface headers (eg File.cpp -> FileInterface.h)


26/07/2022Version (0.33.2)
-added new UI.SelectedSearchResultLine colour setting for the selected line in the Workspace Search and Find Symbol panels
-standardised the colours across WorkspaceSearch and find symbol panels
-added Editor.CollapseExpandButton colour setting
-improved colour settings for light colour scheme
-improved colours in various schemes for find panels
-changed default colours for "UI.UI Selected Item" and "UI.SearchHighlight"
-removed "Search.HighlightLineColour" colour setting
-added new Sunset colour scheme and made it the default
-added BackslashPaths setting to make 10x use baclslashes in all paths (true by default)
-fixed last setting not being written when creating settings files
-fixed nmake slns not showing an error if the build fails
-fixed incorrect symbol highlighting with word wrapped lines
-fixed current line background showing on wrong line with word wrapped lines
-fixed not being able to mouse wheel scroll to the end of a file with word wrap
-fixed parser preprocessor crash


24/07/2022Version (0.33.1)
-fixed crash on startup introduced in previous build if using standard scroll bar mode


24/07/2022Version (0.33.0)
-word wrap
-added Editor.WordWrap setting an menu item
-added WordWrap menu item to text editor context menu
-added right click context menu to output panels
-added TogglewordWrap and ToggleWordWrapForCurrentPanel commands
-collapsable regions
-added commands: CollapseRegion, ExpandRegion, ToggleCollapseExpandRegion, ExpandAllRegions
-added ShowCollapseExpandMargin setting
-fixed full scope not reparsing for newly added scope starts
-fixed detection of function pointers
-improved downscaling of button images (now uses supersampling)
-fixed clicking in empty lines always putting cursor at first indent
-fixed map scroll bar scaling artifacts
-fixed gotodef crash


21/07/2022Version (0.32.110)
-tidyup of installed python scripts


20/07/2022Version (0.32.109)
-fixed parser crash


18/07/2022Version (0.32.108)
-fixed goto-def not working on symbols in brackets, eg if(MyVariable)


17/07/2022Version (0.32.107)
-parser crash fix updating files modified outside of 10x


16/07/2022Version (0.32.106)
-fixed crash parsing files modified externally


13/07/2022Version (0.32.105)
-fixed memory corruption in code formatter


10/07/2022Version (0.32.104)
-fix to fuzzy filter introduced last build (mostly affected command panel dropdown)
-changed default max core count to 12


10/07/2022Version (0.32.103)
-made StringTable::GetString lock free. Significantly improves parser perf on large core counts
-increased max default core usage from 80% to 90% of system
-increased default max core count from 8 to 14
-improvements to fuzzy matching
-fixed vim DeleteCharacters() in visual mode
-added Delete command
-stopped prev/next location from including tool panels
-made "copy path to clipboard" use forward slashes
-stopped key mappings file autocomplete from including python functions
-fixed FindInFiles not returning any results if no workspace open. Now always includes all open files.
-fixed scroll bug in settings autocomplete
-fixed __pragma not parsing in enums
-fixed function definitions not showing up in FindSymbol panel


07/07/2022Version (0.32.102)
-fixed symbols sometimes not getting reparsed after header change
-increased default for Search.MaxFileSize setting to 10MB


06/07/2022Version (0.32.101)
-fixed crash undoing IndentSelection command


05/07/2022Version (0.32.100)
-added GetBreakpoints() function to python API


05/07/2022Version (0.32.99)
-fixed preprocessor defined out blocks not reverting when #if line is deleted
-stopped #if with nothing else on line being treated as defined out


04/07/2022Version (0.32.98)
-fixed empty token array parser cache (also caused crash loading cache)
-reduced unnecessary reparsing due to external file changed events
-fixed multiple reparses happening when lots of files change externally
-added MaxOpenTabs setting to limit the number of tabs that stay open
-fixed parser bug where goto-def wasn't looking in the current classes parent


01/07/2022Version (0.32.97)
-fixed empty strings causing problems in preprocessed lines
-renamed Parser.ColourUndefinedKeywords setting to Parser.HighlightUndefinedKeywords
-fixed default colours for parser colours
-changed default colour for Language.UndefinedKeyword to red


01/07/2022Version (0.32.96)
-now parses generated header files for Unreal
-added new setting Parser.ParseGeneratedFiles to parse Unreal generated cpp files
-automatically do a clean parse after Force Includes workspace setting is changed
-fixed workspace settings panel cancel not cancelling changes


29/06/2022Version (0.32.95)
-fixed autocomplete ignoring using namespace declarations in function scopes


29/06/2022Version (0.32.94)
-fixed parser crash after updating files outside of 10x
-fixed references not being found in define lines
-fixed renaming symbols in defines
-fixed crash updating line indent for line past end of file
-fixed page up/down not clearing multi-cursors


28/06/2022Version (0.32.93)
-support for using namespace in headers
-fixed parser hang if setting are changed while parsing
-fixed select next word (ctrl+shift+arow) selecting past end of line
-fixed parser not skipping multi-line macro if it is at the end of a file


24/06/2022Version (0.32.92)
-parser optimisation (16% speedup in full parse)


24/06/2022Version (0.32.91)
-fixed X2 parse times introduced a few builds back


24/06/2022Version (0.32.90)
-parser support for namespace aliasing
-fixed bug with using namespace when accessed from outside namespace
-fixed compression stats showing wrong value if issued before parser has finished


23/06/2022Version (0.32.89)
-fixed huge memory usage doing an update parse if lots of files have changed externally
-fixed LogMemoryStats command if it's issued in parse stages 1,2


23/06/2022Version (0.32.88)
-fixed syntax highlighting and selection in Find References Panel


22/06/2022Version (0.32.87)
-fixed crash inserting text from python when cursor is beyond the end of the line


22/06/2022Version (0.32.86)
-added Parser.AutocompleteInComments setting to enable/disable autocomplete in comments (defaults to true)


22/06/2022Version (0.32.85)
-stopped opened files being added to the parser database if they are not in the workspace


22/06/2022Version (0.32.84)
-stopped autocomplete in comments


21/06/2022Version (0.32.83)
-fixed syntax highlighting (broken in line-endings build)
-parser support for thread_local variables


21/06/2022Version (0.32.82)
-fixed multi-line settings (broke in last build)
-fixed automatic changing of settings value in settings files
-fixed extra new line being added to end of file when writing settings files
-fixed crash if FindInFiles doesn't find any results


21/06/2022Version (0.32.81)
-line endings are now preserved for files with mixed line endings
-added ShowLineEndings setting
-added ToggleLineEndings command
-added LineEnding colour to colour schemes
-fixed map scroll bars not updating after colour scheme change
-fixed changing colour scheme slowdown if lots of files open
-fixed bug starting symbol rename if rename already in progress


21/06/2022Version (0.32.80)
-fixed installer Repair failing if original installer exe deleted
-fixed preprocessor relative include path bug


20/06/2022Version (0.32.79)
-another fix to installer Repair


20/06/2022Version (0.32.78)
-fixed installer Repair


20/06/2022Version (0.32.77)
-removed uninstall option from installer until I can find out how to fix it
-fixed Clean Reparse
-alt-C and alt-W now toggle case and word checkboxes in FindInFiles panel


18/06/2022Version (0.32.76)
-fixed broken ShowCommandPanel key mapping


18/06/2022Version (0.32.75)
-fixes to reparse of externally changed files
-fixed incorrect window name after closing workspace


17/06/2022Version (0.32.74)
-fixed crash parsing files after files changed externally


17/06/2022Version (0.32.73)
-added CppParser.WriteFileStatsCsv to output a csv of file parse times and sizes
-added sqlite to parser and search cache exclude filters (saves 30 sec parsing UE)


17/06/2022Version (0.32.72)
-added FullParse verbose logging mode
-fixed the selection being cleared when text is added to the output panel


16/06/2022Version (0.32.71)
-fixed crash reparsing after files have been modified outside of 10x


16/06/2022Version (0.32.70)
-clamp the default value for MaxCoreCount to 8 (if MaxCoreCount is set to -1)
-improved variable parsing so that it doesn't pick up global variables in malformed code
-fixed crash in symbol renamer if it can't open a file (and log out an error)
-parser support for inline constexpr variables
-optimisation to FindIncludeFile path. Saves ~5% in parse time
-fixed static member variables not parsing
-fixed hang in parser if parse cancelled
-fixed crash parsing empy file with a pch or force include header


16/06/2022Version (0.32.69)
-improved thread balancing and priorities in full parse
-made compress use same task manager as parser to avoid creating extra threads (important for cpus with multiple NUMA nodes)
-fixed MaxCoreCount setting
-reduced time files stay uncompressed
-don't regenerate compress buffer if file was uncompressed and then not changed
-fixed deadlock writing out memory stats


15/06/2022Version (0.32.68)
-fixed all sorts of bugs including long parse times when system has been up for more than 24 days (time was stored as int!)
-added new Parser.ColourUndefinedKeywords setting to control whether undefined keywords are coloured specially. False by default
-made parser more strict on what is classes as a variable definition. Now checks prev token.
-fixed crash in preprocessor re-preprocessing files with no preprocessor lines


14/06/2022Version (0.32.67)
-made it fall back to Jetbrains Mono font if it can't find the TextEditor font


14/06/2022Version (0.32.66)
-fixed parser crash caused by editing files while full parse in progress
-fixed crash with GotoDefColumn set to other with only 1 column


13/06/2022Version (0.32.65)
-fixed preprocessor not working for files with no preporocessor statements but with a force include


13/06/2022Version (0.32.64)
-added CentreFloatingPanelsHorz and CentreFloatingPanelsVert settings to automatically centre floating panels (default to true)
-if a floating panel is out of bounds then centre it
-always clamp floating panel size to window rect
-made GotoDefColumn setting use existing panel if one already exists in the column
-made GotoDefColumn create a duplicate panel if def is in current file


13/06/2022Version (0.32.63)
-fixed parsing of MyEnum::Value scoping for old style enums
-fixed parsing of first function arg type for unnamed args
-made GotoDefColumn setting override ColumnNFiles settings
-made GotoDefColumn setting also apply to GotoNextBuildError
-fixed key mappings not working for some keys combined with alt
-fixed defines from force includes not working on first line of file


11/06/2022Version (0.32.62)
-fixed syntax highlighting in search panels for compressed files
-made search results use syntax highlighting if parser still parsing
-added GotoDefColumn to make goto-def file open in other column
-made GotoNextError open file in other column if no file column set
-fixed syntax highlighter not working for open and close bracket rules
-memory optimisation for packed line colour for compressed files


11/06/2022Version (0.32.61)
-fixed garbage data appearing at the end of ANSI encoded files and causing the parser to go into an infinite loop and eat memory


10/06/2022Version (0.32.60)
-fix for missing references due to preprocessor line change or reparse file on a header file
-support for declspec in enum definitions


10/06/2022Version (0.32.59)
-automatically add force include files to the workspace files list
-fixed crash formatting comment block at the end of a file


09/06/2022Version (0.32.58)
-fix for UE PCH files not working for some modules (now checks UE4 folder)


09/06/2022Version (0.32.57)
-colour keywords that parser can't find as Language.UndefinedKeyword colour
-added verbose logging to parser
-added ToggleParserVerboseLogging command
-fixed goto prev/next location after gotodef going to the top of the file
-added python N10X.Editor.SetParserVerboseLoggingMode(mode) function
-added python N10X.Editor.SetUEPCHLogFolderName(folder_name) funcion for logging the UE PCH file paths
-removed Parser.VerboseLogging setting
-optimsed parser string id hash combining
-improved overloaded function choosing in parser with templated functions
-fixed define names in define statements not being coloured by parser
-fixed bug with preprocessor statements appearing after an enum
-fixed inline member functions being found on goto-def for function declarations
-fix to double colon global scope operator (would miss things earlier in the file scope)
-fixed using namespace names being found for goto-def
-fixed L not being coloured as string for L"" strings
-fixed functions with double Name::Name scope being treated as constructors
-fixed using namespace names not being coloured by parser
-fixed font rendering glitch when clearing multi-cursor selection


08/06/2022Version (0.32.56)
-fixed parsed symbols being invalidated if they are requested while the file they are in is compressed (leads to random missing symbols)


08/06/2022Version (0.32.55)
-fixed circumflex characters typed with ^, eg ^+O not appearing
-fixed NumPad# key mappings


08/06/2022Version (0.32.54)
-fixed reparse bug that would incorrectly invalidate references
-stopped parser from parsing more than it needs to when code block changes
-fixed crash from python getting cursor index out of range


08/06/2022Version (0.32.53)
-stopped un-shifted key binding also triggering for shifted binding


07/06/2022Version (0.32.52)
-fixed mapping of Circumflex on european keyboards
-fixed assert shutting down empty file discarding unsaved changes


07/06/2022Version (0.32.51)
-more key mappings fixes
-stopped ctrl+Delete deleting line if key mapping removed


07/06/2022Version (0.32.50)
-fixed multi-key press for international characters


07/06/2022Version (0.32.49)
-more key mapping fixes
-fixes to key logging
-key mappings can now be specified with the long key name
-comma key mappings now uses "Comma" to avoid parsing problem with multi-key combos
-support for mapping < and > keys


07/06/2022Version (0.32.48)
-fixed multi-key combo mappings
-added LogKeys menu item to log all key presses to the output panel
-fixed settings syntax highlighter for single char key mappings
-fixed multi-key combo with unmodified second char inserting char into text
-added support for & key mappings


07/06/2022Version (0.32.47)
-fixed multi-key combos (broke last build)
-added ^ to key mappings


06/06/2022Version (0.32.46)
-fixed parser files being compressed while still in use
-fixed leak parsing modified code
-optimised shutdown times
-fixed key mappings for non-uk keyboards
-can now map # key in key mappings
-can now use the shifted key value (without the shift modifier) in key mappings
-changed NUM0-NUM9 keys to 0-9 in key mappings file
-changed key mappings file keys Comma,Period,Equals,Plus,Minus,Underscore,Tilde,GraveAccent to the single char values
-fixed crash in verbose parser logging


02/06/2022Version (0.32.45)
-fixed exe not launching on Win7 (broke in previous build)


01/06/2022Version (0.32.44)
-fixed race condition in parser
-fixed comment block auto formatting
-support for calling conventions (__stdcall etc) for function definitions and declarations
-fixed Workspace Search showing "Please Wait, indexing files..." message if no workspace open
-free up more memory when parser file is compressed


01/06/2022Version (0.32.43)
-added ToggleAppMenuOnAlt setting to disable toggling the main menu on the alt key
-fixed comment commands breaking anything that relies on tracking cursor position, such as bracket highlighting, symbol highlighting and col/row numbers
-fixed missing comma after .asm extension in parser extensions setting
-support for calling conventions (such as __stdcall) in function pointer declarations


31/05/2022Version (0.32.42)
-added CenterViewAtLinePos to python API
-fixed perf bug matching regex words in FindInFiles
-fix for hang shutting down
-integrated latest changes to vim.py


30/05/2022Version (0.32.41)
-fixed perf bug in FindInFiles matching words in long lines
-truncate very long lines matched in FindInFiles results
-add timeout for getting special font chars
-added .jsx to and .scons to default file extensions
-potential fix for the FileTypes trailing comma stopping it finding new files
-fixed crash loading certain rare special glyphs
-stopped escape closing docked panels


30/05/2022Version (0.32.40)
-use list boxes for file types and exclude filters in 10x workspace UI
-reworked ListBox editing
-fixed F2 not renaming list box item
-empty FileTypes value in 10x workspace file now means all code files
-sync files is now set by default for new folders
-can now set relative paths in "add existing folder"
-escape no longer closes 10x workpsace properties panels


29/05/2022Version (0.32.39)
-fixed expanded macro lines showing up multiple times in find references panel
-fixed changing a define not re-preprocessing lines that reference that define
-fixed function definitions not getting removed from the database when they are removed from the code


27/05/2022Version (0.32.38)
-fixed parser syntax highlighting getting out of sync after using MoveLine Up/Down command
-fixed syntax highlighting files not using the local settings path setting
-disabled auto-indent on paste in non-code files
-reduced allocator contention for full parse, will help for high core count machines


27/05/2022Version (0.32.37)
-fixed windows OS file dialog buttons not wokring (broken in prev build)


27/05/2022Version (0.32.36)
-fixed preprocessor ## concatenation operator failing on macros in indented lines


27/05/2022Version (0.32.35)
-fixed defined out lines not always updating when preprocessor lines changed
-fixed empty results dropdown in FindInFiles panel
-possible fix for Win11 transparent border problem
-fixed ReparseFile and ReparseAll not doing anything


26/05/2022Version (0.32.34)
-fixed files getting compressed while stil in use
-fixed preprocessor sometimes marking random regions of code as defined out
-fixed preprocessor handling of undef
-fixed WriteCache not waiting for all async compress's to finish, which could cause more files to be decompressed than needed


24/05/2022Version (0.32.33)
-fixed crash loading workspace with renamed file


24/05/2022Version (0.32.23)
-fixed defined out regions getting out of sync while editing
-fixed assert opening autocomplete with ctrl+space if cursor beyond the end of the line


23/05/2022Version (0.32.22)
-fixed potential deadlock decompressing parser files


22/05/2022Version (0.32.21)
-fixed parser files getting compress whle still in use


21/05/2022Version (0.32.20)
-fixed parser crash caused by an external updates while a parse is in progress


18/05/2022Version (0.32.19)
-fixed UE4 pch defines files
-fixed crash in 10x_notepad starting from clean install
-fixed parser trying to open files with incorrect case


18/05/2022Version (0.32.18)
-made 10x workspace exclude filter work on paths (used to only work on file/folder names)
-fixed parser crash if the OS fails to open a file
-support for multiply and divide in preprocessor conditionals
-fixed precedence for ? operator in preprocessor conditionals
-possible fix for the transparent border bug in Win11


17/05/2022Version (0.32.17)
-fixed reparse issues when files are changed outside of 10x (syncing etc)
-10x will now work out just the lines that have changed from external edits and reparse them
-when reparsing external changes existing symbols are reused to avoid invalidating references
-fixed references not updating for external edits
-fixed files getting stuck in a decompressed state
-rewrite of the parse stage scheduling for a full parse
-rewrite of compression scheduler, bug fixes and faster
-external changes now trigger a full incremental parse
-fixed files that don't exist showing up as decompressed
-tweaked compress delay numbers for a slightly faster full parse
-LogMemoryStats now shows compression stats
-fixed auto-indent in non-C++ files


16/05/2022Version (0.32.16)
-5% reduction in memory
-fixed txt (..txt) in save as dialog
-improved memory stats for LogMemoryStats command


15/05/2022Version (0.32.15)
-tweaked compression settings for frequently access files, 12% full parse speedup
-fixed the "parsing files (#)..." number in the log


13/05/2022Version (0.32.14)
-memory optimisation: fixed files changing externally causing most of the files to be decompressed
-optimisation to parser class function hash map
-memory optimisation: stopped the parser from keeping files decompresses so long
-CppParser.ListWorkspaceFiles now shows compression stats and compressed flag for each file
-fixed parser getting wrong type for function returns values if function can't be found
-fixed goto-def on locals in defined out code


12/05/2022Version (0.32.13)
-fixed stall when syntax highlighting file is changed with lots of files open
-added fastbuild.10x_syntax


12/05/2022Version (0.32.12)
-reversed the order of Unreal pch files so that unreal pch is always first
-fixed Encoding text box not updating in status bar


11/05/2022Version (0.32.11)
-more fixes for Unreal pch includes and defines
-Unreal pch files are now added before user pch files
-renamed python function SetCursorSelection to SetSelection
-fixed crash updating line indent after paste
-vim: refactored a number of things to make it cleared and easier to update
-vim: fixed key getting eaten after exiting from insert mode
-vim: added "cc" command
-vim: added "x" command
-vim: made "d", "y" and "c" work as single commands in visual mode
-vim: fixed cursor pos after undo'ing "o" command


11/05/2022Version (0.32.10)
-fixed settings file format for settings with non-alphanumeric chars (broke some key mappings)


10/05/2022Version (0.32.9)
-changed settings file format. No longer need blank line between settings
-added GetCursorSelection() to python API (supports multi-cursor)
-added SetCursorSelection() to python API (supports multi-cursor)
-added RemoveCursor() to python API (supports multi-cursor)
-added SetCursorVisible to python API
-vim: redone visual mode visual-line mode


09/05/2022Version (0.32.8)
-vim: fixed "v" visual mode
-improved settings name/value colours
-added new 10x.Setting.Keyword colour to all colour schemes
-fixed WORDI() and TEXTI() text not being coloured correctly
-made 10x notepad use Settings_notepad.10x_settings file again
-update syntax highlighting when colour scheme changed
-clear parser cache (newline fix in prev build could cause problems with old cahce files)


09/05/2022Version (0.32.7)
-fixed last line in file being removed on load if file ends with a newline
-added .natvis to xml.10x_syntax
-fixed .natvis files not being loaded in as part of project


09/05/2022Version (0.32.6)
-fixes to Unreal PCH headers and defines for projects setup outside the installed UE4 source


08/05/2022Version (0.32.5)
-fixed link shown if subscription has been cancelled
-fixed UI layout for registration panels
-added Language.Custom1 - Language.Custom10 colours to all colour schemes
-added syntax highlighter files to open file list
-fixed settings file updates sometimes being missed
-improved colours for Light colour scheme
-minor fixes to syntax files
-vim: fixed repeating of "cw" command
-vim: changed the way commands are repeated so that g_RepeatCount can be used in the command to detect how many repeats are remaining
-vim: fixed "o" not adding new line


07/05/2022Version (0.32.4)
-fixed settings files not being created on first launch with no appdata\10x\settings folder
-fixed key mappings file path not being updated after changing SettingsPath setting


06/05/2022Version (0.32.3)
-added syntax highlighting for markdown
-added syntax highlighting for golang
-fixed new sytntax highlighting files not getting installed
-fixed parser hover box showing in wrong panel for duplicated panels
-fixed colour schemes not using SettingsPath setting
-fixed problems closing modified 10x workspaces
-fixed removing of folder from 10x workspaces
-made paths in FindFilePanel relative to workspace root
-fixed syntax highlighting not working in Workspace Search
-fixed 10x workspaces Add Existing Folder not working if path has backslashes
-fixed crash in syntax highlighting scrolling through references in the FindReferencesPanel
-a number of small optimisations (GetCppFile, SplitString, GetPathId, StackWString, reduced allocs)
-fixed enum values not appear in autocomplete


05/05/2022Version (0.32.2)
-added header comments to all setings file explaining the format
-added WORDI() and TEXTI() to syntax highlighting file format for case insensitive matches
-added sytax highlighting for .ini files
-added sytax highlighting for .json files
-added sytax highlighting for .zig files
-removed .ini files from C++ parser extension list
-fixed key mappings not using the shared settings path in the local settings
-if any settings folder is deleted all files will now be restored to defaults
-fixed stall when syntax highlighting file is saved
-fixed SettingsPath default value if setting doesn't exist
-fixed mouse button getting stuck on if another mouse button is released while it is held


04/05/2022Version (0.32.1)
-fixed syntax highlighting not working after update until 10x is restarted
-removed colour scheme files from FindFilePanel and WorkspaceSearch
-fixed FindFilePanel and FindInFiles results panels not using the font set in the settings
-fixed regex's with a match length of zero hanging
-syntax highlighting for comments in .ini files
-syntax highlighting for xml files


04/05/2022Version (0.32.0)
-general syntax highlighting system
-added syntax highlighting files for c++, C#, bat, html, java, php, python, rust
-renamed "C++." colours to "Language."
-removed "Editor.Parser Fail Text" colour
-added new colours: "10x.Setting.Name", "10x.Setting.True", "10x.Setting.False", "Html.ElementName", "Html.AttributeName", "Html.String", "Html.Operator"
-stopped 10x writing settings files (except on update)
-writing of settings files will now modify the file rather than replace it entirely
-renamed python function SetSettingsFilename to SetSettingsFileName
-moved perforce settings out of local settings and into main settings
-regex searches no 11 times faster (using re2 if regex doesn't have backtrace)
-support for settings with multi-line values
-fixed rare shutdown crash


04/05/2022Version (0.31.67)
-stopped Search and FindFile panels showing results from recently opened files
-made perforce P4CONFIG handling check all parent directories of the workspace for the perforce file
-files are only added to the recent files menu items if they are not in the workspace


03/05/2022Version (0.31.66)
-show message box if it fails to initialise Visual Studio environment
-fixed open sln workspace never finishing if it fails to initialise the visual studio environment
-fixed it using wrong UI font on first open


01/05/2022Version (0.31.65)
-fixed hang shutting down if file system stops responding
-stopped file monitor monitoring recently opened workspaces
-added recently opened files to FindFilePanel and Workspace Search open file list


28/04/2022Version (0.31.64)
-fixed workspaces in 10x_notepad.exe not remembering the active panel when opened


28/04/2022Version (0.31.63)
-a number of fixes to prev/next location
-fixed prev/next location with duplicate file panels
-made goto-def add a prev/next location marker
-added Editor.PythonIndentMode setting (defaults to spaces)


25/04/2022Version (0.31.62)
-fixed a couple of potential memory corruption bugs in the core library
-fixed control+left/right not working in edit text boxes


21/04/2022Version (0.31.61)
-fixed fonts not showing for right click tab menu and switch panel panel


19/04/2022Version (0.31.60)
-support for leading double colon parsing class parent


17/04/2022Version (0.31.59)
-changed UI font to Segoe UI
-changed fallback font to Liberation Sans


16/04/2022Version (0.31.58)
-fixed crash starting up if it finds a font with no family name
-fixed crash finding a symtol if it has a %s in it's name
-added HalfBlock to CursorMode setting dropdown


08/04/2022Version (0.31.57)
-block cursor support
-added CursorMode setting
-changed main UI font to Inter
-allow loading of .otf font files
-added SetCursorMode() and ResetCursorMode() to python API
-fixed broken control+shift+X command panel key mapping (again)
-fixed drop down list box buttons sometimes not being aligned when UI font is changed
-fixed crash stopping debugging if no workspace open
-vim: set block cursor mode for command mode
-vim: set line cursor mode for insert mode
-vim: set half block cursor mode for prefix command


08/04/2022Version (0.31.56)
-reduced memory and parse time by up to 50% for very large projects
-reduced parser read cache time by 55%
-fixed a ton of bad paths getting added to the string table
-optimisations and fixes to include path resolving
-added new PathTable for more efficient storage of path strings
-fixed defines not being shown in autocomplete after a restart
-fixed Unreal pch include paths getting lost after restart
-vim: fix to "o" vim command
-vim: made escape exit visual mode
-made perforce try and reconnect on checkout if it lost the connection
-stopped it trying to connect to perforce if setting is empty
-fixed broken control+shift+X command panel key mapping
-reduced submenu open delay to 100ms


07/04/2022Version (0.31.55)
-stopped FindSymbols panel from decompressing all files and causing 10x to take up a huge amount of memory


28/03/2022Version (0.31.54)
-fixed crash on startup restoring from corrupt state file


28/03/2022Version (0.31.53)
-fixed handlers not getting removed when a script is recompiled


28/03/2022Version (0.31.52)
-modification to 10x logo image and icon
-changed vim "yy" command


28/03/2022Version (0.31.51)
-fixed vim edito mode not disabling when disabled in the settings
-vim: started adding visual mode
-vim: ':' now shows command panel
-vim: hljk movement now uses SendKey
-vim: backspace and arrow keys now pass through
-vim: support for ':w', ':wq', ':q', ':q!' commands
-added parser support for stl
-renamed 'ExecuteCommand' command to 'ShowCommandPanel'
-added AddCommandPanelHandlerFunction to python API
-added DiscardUnsavedChanges to python API
-added Clear10xOutput to python API
-added IsBuildPanelOpen to python API
-added SetCommandPanelText to python API
-added ClearSelection to python API
-added .fx to default parser extensions
-fixed file losing focus when move up in the panel grid
-stopped CommentLine only adding comment if there isn't one already
-added "Close All but Pinned" menu item to tabbed panel dropdown menu
-fixed d3d hang on shutdown with remote desktop


28/03/2022Version (0.31.50)
-fixed crash with 'u' vim undo command


27/03/2022Version (0.31.49)
-more vim support
-vim: repeat counts
-vim: fixed exception in GetWordEnd()
-vim: 'x' key to delete
-vim: alt+hjkl to move panel focus
-vim: pass through all alt and control keys
-added PushUndoGroup() and PopUndoGroup() to python API
-improved include finding for Unreal


26/03/2022Version (0.31.48)
-support for more vim commands
-fixed mapped keys not being passed to python key intercept function (control-C now works)
-added EditorHasFocus() to python API
-python key intercept are now intercepted at the global level so need to check EditorHasFocus first


25/03/2022Version (0.31.47)
-started adding Vim support. Can be enabled in the settings.
-added MoveCursor commands so they can be re-bound and called from python (MoveCursorPrevWord, MoveCursorNextWord, MoveCursorPrevWordSelect, MoveCursorNextWordSelect)
-scripts in appdata\10x\PythonScripts will now be automatically updated when updating 10x if they haven't been changed
-added ResetCursorBlink() to python API
-added ControlKeyHeld() to python API
-added CallOnMainThread() to python API to call a function from the main thread
-added RemoveOnInterceptCharKeyFunction() to python API
-added RemoveOnInterceptKeyFunction() to python API
-added AddOnSettingsChangedFunction() to Python API
-added GetSettingsFolderPath() to python API
-show error message if callback function errors and it is removed from the list
-use sensible indent for values when writing settings files


24/03/2022Version (0.31.46)
-fix to crash introduced in last checkin


24/03/2022Version (0.31.45)
-fixed multi-line macros not parsing properly (first token of each line was being skipped)
-fixed functions being declared in functions causing a brace mismatch and the function scope being closed too early
-added support for array reference function args
-fixed function arg arrays not being parsed if they have a value inside the square brackets
-fixed the entire rest of the file being put int the function scope if the function close brace is ommitted
-fixed scoping bug when adding a close brace. Everything after the close brace would be put into the wrong scope


21/03/2022Version (0.31.44)
-added CommentLine and UncommentLine commands (ctrl+K,ctrl+C to comment, ctrl+K,ctrl+U to uncomment)
-stopped . and -> autocomplete showing member classes/structs
-fixed function arg list box for macros
-fixed partially typed macro names showing up in autocomplete
-fixed deleted defines still showing up in autocomplete
-fixed struct not being reparsed when a struct name is added/renamed. eg struct { } MyStruct;
-fixed line comments being terminated by a */
-show "Please wait, scanning files" in the workspace search until the first scan has completed


21/03/2022Version (0.31.43)
-disabled UE PCH logging (left enabled by mistake in last build)
-bumped the parser cche version number to flush out bad data


21/03/2022Version (0.31.42)
-fixed defines (PCH pathss) for UE uprojects and plugins
-updated cantaloupe colour scheme
-made it obvious that Encoding, Line Engines and TabMode menu items are for the current file only


18/03/2022Version (0.31.41)
-fixed crash in FindReferencesPanel selecting reference in file that doesn't exist
-fixed flickering of define tokens when editing line
-fixed indenting of multi-line preprocessor statements
-fixed parsing of constructor initialisers that use {}
-fixed autocomplete not working if used to the right of a preprocessor token
-fixed it finding the wrong include when there are multiple files in different projects of the same name
-fixed it not extending the current line when a new line is added after an empty line


17/03/2022Version (0.31.40)
-fixed macro function args box for macros defines in other files
-fixed macro function args box showing for macros that don't have args
-tidied up text in macro function args box
-fixed hover box sometimes showing wrong line for macros


17/03/2022Version (0.31.39)
-fixed macro function args list box not showing if line is indented


17/03/2022Version (0.31.38)
-fixed preprocessor line resolve using defines defined after the current line
-function list box now supports macros


16/03/2022Version (0.31.37)
-new icon for 10x_notepad.exe
-fixed files being opened in the same window if tool panel (such as WorkspaceSearch) is docked
-fixed goto-def on Super in Unreal


15/03/2022Version (0.31.36)
-fixed memory compression (was broken in a previous build causing full parse to take up a lot of memory)
-made python function AddWorkspaceAdditionalInclude check if value already in list
-fixed block comment not adding * for new lines on first line
-fixed block comment start start line indents not being corrected when formatting
-autocomplete for defines


15/03/2022Version (0.31.35)
-fixed installer hanging around after launching 10x
-made AddWorkspaceAdditionalInclude python function save the workspace settings file after adding the path


15/03/2022Version (0.31.34)
-fixed file modified asterisk missing for duplicated file panels
-added GetAppDataWorkspacePath() python function
-added GetColumnCount and SetColumnCount python functions
-fixed Filters setting not being restored in FindInFiles panel
-fixed active tab not always being preserved when changing column count
-fixed clipboard history list box not submitting and up/down not working
-made clipboard history box use same font as txt editor
-stopped clipboard history list box from showing on ReadOnly text editors


15/03/2022Version (0.31.33)
-fixed local workspace settings file clearing all other settings


14/03/2022Version (0.31.32)
-fixed black panel appearing after changing column count
-fixed tab description hover box not appearing after panel grid panel moved
-fixed duplicate panels forgetting their preferred panel grid pos


14/03/2022Version (0.31.31)
-stopped file opening in last focused text editor panel if current panel is empty
-stopped WorkspaceSearch changing focus when closing if current panel is empty
-added N10X.Editor.IsOutputPanelOpen() python function
-added N10X.Editor.IsWorkspaceTreeOpen() python function
-make current file stay focused when changing column count
-made setting default to "" or false when removed from the settings file


14/03/2022Version (0.31.30)
-fixed crash ahowing autocomplete at start of file


14/03/2022Version (0.31.29)
-another fix for syncing folders in 10x workspaces


14/03/2022Version (0.31.28)
-fixed crash syncing folders after files removed in 10x workspace
-fixed assert reading Unreal projects


14/03/2022Version (0.31.27)
-fixed crash reducing the column count


11/03/2022Version (0.31.26)
-settings now automatically update when workspace settings override file changes
-fixed workspace override settings getting lost when mai settings file changes


11/03/2022Version (0.31.25)
-more fixes to PS4/PS5 building
-fixed edit text box drop downl lists not subbmitting on Enter


11/03/2022Version (0.31.24)
-settings file per workspaces. Add a 10x.10x_settings file to the workspace folder to override settings
-fixed parsing variables with designated initializers
-fixed hang setting column count to 1
-fixed crash moving panels around
-stopped missing settings being re-added to the settings file when it is read
-disabled autocomplete in comments


10/03/2022Version (0.31.23)
-another fix for PS4/5 project building
-added a "Use multi process/distributed build" check box in the Sln workspace local settings


10/03/2022Version (0.31.22)
-potential fix for Run comment not working after updating 10x
-fixed parser formatting using indent mode in settings rather than indent mode for file
-fixed crash setting enu item shortcut for item that doesn't exist anymore
-fixed explicit setting of indent mode sometimes not being remembered
-more PS build fixes


10/03/2022Version (0.31.21)
-support for building PS4/PS5 projects


10/03/2022Version (0.31.20)
-fixed local variables sometimes not being reparsed when new variable added/changed
-improved the choosing of which symbol to use when there are multiple matching symbols of the same name
-added IndentLine and UnindentLine commands (control+], control+[)
-renamed Editor.Tab Mode setting to Editor.IndentMode
-added AutoDetectIndentMode setting (disabled by default)
-added tab mode indicator text box to status bar (click to change tab mode for file)
-can now change tab mode for file from the Edit menu
-added ReplaceAllInFile command (alt+shift+R) for replacing all when Replace panel not shown
-stopped clicking in status bar taking focus away from text editor
-remember the indent mode for files that have been explicit set
-don't clear status bar values when switching to a non-file tab
-added ToggleIndentMode command
-stopped tooltips from being clickable


09/03/2022Version (0.31.19)
-added ReplaceNextInFile command (alt+R) to replace the next value without having to open the FindReplace panel
-added ReplaceTextInitialValue setting so Replace panel can be set independently from Find panel
-fixed scroll bug introduced in last build opening Find panel part way through a file
-don't automatically set the Sel setting in the Find panel (even if there is a selection)
-only set the Sel settings in the Replace panel if the selection is multi-line
-in the Replace panel only set the replace text to the find text if it is empty


08/03/2022Version (0.31.18)
-made FindInFiles and ReplaceInFiles panels use current selection as initial text
-scroll cursor into view if it goes behind the FindPanel
-fixed Sel button not being selected if doing find with selection
-fixed auto resolve not working with functions that return a pointer
-fixed auto resolve not working for functions that return a template
-fixed AdditionalIncludes box when scrolling in workspace settings
-reduced delay on description tooltip for workspace settings panel
-centered 10x image on installer


08/03/2022Version (0.31.17)
-fix for installer sometimes not remembering install path on automated update (attempt 2)


07/03/2022Version (0.31.16)
-fix for installer sometimes not remembering install path on automated update


07/03/2022Version (0.31.15)
-clamp cursor positions after loading in changed file and scroll cursor into view
-update the tab description hover box after SaveAs
-added "all configs and platforms" defines list box to 10x workspace settings
-made settings panels scrollable
-fixed FindAndReplaceInFiles always saving with CRLF line endings
-_MSC_VER define is now set from the current project PlatformToolset value
-made panels restore to their original float size when dragging out
-preserve original float size of panels between sessions
-reduced tab width
-fixed tabbed panel drop down list box being ediable which could result in a crash
-fixed preprocessor bug parsing defines with multiple conditional statements
-early out parsing preprocessor OR statements
-fixed multiple comma separated variable definition parsing when they ahve default values
-fixed CleanReparse not reparsing all files
-fixed new files not being parsed until a restart after changing additional include paths
-fixed parsing of function declarations with noexcept() statements with brackets
-fixed #define names sometimes being interpreted as an identially named symbol


03/03/2022Version (0.31.14)
-fixed header files that are not in any project not getting any defines set (such as __cplusplus define)
-fixed background colour of encoding text in status bar
-reduced workspace name/path brightness in title bar
-changed forwardslash to backslash in workspace path in title bar
-improved check for pure C projects


03/03/2022Version (0.31.13)
-stopped menu appearing on multi-stage key alt bindings
-support for non-pointer function pointer variable definitions
-fixed parsing of functions with function pointers as arguments
-disabled goto-def on function arguments as it was sometimes finding the wrong symbol
-fixed typedefs sometimes not being coloured correctly
-made menu appear when mouse hovers over workspace path (if path longer than menu)
-tweaked positions of main menu button and workspace name/path text box
-added file encoding to status bar
-added FindTextInitialValue setting to allow initial text to only be set if there is a selection (options are: None, Current, Selection)
-if no initial word or selection, made Find/FindReplace preserve the old value
-added ShowContextMenu command for showing the context menu of the current selected element (Shift+F10)
-shift+tab inserts tab instead of submitting autocomplete
-reset the tree scroll when opening a new workspace
-reduced title bar drag long click time
-moved WorkspaceSearch settings button


02/03/2022Version (0.31.12)
-parser support for function pointer variables
-parser support for function pointer typedefs
-stopped alt+space opening app menu if it is mapped to a command
-The Machinary special support: made goto-def on a function pointer try and find a function of the same name in the current .c/h file
-optimised parsing of constructors
-fixed variable type being parsed incorretly if it is the same name as the variable


28/02/2022Version (0.31.11)
-fixed defines not being parsed in additional include files
-made workspace additional include files recursive by default (no longer need /*)


28/02/2022Version (0.31.10)
-more fixes to Unreal defines
-added separate defines settings for 10x workspaces for configs and platforms
-fixed 10x workspaces not reparsing after switching config/platform
-renamed ShowWorkspaceNameInTitleBar setting to WorkspaceTextInTitleBar
-ShowWorkspaceNameInTitleBar accepts (None, Name, Path) to allow showing the full path of the workspace
-fixed memory leak in FindReferencesPanel
-fixed bug causing some files to stay decompressed
-fixed crash opening lots of files at once from a folder outside the workspace
-reduced stall opening large workspaces
-fixed rare crash in LogMemoryStats
-modification to 10x icon
-updated 10x logo on installer
-added .inl files to ToggleSourceHeader command
-made bracket highlighter check prev char


23/02/2022Version (0.31.9)
-more fixes for UE5 defines
-log out "[parser] Detected UnrealEngine" if parser detects Unreal
-log out error if failed to remove python Update function


23/02/2022Version (0.31.8)
-fixed symbol highlighter and word highlighter sometimes not clearing when text is changed
-fixed workspace tree not being docked when you open a workspace for the first time
-fixed docked windows being too small on their first dock
-added .fx to default parser extensions
-fixed 0X hex strings not being parsed properly if X is uppercase
-made focus always return to the last focused file when closing a panel that has focus
-added FocusFile(fileanme) function to python API
-stop dragging window when app focus changes
-fixed rare shutdown hang with directory watcher


22/02/2022Version (0.31.7)
-fixed docking bug introduced in previous build


22/02/2022Version (0.31.6)
-support for complex statements in defines, simple arithmetic, improved support for brackets, conditional operator
-improved detection of project defines for UE4 and UE5
-parser support for unnamed structs in unions
-fixed cursor sometimes now switching back from the window resize cursor
-removed the UI font size setting. Use the UI scale instead
-remember where panels were docked before they were closed
-fixed title bar workspace text box for folder workspaces
-added Parser.DefinedOutBrightness for setting the brightness of defined out code
-made defines set in sln workspace settings override all other defines in the project and code
-increased the resize mouse hover range for resizing panels
-fixed parser missing references for things in templated classes
-small optimisation to parsing files changed outside of 10x
-reduced delay on description tooltip


18/02/2022Version (0.31.5)
-fixed crash setting active workspace in 10x workspaces


17/02/2022Version (0.31.4)
-fixed syncing of 10x workspace files and folders
-fixed preprocessor statements with brackets, eg #if !(0)
-fixed ForceIncludes causing files to include themselves
-fixed text alignment issues introduced in the last build


16/02/2022Version (0.31.3)
-fixed new files added to a workspace after the full parse not parsing until the file is opened
-new "Debug Sln" setting for 10x workspaces to allow debugging via a VS sln
-added "Open as Text" to workspace tree node context menu
-added ShowMenuOnMouseHover setting
-added ShowWorkspaceNameInTitleBar setting
-fixed VS Debugger sometimes not getting enabled
-allow window dragging from anywhere in the title bar (including 10x logo)
-added new workspace substitution macros: $(RootWorkspacefilename), $(RootWorkspaceDirectory), $(RootWorkspaceName)
-fixed Workspace substitution macros being wrong when right clicking tree node to build
-changed context menu Remove menu item to Exclude for sync'd nodes
-fixed crash excluding 10x workspace tree node
-removed border around menu item with open sub-menu
-fixed glyphs for other languages not showing when using the built-in font
-more fixes for running without any installed fonts


14/02/2022Version (0.31.2)
-fixed variables being confused with namespaces
-fixed long click drag moving window outside of title bar


14/02/2022Version (0.31.1)
-fixed config and platform dropdown boxes not working (broken prev last build)


14/02/2022Version (0.31.0)
-new logo
-new app icon
-colour scheme settings for tree nodes
-colour scheme settings for logo
-new tree node images
-fixed active project not showing up in light colour scheme
-fixed crash on startup if calibril or consolas fonts not available. Can now run with no installed fonts.
-fixed HideMenu setting and enabled it by default
-fixed toolbar buttons overlapping when window is resized
-auto-hide menu if window gets too small
-allowed long click anywhere over title bar to move window
-changed default gamma to 2.2
-fixed 10x workspace debug command locking up on second run if process still running
-stopped 10x capturing output of 10x workspace debug command
-fixed escape cometimes not closing floating panels
-fixed crash updating source preview in FindSymbolPanel
-fixed entering search text manually in FindReferencePanel
-made system window menu show on alt+space
-support for 0b00101010 binary numbers
-support for #if defined without brackets
-improved font glyph overlap problem
-fixed new line not indenting if Editor.ExtendEmptyLines is false


08/02/2022Version (0.30.45)
-stopped update installer making new 10x window topmost


07/02/2022Version (0.30.44)
-improved visibility of map scroll bar box in light colour scheme
-changed selected tree item to use "UI.UI Selected Item" colour
-changed default "UI.UI Selected Item" colour in light colour scheme
-added Prev/NextLocationInCurrentFile commands (ctrl+=, ctrl+shift+=)
-fixed bug in Prev/Next location adding extra location
-fixed Page Up/Down with ctrl+alt+arrow multi-cursor
-fixed it not clearing multi-cursors when doing normal page up/down
-fixed scroll bar colour not updating in light colour scheme
-fixed function info hover box colour in light colour scheme


07/02/2022Version (0.30.43)
-fixed syntax highlighting disappearing after last update until file re-opened
-optimised large multi-cursor rect-selects
-made SaveAll save all save all other files instead of stopping on the first read-only files it finds
-fixed long stall caused by Telemetry upload
-made drop down lists select on mouse up instead of mouse down
-stopped shift cursor move from clearing multi-cursor


06/02/2022Version (0.30.42)
-focus new 10x window after update and bring to front
-removed .cs from default parser file extensions
-added CRLF and LF menu items for file line endings


06/02/2022Version (0.30.41)
-added DiscardAllUnsavedChanges python function
-added Parser.Extensions setting to allow setting of the file extensions that the parser parses
-added .hlsli, .asm and .cs to default list of file extensions to parse
-fixed crash closing tabs with middle mouse button
-fixed crash closing files while mouse selection is in progress
-fixed crash selecting with double click twice and then closing file


04/02/2022Version (0.30.40)
-stopped hover boxes from accepting mouse events (fixes annoying mouse wheel sometimes not working bug)
-hide hover box and autocomplete when scrolling with mouse wheel
-stopped autocomplete automatically submitting when autocomplete list gets to 1 item if Parser.Autocomplete setting is false


04/02/2022Version (0.30.39)
-fixed files not being saved when switching workspaces


04/02/2022Version (0.30.38)
-renamed "UI.UI Selection" colour to "UI.UI Selected Text"
-added "UI.UI Selected Item" colour
-added "Open as Text" menu items to sln and project tree nodes to open the file as a text file in 10x
-changed the config and platform dropdown selected item colours
-fixed unsaved files being lost when workspace closed
-fixed "Run" command failing in 10x workspaces
-"Run" command in 10x workspaces now outputs to output panel rather than build panel
-fixed relative paths for files in directly added to sln file
-added "Content" to list of nodes parsed in .filters file
-removed hack that added all .cs files in the .csproj folder
-made mouse double click event also send a normal single click
-fixed bug switching configs where the parser would duplicate the m_WorkspaceFiles list
-added .txt;.ini;.json to the Workspace Search panel ext list dropdown
-adding a new ext list to the Workspace Search text box now adds it to the dropdown
-fixed Workspace Search ext lists not being loaded in
-fixed font size for the WorkspaceSearch full path name
-stopped readonly dropdown boxes changing the mouse cursor to the text bar
-stopped dropdown list button from showing focus border on double click
-made dropdown list disappear when clicking in text box in read only drop down boxes


03/02/2022Version (0.30.37)
-added StopDebugging command (Shift F5)
-added BuildBeforeRun setting (true by default)
-added g_DefaultCursorBlinkRate (auto by default) auto means use OS setting.
-fixed bracket highlighter matching brackets in strings
-support for ggc style errors in biuld output
-Find/FindReplace (case, word reg) settings now saved in workspace settings
-added *.txt,*.ini,*.json files to default filters list in FindInFiles panel
-don't auto-format on close braces and semi-colons in strings
-made indirection autocomplete change . to -> for smart pointers
-show "0 matches" in workspace search is no matches
-fixed Home and End keys from clearing multi-cursor rect select


01/02/2022Version (0.30.36)
-stopped autocomplete showing when typing new function or variable names


01/02/2022Version (0.30.35)
-added SubmitAutocompleteOnEnter setting


01/02/2022Version (0.30.34)
-fixed config/platform boxes being readonly in 10x workspace settings
-fixed 10x workspace settings resetting settings for all other configs than the current one
-fixed hang creating >1 new text file
-fixed 10x workspaces showing full path in windows taskbar
-don't show workspace extension in windows taskbar
-changed default colour scheme to 'Cantaloupe' because I like it so much
-fixed paste in find references preview panel pasting twice
-don't show autocomplete when typing a new namespace name
-fixed goto-def and find references not working on function declarations after loading from the parsre cache


01/02/2022Version (0.30.33)
-fixed crash moving multiple lines down past end of file
-fixed parser lockup parsing attributes such as alignas( without a close brace


01/02/2022Version (0.30.32)
-support for nested namespaces namespace n1::n2 {}
-fixes to FindSymbol sometimes missing member functions


31/01/2022Version (0.30.31)
-added a tab context menu for tool panels such as output and build meaning they can now be pinned
-fixed pinning of tabs
-fixed bug where unsaved files that don't exist anymore couldn't be closed
-autocomplete will now always select the first item allowing for Enter key submit except when typing a new class, struct or enum name
-made 10x restore and focus window when closing with unsaved changes
-fixed it always starting in non-maximised mode if closed when minimised
-fixed column text box in status bar showing incorrect value if line has tabs
-settings autocomplete lists now sorted by match score
-fixed maximised window height being 1 pixel out
-stopped .ini files being indented
-fixed function list box only showing for functions in the current file
-made preprocessor bail out if line gets too long (> 5000 tokens)
-fixed mouse dragging of autocomplete list box scroll bars
-fixed tab flickering moving mouse over tab close button
-stopped it indenting on paste for non-code files
-fixed vertial ruler position (margin, line numbers etc)


30/01/2022Version (0.30.30)
-vertical ruler lines, "VerticalRulers" in settings file
-added ClearMultiCursors to python API
-fixed window starting off screen
-added setting to disable adding * to new line block comments "Parser.AutoFormatBlockCommentsNewLines"
-fixed blank lines being indented by the auto-formatting
-fixed panel horzontal/vertical resizing extending outside of panel
-fixed stalls trying to open files that don't exist


27/01/2022Version (0.30.29)
-fixed config dropdown not showing


27/01/2022Version (0.30.28)
-fixed statements (such as lambdas) to the right of a variable declaration = operator not parsing, eg int value = [](){}
-fixed Find and Help menus not having shortcut key
-added CloseBuildPanel command
-find prev/next now add to the location stack for prev/next location
-autocomplete for colour schemes in settings file
-autocomplete for key mappings file
-fixed "Support 10x" button overlapping config dropdown
-fixed autocomplete list box hanging around when settings file is closed
-fixed Windows Taskbar not unhiding when moving cursor to the bottom of the screen when app maximised
-made AutoInsertCloseBracket only insert the close bracket if the rest of the line is empty


27/01/2022Version (0.30.27)
-renamed Extensions text box to Filters in find/replace oin files panels
-Find/replace in files filters now use wildcards
-empty filters text box now matches all files
-show Filters searched count in find in files output


26/01/2022Version (0.30.26)
-fixed long stall opening workspace if font set to a font that doesn't exist
-font files can now be specified by font name, name of the font file (with or without the .ttf, or the full path to the ttf file


26/01/2022Version (0.30.25)
-fixed crash on startup if font settings is set to font that doesn't exist


26/01/2022Version (0.30.24)
-autocomplete for most settings
-fonts can now be specified by name
-10xLogEnv.exe now signed
-added external library and font licenses to install
-changed default font to JetBrains Mono


24/01/2022Version (0.30.23)
-fixed workspace tree not remembering its position if docked to panel grid
-fixed workspace tree toggle button getting out of sync if closed in panel grid
-create 10x log file with shared_read to allow access while 10x is open
-enable reading of files that are currently being written to
-improved render of small fixed width fonts
-fixed crash in MSBuildVars::GetVariable
-fixed indent lines not rendering if Tabs mode is set to spaces
-fixed map scroll bars sometimes appearing blank after restoring d3d device


21/01/2022Version (0.30.22)
-fixed download error not displaying correctly in updater
-fixed adding workspace references to a 10x workspace
-fixed crash initialising MSBuildBars
-fixed tree scroll bar colours in light colour scheme


20/01/2022Version (0.30.21)
-fixed FindInFiles autocomplete staying around after panel is closed


20/01/2022Version (0.30.20)
-fixed tab colouring for floating/docked windows
-fixed floating/docked panel drag bar colour not updating when switching colour scheme
-fixed foreground coklour for output and build panels in light colour scheme
-fixed hang shutting down waiting for file status monitor to finish (caused a timeout crash)
-don't show drag bar for docked float panels with multiple tabs
-fixed fill docking to float panel
-fixed MoveLineUp/Down not working if cursor at beginning of line


19/01/2022Version (0.30.19)
-fixed goto-def on namespace function declarations not working


18/01/2022Version (0.30.18)
-made Find/Replace in Files use current word for find text
-close Find in Files when opening Replace in Files and vice-versa
-fixed random black boxes appearing in Find in Files


18/01/2022Version (0.30.17)
-re-wrote panel docking
-now uses dock buttons to give more control and avoid accdental docking
-fixed some functions in std::string and std::thread not parsing
-split 10x Output and Build panels into two panels
-stopped Panel Grid extending panels down over empy panels
-fixed crash if scroll bar resized to zero width
-made MoveLineUp/Down work with multiple selected lines


18/01/2022Version (0.30.16)
-fixed FindFunction panel not finding function declarations
-fixed crash in FindSymbol panel
-fixed FindSymbol sometimes missing files


17/01/2022Version (0.30.15)
-fixed white text in find in files results panel in light colour scheme


15/01/2022Version (0.30.14)
-fixed FindSymbols not finding function definitions
-stopped FindSymbol and FindFunction panels from returning function declarations
-fixed goto-def on a function call sometimes going to the function declaration instead of the definition
-fixed Window title for folder workspaces


14/01/2022Version (0.30.13)
-fixes to Light colour scheme
-improvements to automatic colour setting for FindFilePanel datagrid, panel buttons, scroll bars, drop down boxes etc
-renamed "UI.UI Highlihgt" colour setting to "UI.UI Selection"
-made "UI.UI Selection" set the selection colour for all text boxes
-modification to Firefly colour scheme
-fixed some checkboxes in Workspace Search not working
-fixed check tick and sub menu arrow colours in menus


13/01/2022Version (0.30.12)
-FindInFiles optimisation, X3 faster
-added Workspace filters to FindinFiles path dropdown
-re-ordered main menu items
-renamed Navigation menu to Find
-added ShowFindInFilesResults1-4 commands and menu items
-stopped FindInFiles results panel opening file in same tab
-fixed issues loading files with empty last line or last line without a newline


11/01/2022Version (0.30.11)
-fixed crash parsing using declaration


11/01/2022Version (0.30.10)
-Find/replace in files
-fixed bug in Set10XPanelVisible where if a panel isn't open it won't be focused
-tab focus borders on EditTextBoxList and CheckBox


07/01/2022Version (0.30.9)
-removed .ispc/h files from parser as it causes problems with duplicate symbols in cpp/h files.


06/01/2022Version (0.30.8)
-fixed indentation after (void)value; statement
-added .ispc and .isph to list of C++ parser extensions


04/01/2022Version (0.30.7)
-fixed rare threading crash in parser


04/01/2022Version (0.30.6)
-fixed black window on startup
-fixed flickering while resizing


03/01/2022Version (0.30.5)
-fixed incremental parsing of lambdas


01/01/2022Version (0.30.4)
-fixed transparent borders bug on Windows 11
-changed default key mappings for multi-cursor from control+alt+shift+arrow to alt+shift+arrow


29/12/2021Version (0.30.3)
-added IsFindPanelOpen() and IsFindReplacePanelOpen() to python API


29/12/2021Version (0.30.2)
-fixed crash pasting single line of text to multiple cursors
-stopped multi-cursors being added where there is already a cursor (also fixes ctrl+D wrap around problem)


28/12/2021Version (0.30.1)
-fixed hang on startup for certain values of Search.Extensions setting
-fixed column/row not updating in status bar after paste


28/12/2021Version (0.30.0)
-80% memory reduction
-optimised parser cache read
-optimised FindSymbol panel
-optimised switching of configs
-added LogMemoryStats command
-added CppParser.TrainCompression command
-added CppParser.DumpStringTable command


28/12/2021Version (0.29.45)
-fixed crash pasting multi-cursor block copy at end of file


21/12/2021Version (0.29.44)
-exclude boost from parser (again)


21/12/2021Version (0.29.43)
-fixed folder workspace settings not being remembered
-fixed saving folder workspace as workspace


20/12/2021Version (0.29.42)
-exclude boost from parser because it takes too long to parse


17/12/2021Version (0.29.41)
-fixed stack overflow crash parsing llvm


14/12/2021Version (0.29.40)
-fixed syntax highlighting colours flickering when editing preprocessor line
-fixed define out line not being greyed out after restarting


13/12/2021Version (0.29.39)
-fixed bug restoring unnamed file after crash. Unable to close file or quite due to "unable to update file" message box.


06/12/2021Version (0.29.38)
-fixed rare race condition opening workspace that could result in already cached files being rescanned by Workspace Search


04/12/2021Version (0.29.37)
-fixed rare race condition that could cause Workspace Search to not find any files when generating the cache


03/12/2021Version (0.29.36)
-fixed WorkspaceSearch not being bound to any key when first installing 10x


02/12/2021Version (0.29.35)
-fixed collision bug in WStringHashSet class


30/11/2021Version (0.29.34)
-fixed crash parsing Unreal
-fixed threading bug with ListWorkspaceFiles command


25/11/2021Version (0.29.33)
-fixed crash switching panels in panel grid
-stopped read-only list box items being editable with long click


24/11/2021Version (0.29.32)
-fixed comment blocks sometimes not updating
-fixed lines with macros not being commented out in comment blocks


24/11/2021Version (0.29.31)
-stopped unsaved file from closing if SaveFileDialog is cancelled without saving


24/11/2021Version (0.29.30)
-fixed Search not updating results on open for unsaved files


22/11/2021Version (0.29.29)
-made goto-def on a typedef'd type go to the typedef instead of the type
-made goto-def on a typedef go to the typedef'd type. Allows goto-def twice to go to the typedef'd type
-added .gc to the list of C++ parser extensions to parse
-fixed multi-line block comments not updating when typing a /* or */
-parser support for extern'd functions


15/11/2021Version (0.29.28)
-added temporary UnlimitedMemory setting. Reduces switching config time at the expense of twice the memory
-clean reparse after setting project defines, additional include paths and force includes
-improved list box mouse clicking. Now edits item if it is empty or if mouse held over after click
-fixed bugs closing and re-opening workspaces after clean parse triggered


13/11/2021Version (0.29.27)
-made switching config/platform use parser cache
-added CleanReparse command
-cancel hover box when mouse moves out of window and when menu it shown
-fixed 2 sec stall opening large projects
-fixed leak reparsing workspace
-optimised finding of UE PCH files (speeds up main parse)
-fixed FindFile results sometimes not refreshing


13/11/2021Version (0.29.26)
-stopped it indenting after macro lines such as UPROPERTY()
-fixed build output encoding issues when locale is changed


11/11/2021Version (0.29.25)
-removed max core count of 16
-fixed crash opening workspace tree context menu after re-opening workspace
-more hash map optimisations


11/11/2021Version (0.29.24)
-general parser optimisations
-limit the default max core count to 16
-changed from MurmurHash2 to MurmurHash3
-allow mapping of the ; key
-fixed knuth multiplicative hash, now shifts in HashMap
-make sure mutex lock classes are aligned
-optimised FindIncludeFile


10/11/2021Version (0.29.23)
-fixed crash in FindSymbolReferences panel
-fixed stall opening sln workspaces with lots of folder projects
-shutdown optimisations
-optimisation to StringId hash table (speed up to parsing and read parser cache)
-fied FindSymbolReferences showing preprocessed line instead of non-preprocessed line
-fixed "declspec() static" functions not parsing


08/11/2021Version (0.29.22)
-add project pch include to top of all header files before parsing. Fixes stuff not being defined in header files that come from the pch included in the cpp files.
-added Force Includes list box to workspace settings. Adds an include files to top of all files in workspace.
-fixed define config, now defaults to Debug, x64
-enabled syntax highlighting and goto-def in defined out code


08/11/2021Version (0.29.21)
-fixed include not being preprocessed if it is the first line in the file
-eliminated unnecessary allocations from parser


06/11/2021Version (0.29.20)
-fixed crash setting column count to 1


06/11/2021Version (0.29.19)
-added support for constexpr for function declarations
-fixed crash adding new folder to 10x workspace


05/11/2021Version (0.29.18)
-a couple of potential parser crash fixes


04/11/2021Version (0.29.17)
-show assert dialog in debug if debugger isn't present
-made parser ignore lines > 1000 in length
-added Parser.VerboseLogging setting, valid values are: 0: disabled. 1: displays parse times for files. 2: full verbose
-removed CppParser.ToggleVerboseLogging command


04/11/2021Version (0.29.16)
-added support for ([, ], \) keys in key mappings


03/11/2021Version (0.29.15)
-fixed slow parse for very long lines (lines hundreds of thousands of chars long)


02/11/2021Version (0.29.14)
-fixed crash on goto-def
-fixed FindReferences panel not showing any results if the search string if manually typed in


02/11/2021Version (0.29.13)
-another UE5 parsing fix


01/11/2021Version (0.29.12)
-support for PCH files in UE5


01/11/2021Version (0.29.11)
-fixed crash in preprocessor (in right branch this time)


01/11/2021Version (0.29.10)
-fixed crash in preprocessor


01/11/2021Version (0.29.9)
-made context menu appear above hover box
-fixed hover box stopping mouse wheel scroll


01/11/2021Version (0.29.8)
-hide hover box when showing context menu


01/11/2021Version (0.29.7)
-fixed bug in string hash map (could have affected all sorts of things)
-fixed ReparseFile sometimes not running syntax highlighter


31/10/2021Version (0.29.6)
-fixed negative values in preprocessor conditionals


31/10/2021Version (0.29.5)
-support for true and false in preprocessor conditionals
-fixed Search.ExcludeList not working


31/10/2021Version (0.29.4)
-added Parser.TreatUndefinedDefinesAsTrue parser setting
-fixed broken hex define #if statements broken in previous build
-fixed goto-def not working on relative includes for files that are not in the workspace


31/10/2021Version (0.29.3)
-support for relative include paths in preprocessor
-fixed #if SOMETHING resolving to true if SOMETHING isn't defined


31/10/2021Version (0.29.2)
-fixed debug settings getting incorrect values from VS proj file
-fixed debug settings overridden in 10x not being resolved ($(SolutionDir) etc)


30/10/2021Version (0.29.1)
-fixed crash adding workspace reference to 10x workspace


30/10/2021Version (0.29.0)
-Preprocessor!


29/10/2021Version (0.28.79)
-fixed hang setting column count to 1


29/10/2021Version (0.28.78)
-fixed crash setting column count to 1


29/10/2021Version (0.28.77)
-fixed 10x workspaces not opening (introduced in previous build)


29/10/2021Version (0.28.76)
-stopped it opening folder workspace on startup (introduced last build)


28/10/2021Version (0.28.75)
-changed .10x_workspace extension to .10x
-fixed empty scope default function args (arg = {})
-removed python OpenFolder, now use OpenWorkspace
-fixed most recent workspace not opening on startup if it is a folder workspace
-stopped buttons showing white focus border when clicked
-fixed line and column numbers not updating on new lines and switching ficus
-pass in build result to python OnBuildFinishedFunction
-fixed OpenFolder in explorer for 10x and folder workspaces
-parser support for virtual keyword in inherited class
-parser support for declspec in function declarations
-parser support for attributes in using alias statements
-fixes to parsing variables and function args with declspec and attributes
-parser support for _Thread_local
-horizontal scroll on shift + mouse wheel
-stopped treble clicking selecting line if clicking on a different line
-clamp dragging of floating windows to main window
-fixed app title showing wrong filename for folder workspaces opened with / at end


27/10/2021Version (0.28.74)
-fixed divide by zero crash creating new panel
-fixed declspec with templated classes


26/10/2021Version (0.28.73)
-VS sync now sets active project when starting debugger
-stopped Perforce RevertIfUnchanged from reverting unsaved modified files
-stopped Perforce RevertIfUnchanged showing empty message box if the file wasn't reverted


26/10/2021Version (0.28.72)
-fixed find/replace crash


23/10/2021Version (0.28.71)
-goto-def bug: it would sometimes go to an identically named symbol in another class/namespace


22/10/2021Version (0.28.70)
-fixed Run command not working for sln workspaces
-fixed GetMSBuildVars returning wrong value for LocalDebugCommand (and other variables that include the solution name)
-fixed Run command for console exe's


22/10/2021Version (0.28.69)
-stopped 10x_notepad from closing when a workspace is opened (caused by closing when last file is closed)
-fixed potential crash opening workspace when files are open in the default workspace
-stopped it showing the output window when opening a workspace n 10x_notepad
-fixed crash creating multiple new.txt files and then closing them without saving
-made new.txt files uniquely named
-fixed memory leak shutting down while workspace tree is initialising
-fixed it showing the current version changes in the update panel (again)


20/10/2021Version (0.28.68)
-fixed crash rendering workspace tree nodes with non-ASCII text
-fixed non-ASCII workspace tree node names not rendering


20/10/2021Version (0.28.67)
-fixed Debug Command being ignored in 10x workspaces


20/10/2021Version (0.28.66)
-fixed hang logging in to an RDP session
-fixed maps croll bars sometimes not being refreshed after a device reset
-fixed update panel showing change for current version


19/10/2021Version (0.28.65)
-reusing of defs on reparse optimisation. Significantly reduces reparsing while editing
-added Reparse All and Reparse File commands (in Parse menu)
-don't set new key mappings if they have already been mapped
-removed unnamed structs from global def tree


18/10/2021Version (0.28.64)
-fixed crash toggling source/header if no previous file focused
-new workspace tree button image
-new workspace tree node images


18/10/2021Version (0.28.63)
-fixes for pointer types (-> auto fix, auto*, templates with pointer types)
-fixed toggle source/header not working if find pane is showing
-fixed classes and structs not parsing with multiple declspec and attributes
-update "VS Classic" colour scheme


16/10/2021Version (0.28.62)
-fixed stack overflow crash parsing stack_overflow.c in clang.
-fixed DefRef operator< bug for DefRefs with templates


15/10/2021Version (0.28.61)
-fixed parser persistent crash after loading backup file from a previous crash


13/10/2021Version (0.28.60)
-fixed NMake build command (Unreal etc) returning success if build fails


13/10/2021Version (0.28.59)
-fixed parser deadlock introduced in last build
-added ini to list of c++ extensions to parse


13/10/2021Version (0.28.58)
-changed the way references are update when symbols are added/removed/changed. Should eliminate the long shutdown times and the parser sometimes taking a long time to update


12/10/2021Version (0.28.57)
-added CustomBuild to the list of allowed vcxproj element names
-support for relative paths for command line args
-added .usf and .ush to the list of C++ file types


11/10/2021Version (0.28.56)
-added some shader file extensions to the list of files that the C++ parser will parse
-added support for single underscore _declspec statements
-added support for [[attributes]] on function declarations
-added support for static keyword on function declarations
-hack fix for FVector in Unreal


11/10/2021Version (0.28.55)
-parser support for using declarations (using MyNamespace::MyClass;)


08/10/2021Version (0.28.54)
-added AddBuildFinishedFunction() python function
-added AddStartDebuggingFunction() python function. Return true from function to override debug process
-stopped BreakpointAdded python function from being called when switching focus with VS syncing enabled
-fixed variable definitions not being parsed if they appear after a pragma line
-added parser support for _Pragma and __pragma keywords
-added parser support for restrict, __restrict and __restrict__ keywords
-added parser support for volatile keyword
-fixed potential memory overwrite in WorkspaceSearch searching for terms that begin with whitespace
-fixed WorkspaceSearch IN keyword
-added ClangFormat script to format files on save
-disabled move line up/down in output window


06/10/2021Version (0.28.53)
-fixed it not running VS to debug if DebugCommand is set
-fixed the Project settings showing the wrong debug settings if the project config doesn't match the main config


06/10/2021Version (0.28.52)
-fixed crash opening up workspace settings (introduced last build)


05/10/2021Version (0.28.51)
-moved debug command settings from sln settings to project settings
-add extra vcxproj properties from .vcxproj.user file
-initialise debug command settings from vcxproj.user file loading project for the first time
-read in debug command settings from the vcxproj file
-added LogMemory command to show total committed bytes
-log memory usage after parsing
-support for reading vcxproj properties with config settings on the property rather than the property group
-added $(SolutionName) and $(SolutionFileName) build variables
-parser support for attributes between class and class name: class [[attribute]] MyClass
-parser support for declspec before variable name


03/10/2021Version (0.28.50)
-added GetDebugCommand(), GetDebugCommandArgs(), GetDebugCommandCwd() python commands


02/10/2021Version (0.28.49)
-fixed text editor menu items not submitting (broke a few versions back)


01/10/2021Version (0.28.48)
-fixed crash starting up with floating (undocked) panel for file that doesn't exist
-stopped 10x_notepad writing out floating file panels to workspace_settings file on close


30/09/2021Version (0.28.47)
-sped up wildcard searching in Workspace Search by approx X20


30/09/2021Version (0.28.46)
-fixed building VS NMake projects with spaces in the build command line


29/09/2021Version (0.28.45)
-fixed double click word and drag select (broken in last update)


28/09/2021Version (0.28.44)
-fixed double clicking sometimes not working
-removed MouseDoubleClickTime from settings (now uses standard Windows double click detection)
-made treble click duration same as double click (was 200ms now 500ms)


27/09/2021Version (0.28.43)
-fixed crash toggling items in main menu, eg Show Status Bar, Line Numbers etc.


27/09/2021Version (0.28.42)
-fixed text rect-selection from starting from the wrong position after a selection is made with goto-def or mouse double click
-support for NMake build commands with multiple commands
-fixed building of VS projects that have a different name to the .vcxproj file


27/09/2021Version (0.28.41)
-set the working directory to be the project directory for NMake build commands


27/09/2021Version (0.28.40)
-added support for $(SolutionPath) VS build variable


26/09/2021Version (0.28.39)
-allow wildcards in FindFilePanel, FindSymbolPanel, FindSymbolReferencesPanel, CommandPanel
-stopped clicking in results list in find panels from taking focus from text box
-allow matching of file name without extension in FindFilePanel
-multi-select in FindFilePanel
-multi-select in workspace tree
-show all files when FindFilesPanel is first opened
-sort all folders and projects in workspace tree (for VS workspaces)
-stopped .h files always appearing above .cpp files in FindFilePanel
-fixed consolas.ttf warning on startup
-removed tab close buttons from workspace settings panel (closing them could result in a crash)
-swapped the order of UI object focus and OnMouseDown, now focuses first


25/09/2021Version (0.28.38)
-fixed reading VS projects with relative paths
-fixed reading paths with $(variables) in the .filters file


25/09/2021Version (0.28.37)
-added support for VS proj variables: $(MSBuildThisFile), $(MSBuildThisFileExtension), $(MSBuildThisFileDirectory), $(MSBuildThisFileName)
-fixed rare crash re-opening sln workspaces (stopped MSBuildVars being inisitalised multiple times)


24/09/2021Version (0.28.36)
-display GetLastError() message if it fails to open a file


24/09/2021Version (0.28.35)
-stopped formatting putting space between auto and &


24/09/2021Version (0.28.34)
-fixed Build command if active projct config/platform doesn't match current config/platform


22/09/2021Version (0.28.33)
-stopped formatter adding space between auto and *


22/09/2021Version (0.28.32)
-divide max number of processors by CPU NUMA count to fix parser perf problems on some systems
-fixed rename moving the cursor to the start of the line if it was at the end of the line before the rename
-fixed MSBuildVars crash, now falls back to using the msbuild.exe from the command line


15/09/2021Version (0.28.31)
-new built in MSBuildVars library for getting build variables from VS projects. Speeds up project opening.


14/09/2021Version (0.28.30)
-fixed long workspace load time when first opening Unreal sln


13/09/2021Version (0.28.29)
-stopped formatter adding a space between >=


12/09/2021Version (0.28.28)
-fixed duplicated panel scrolling up if edit made after current cursor pos


09/09/2021Version (0.28.27)
-stopped it warning about unsaved changes when closing a file if the file is still open in another panel
-fixed cursors, bookmarks and breakpoints changing lines on undo/redo
-made cursor stay on same line when file is edited in duplicated panel
-made scroll line stay the same when file is edited in duplicated panel
-fixed duplicate file panel mismatch error


03/09/2021Version (0.28.26)
-fixed Visual Studio breakpoint syncing sometimes failing


02/09/2021Version (0.28.21)
-fixed Comment command not removing comments when CommentBlockUsesLineComments setting is set
-made Comment command add remove comments from the line start rather than the current cursor location
-stopped Comment command moving to the next line by default
-added CommentBlockIncrementLine setting, true to move to the next line after commenting a line (false by default)
-added extra logging to Visual Studio breakpoint syncing
-fixed formatter thinking <= ... > is a template and inserting space between < and =


30/08/2021Version (0.28.20)
-made find/replace replace next when Enter is pressed (instead of replace all)
-stopped it adding empty element in autocomplete for unnamed struct members


27/08/2021Version (0.28.19)
-fixed indentation on line after empty scope blocks and other general fixes
-fixed goto-def not working on functions with no declaration if GotoFunctionImplementation setting is false


24/08/2021Version (0.28.18)
-made files open in last active text editor panel rather than current panel (fixes files opening over docked Workspace Search panel)


23/08/2021Version (0.28.17)
-fixed crash re-creating map scroll bar texture
-removed whitespace from start of Workspace Search results


20/08/2021Version (0.28.16)
-fixed ctrl+F find not working after clicking on scroll bar
-fixed crash closing and then re-opening update panel


18/08/2021Version (0.28.15)
-stopped multiple threads from trying to write crash dumps at the same time


18/08/2021Version (0.28.14)
-fixed crash/hang closing workspace while it is async loading for the first time


18/08/2021Version (0.28.13)
-Improved handling of output from command processes. Should reduce load workspace time (delay before workspace tree appears)
-Fixed potential bug if process output fails to convert to wchar. Fix for possible memory overwrite.


17/08/2021Version (0.28.12)
-fixed installer failing for systems that don't have correct .net version installed


17/08/2021Version (0.28.11)
-fixed building of projects with spaces in the name


16/08/2021Version (0.28.10)
-support for auto in range based for loops on c-style arrays
-fixed infinite recursion crash resolving auto's, eg. for(auto test : test)
-stopped it remembering every mouse down in prev/next location


12/08/2021Version (0.28.9)
-fixed crash resizing map scroll bar to 0


12/08/2021Version (0.28.8)
-fixed select all not working in text boxes


11/08/2021Version (0.28.7)
-fixed it adding exponential spaces for new lines when the tab mode is set to spaces
-stopped the output window from showing if starting with a file on the command ilne that doesn't exist


11/08/2021Version (0.28.6)
-fixed crash changing drag select into rect select with alt key (introduced last build)


11/08/2021Version (0.28.5)
-changed default key mapping for multi-cursor rect-select to alt+shift+arrow
-fixed multi-cursor rect select with control held to move to next/prev word
-allow alt to be held after drag select started to turn it into a multi-cursor rect-select
-fixed 10x workspace always complaining that they havn't been saved
-fixed files not being saved using right-click build in the workspace tree
-fixed divide by zero crash in map scroll bar, possibly caused by a small font and huge files
-support ll and ull postfixes on number literals
-support for float exponential literals (eg 1e6f)
-fixed Workspace Search filenames being lowercase


10/08/2021Version (0.28.4)
-fixed wrong indent after unnamed scope close brace
-fixed ctrl+shift+alt rectangular select using arrow keys


10/08/2021Version (0.28.3)
-fixed installer invalidating 10x_notepad pinned taskbar shortcuts
-retry updating of externally modified files if file is locked
-keep trying to update file from disk and show "Updateing file..." (instead of closing file on failure)
-re-ordered text highlighters, so symbol highlight appears behind other highlights
-fixed mouse clicks sometimes not adding to the previous location history
-stopped it indenting after UENUM, UCLASS and USTRUCT macros


10/08/2021Version (0.28.2)
-fixed unsaved files prompt not appearing for modified 10x workspaces when shutting down
-fixed indent lines when Tab setting is set tp spaces


10/08/2021Version (0.28.1)
-added new Firefly colour scheme
-made about panel version string copyable
-made about panel website clickable
-improved default text box selection colour
-made goto-line set current line as default text
-added hover descriptions to 10x workspace build settings
-fixes to multi-cursor shift selecting
-made goto-error commands work with files with relative paths
-fixed workspace settings sometimes not saving
-fixed crash submitting workspace settings panel when opened from the main menu
-set working directory for Run command in 10x workspaces
-standardised all ok/cancel button texts to "OK" and "Cancel"


07/08/2021Version (0.28.0)
New:
-added commands and menu items for opening the workspace settings panel
-renamed workspace 'properties' to 'settings'
-renamed "Row" menu items to "Vertical Panels"
-made mouse double click submit find file panel
-trim search strings in find symbols panels
-support for building VS projects with spaces in their names
-only automatically select the first autocomplete item for indirections in functions
-increased show description hover box delay
-made goto error go to the character (not just the line)
-made goto-error work with Unreal header tool output
-made build commands use workspace folder as working directory
-can now save a folder workspace as a 10x workspace
-added exclude filters to workspace folders
-perforce checkout workspace before saving
-support for parsing % environment variables in Visual Studio project files
-added Remove to file and folder tree nodes
-set sync files and recursive as true by default for create workspace panel
-keyboard support for node tree: arrows, page up/down, home/end, enter
-added Cantaloupe colour scheme
-added new colour setting UI.SearchHighlight, used for find symbol, find references and Workspace search
-made update panel use tab select (Enter now submits panel)
-made 10x workspace build work if msbuild env not setup
-prefix 10x workspace build commands with "cmd /c"
-made ctrl+space submit the autocomplete if it is already showing
-added ShowFunctionArgsInfo command (ctrl+shift+space)
-made SelectCurrentScope default to shift+alt+=
-stopped new commands overwriting existing mappings
-made SaveAll python function return false if SaveAll failed
-increased save file re-try attempts
-changed UI.DragDropDockDelay setting to 300ms to improve drag-drop docking
-made ctrl+space complete the word without showing autocomplete if there is only one item in the list
-automatically upload changlist to website in deploy
-Update panel now shows changlist
-added button in update panel to go to the changlist on the website
-added FindInFilePrevCurrentWord command (ctrl+shift+F3)
-added SelectCurrentWord command (ctrl+W)
-added ListBreakpoints command
-added default shift+alt+= key mapping for SelectCurrentScope
-made perforce revert show an error message box if perforce not connected
-changed bulid to use VSDevEnv.bat instead of vcvars.bat
-renamed setting 'Build.Visual Studio VC Vars' to 'Build.VisualStudioEnvBat'
-allow ctrl+alt key mappings
-new toggle Workspace Tree button image
-made ctrl+space select first item in autocomplete
-added BuildBeforeStartDebugging setting (defults to true)
-made StartDebugging command save all
-made build fail if SaveAll fails
-added support for mapping mouse buttons in key bindings
-move cursor to current indent when clicking on an empty line
-allow multi-key key mappings with ctrl+C, ctrl+V, ctrl+X keys
-make middle mouse button move cursor and select word
-added KeyMappingExample.py
-added AddOnInterceptCharKeyFunction python function
-added AddOnKeyFunction python function
-added AddOnInterceptKeyFunction python function
-added GetKeyMappingsFilename python function
-added SetCursorColourOverride and ClearCursorColour override python functions
-Added MoveCursorUp/Down.Left/Right commands
-fixed main thread stalls while reading in the parser cache
Parser:
-removed indent after UPROPERTY, GENERATED_BODY, UFUNCTION, GENERATED_UCLASS_BODY, GENERATED_USTRUCT_BODY
-added Parser.Autocomplete setting to disable autocomplete as you type (still works on ctrl+space)
-parser support for constexpr
-parser support for [[attr]] attributes
-parser support for constexpr
-goto-def now works on auto
-added all stl files to include autocomplete
-made using aliases use typedef colour
-fixed parsing of unnamed structs
-added parser support for FORCEINLINE functions in UE4
Bug Fixes:
-fixed crash loading up backup files if no workspace loaded
-fixed potential bug in perforce revert where the file wouldn't be updated
-stopped Find from selecting the next occurance the first time it is opened with ctrl+F on a word
-stopped breakpoint syncing failing if one of the breakpoints is invalid
-fixed new line after /** */ comment block end adding a * line
-fixed it sometimes getting the VS2017 vcvars.bat
-don't apply general text editor settings to output window (line numbers etc)
-added extra logging to VS debugger syncing
-increased VS Debugger call timeout to 400ms
-fixed hang with shift-F3 find prev
-fixed VS project loader missing files with unrecognised element names
-fixed goto-def crash
-temporarily disabled the Hide Menu setting until it is fixed
-fixed potential null indirect crash in panel grid
-removed list tabs button from WorkspaceProperties panel
-hide list tabs context menu after selecting CloseAll. Fixes potential crash then selecting closed file.
-fixed crash closing window while mouse drag selecting text
-fixed buttons showing over menu when window resizes
-fixed shift+alt key mappings from also bringing up main menu
-fixed checkbox text aliasing
-fixed empty workspace panel appearing after loading workspace when tree is already visible (and subsequent crashes)
-fixed "Create Worksapce" typo in create workspace panel
-fixed potential memory overwrite and crashes loading in parser string table
-fixed clicking in scrolled text boxes
-clamp the autocomplete box to stay on screen
-don't start debugger if build failed
-fixed operator/ functions not parsing
-fixed rare parser crash (iter GetNameTempString wasn't thread safe)
-fixed SetKeyMappingsFilename python function
-don't call python update functions until all scripts have finished compiling
-fixed scripts being execute twice during startup
-fixed initialisation of 10x workspaces (such as file backup restoring, restoring layout, perforce connection etc)
-fixed it sometimes warning about a file being modified externally after a save
-fixed memory corruption indenting new block lines
-made list box new item submit when it loses focus (fixes additional include paths not updating when panel submitted)
-fixed divide by zero crash setting tab width to 0
-fixed unnamed enums with type not parsing
-fixed filenames being lowercase in find symbol panel
-fixed memory leak in Workspace Search
-fixed memory leak in Workspace Search
-fixed workspace tree button getting out of sync when closing with close button
-fixed threading issues workspace tree generating and improved speed
-changed "Workspace Explorer" to "Workspace Tree" in View menu
-fixed output panel opening as a floating window
-warn about closing a modified folder workspace
-show build output even if build command is empty
-fixed output panel appearing floating for new workspaces
-fixed templates not working on function declarations
-fixed it showing error dialog if it fails read/write on one of the File IO retries
-fixed crash closing the update panel
-fixed hang and crash when leaving and rejoining remote desktop session
-improved crash error message box text
-changed forward slash key code back to / to fix comment out code shortcut
-fixed rare crash with middle mouse wheel in remote desktop session
-fix to Path::GetRelativePath
-removed border from website button in update panel
-stopped alt code characters from giving the menu focus
-fixed unicode chars not being recognised as letters (fixes ctrl+arrow skip word)
-fixed (ctrp+shift+space) function args info not showing for templated functions
-fixed middle mouse button from triggering commands if clicked outside of text editor
-removed internal stl and eastl files from include autocomplete
-fixed slow startup when there is noather instance of 10x open
-fixed rare threading crash in FindSymbolReferences
-fixed long startup delay introduced in last build
-fixed function info box not appearing when typing (
-fixed GotoSymbolDefinition from triggering if no text eidtor focused (fixes middle mouse click mapping)
-removed FormattingTests.py from the install and delete it from appdata


20/07/2021Version (0.27.0)
New:
-support for files >2GB
-support for assigning auto variables to the result of a function: 'auto p_test = GetPointer()'
-support for eastl
-support for automatically completing /** comment blocks
-added Editor.AutoAddCloseBracket setting
-added Parser.FormatBracesOnEnterSplit setting for formatting braces pressing enter between {}
-added Parser.AutoFormatBlockComments setting
-undo recently inserted char if user types that char, eg auto ) inserting if user types a )
-renamed AutoAddCloseBrace setting to AutoAddCloseBraceAndFormat
-added AutoAddCloseBrace which just adds a close brace and doesn't format
-added new Parser.OpenBraceOnNewLine setting (true by default)
Optimisations:
-optimised reading in large files
-general optimisations to file loading
-fixed long pause opening workspace caused by waiting on the Perforce connect
-fixed long pause opening VS projects with $() variables that can't be resolved
Parser:
-fixed goto-def failing on typedef with same name as what it is typedef'd to, eg typedef struct Test Test;
-fixed array variables not being treated as pointers
-fixed indirections not working for array variables of classes that have a [] operator
-fixed parsing of auto pointers: 'auto p_test = &test'
-parser support for alignas() specifier
-fixed UE4 Super keyword
Bug Fixes:
-fixed Alt-Gr special chars for European keyboards
-fixed diamond char being added on alt-arrow key release
-fixed crash loading workspace with file that doesn't exist anymore
-fixed European keyboard ^ escape key handling
-fixed Del char being inserted on ctrl+backspace
-fixed ctrl+space adding space (allows ctrl_space to be bound to a command)
-fixed IsGloballyVisible parser crash
-fixed "save changes - no" failing for empty unnamed files
-prompt to save changes before starting update
-fixed crash checking for modified files
-fixed function indentation where open brace is not put on new line
-removed "error opening file" message box loading workspace with open files that don't exist anymore
-fixed the text being typed appearing in the autocomplete as you write define statements
-fixed break after switch case statement {} block being indented
-fixed indentation after switch case break statement
-fixed break after switch case statement {} block being indented
-fixed indentation after switch case break statement
-fixed GetWorkspaceExePath() used for launching the exe and a Python command
-fixed panels not remembering they have been docked to the panel grid
-showing the find and find/replace panels when they are already showing selects the find text
-stopped ctrl+alt+shift+arrow moving panels
-fixed selection getting stuck on after starting multi cursor with ctrl+alt+shift_arrow
-made AutoAddCloseBraceAndFormat move the brace to a new line if Parser.OpenBraceOnNewLine is set


25/06/2021Version (0.26.0)
New:
-pinning of tabs
-made perforce diff diff against the HaveRevision instead of the HeadRevision
-pass all command line arguments when opening file in another 10x process with 10x.exe
-re-wrote file status monitoring. Fixed files sometimes not updating when quickly alt-tabbing
-only show selected function in the function list box after using types args (and show all again if cursor moved back to start)
-made F4 in Workspace Search start from the last submitted search term
-added dropdown to find/replace replace text box
-added FindPanelCursorKeys setting to disable cursor keys selecting contorls in find and find/replace panels
-function list box now only shows selected function when typing args (ignores whitespace)
-delay save until Perforce checkout finished
-renamed OnCharKeyDown python function to OnCharKey
-use WM_CHAR windows message for char key presses instead of WM_KEYDOWN with virtual key code lookup
-added support for Japanese Shift_JIS text encoded files
-if the file is not modified changing the text encoding will now reload the file with that encoding
-added code that tries to automatically detect if a file is encided with Shift_JIS encoding
-added setting CloseFindPanelOnEnter to close the find text panel on enter or F3 (off by default)
-added CloseOutputPanel command
-added ListFileStatusMonitorFiles to list the status of all monitored files
-added ListWorkspaceFiles to list all files in the current workspace
-added shader extensions to default file types list
-directory watcher for instant updating of externally modified files (for open files only)
-show an error message box if a file fails to load
-added VSMSBuildInfo.exe to get the Visual Studio msbuild variables (faster and more reliable than old system)
-added VerticalMousewheelSensitivity and HorizontalMousewheelSensitivity settings
-added ReopenFileInCurrentPanel setting to re-open a file in the current panel even if already open (defaults to false)
-made it always try and check out on save when saving read-only files (if checkout failed on edit)
-for drag-droped files open file in the panel that it is dropped in
-made clicking in TextEditor put cursor on the closest char
-when opening duplicated files favour the one in the current panel
-holding shift when opening a file will duplicate it in the current panel
Parser:
-fixed parsing of templates with sub-classes, eg Ptr<Class1::Class2>
-fixed parser failing to parse statement after two sequential 'using namespace' statements
-fixed next statement sometimes not being reparsed when editing current statement
-fixed member function arg types not parsing if they are declared in a parent scope of the class
-fixed indirection with brackets not working, eg (*p)->Test()
-fixed goto-def sometimes going to virtual function definition from the parent class instead of the current class
-fixed find reference not working on non-virtual member function definitions
-added Parser.GotoFunctionImplementation setting. Makes goto-def on a function call go to the implementation instead of the declaration. Defaults to true.
-re-wrote include autocomplete. Fixes typing slowdown and improved path matching
-fixed / and . chars dismissing include autocomplete
-fixed it missing include paths for Visual Studio projects. Improves include autocomplete
-parser support for typedef structs and unions
-fixed parsing of functions with ... ellipses
-fixed parsing of variables and function args with square brackets, eg int my_var[]
-fixed bugs with goto-def on unions
-fixed parser breaking if files are edited while initial parse is in progress
-fixed unnamed unions parser bug introduced in last update
-fixed autocomplete for unnamed unions
-fixed goto-def finding function in global scope instead of a parent class
-fixed goto-def finding function in base classes instead of parent (GetDefParents order reversed)
-fixed broken autocomplete on function return values
-fixed bug reparsing using namespcae statements (fixes parser breaking when saving file)
-fixed files being reparsed when saved (introduced with file watcher change)
-fixed global function being found for goto-def on member function that only has declaration with no definition
Bug Fixes:
-fixed autocomplete out of bounds crash for empty lists on up/down key
-fixed uninitialised variable causing new files failing to save with read-only message
-stopped find panel showing over horizontal scroll bar
-fixed config drop-downs not disappearing after clicking on tree view
-fixes to telemetry
-fixed the crash dmp file not being deleted after creating the gzip file
-stopped autocomplete being dismissed on up/down if there is only one entry
-stopped function list box eating the up/down arrow keys if there is only one item
-fixed FileStatusMonitor getting stuck in a loop if it is inturrupted by switching focus
-fixed last char still being highlighted after deleting file find text
-fixed tab select not working on find/replace 'Sel' button
-find and find/replace panels: stopped text box cursor keys from selecting prev/next control if there is a selection
-stopped find and find/replace left cursor key wrapping around and selecting rightmost button
-fixed 10x_notepad not showing the current file in task bar if user clicks on UI outside of text editor
-fixed crash shutting down with pinned panels
-fixed panel pinning not saving correctly
-fixed GotoFunctionImplementation setting not being restored when workspace is opened
-fixed right click build in workspace explorer building the active project instead of the selected on
-fixed bug where closing a file, modifying it externally and re-opening file would open the old file
-check for file modifications in all systems when a file is opened
-copy over Snippets.py to fix compile warning on startup
-fixed ctrl+backspace inserting Del char
-fixed crash submitting WorkspaceSearch panel with no results
-fixed python compile error with snippets.py
-fixed python scripts not getting installed on new installs
-fixed externally modified files not always reloading and resulting in no text
-made FileStatusMonitor log to file instaed of output window
-fixed hang reloading externally modified files
-fixed docked panels not remembering their dock state and size when reopening
-fixed floating panels not remembering their position when reopening
-fixed "error updating file" warning when closing unnamed file with 'discard changes'
-fixed new file containing discarded changes from closed new.txt with discard changes
-fixed backup file not being cleared when closing unnamed files
-fixed ctrl+space key mapping not working (due to WM_CHAR change)
-fixed files being opened multiple times in current panel with ReopenFileInCurrentPanel setting enabled
-stopped current workspace being added to FindFile panel files


19/05/2021Version (0.25.0)
New:
-support for partial template specialization
-support for templated function specialization
-support for inherited smart pointers
-support for resolving square bracket operator overloading
-stl support (limited to a subset of stl so far)
-made FindSymbol panel preview put function at top of text editor
-support for perforce p4config variable. If p4config is set to a file (eg p4.txt) it will look for that file in the same directory as the sln file and read the client and user settings from the file and reconnect.
-stopped recent files going into taskbar right click menu for 10x.exe (still does for 10x_notepad.exe)
-added extra logging to PerforceConnect
-hide include autocomplete list when typing second " or >
-rewrite of indenting, now always works off previous statement indent. Fixes many issues.
-made installer show message if newer version
-added support for __ALIGN() macro
-added support for typedef enums
-backspace cancels indirection autofix
-don't try and autofix indirection if user has edited previous change
-enabled auto-fix indirection by default
-support for aliased templated types (fixes std::vector [] operator indirections)
-made autocomplete not select any items for non-indirection autocompletes
-stopped enter from submitting autocomplete if no item selected
-only allow ( to submit autocomplete if item is selected and it is a function
-don't auto-add function brackets on autocomplete submit if user submitted with a (
-improved autocomplete fuzzy matching for split words
-added SubmitFirstAutocomplete setting to disable tab submitting first autocomplete item when there is no selection
-stopped ( from submitting autocomplete when there is no selection
-stopped autocomplete scores affecting order until scopre > 5
-added SubmitAutocompleteOnOpenBracket setting to enable/disable the submitting of autocomplete on (
-rename class now renames constructors and destructors
-increased priority of first letter fuzzy match
-increase fuzzy match score if case matches
-tweaked fuzzy match weightings
-set default key mapping for ShowInWorkspaceTree to ctrl+T
Optimisations:
-optimisation to token parsing, eliminated array resizing as token are parsed
-parser optimisation, moved more arrays to local thread arrays to reduce allocator contention
-parser optimisation to GetOrCreateCppFile to only take the exclusive lock if creating
-parser optimisation, only resize token array if larger
-fixed bug causing parser slowdown over time (m_UpdatingParseThreads)
-read parser cache optimisations for lots of cores
Bug Fixes:
-fixed installer invalidating pinned startmenu/taskbar shortcuts
-fixed FindSymbol panel not showing all functions by default
-fixed indenting of double braceless if's
-fixed unclosed ( affecting the indenting further down the file
-fixed syntax highlighting failing for externally modified files or files that are saved during the reading of the parser cache
-fixed indentation sometimes failing if you type too fast
-fixed enum indenting
-made F4 go to first item in workspace search
-fixed Workspace Saerch line numbers being off by one
-fixed variables not parsing after a /* */ comment block
-fixed parsing bug where symbols would sometimes be invalidated during initial parse and not come back
-fixed bug where symbols declared after a scope close brace could be put into the previous scope
-made ctrl+backspace delete white space first, then word
-fixed indentation after class access specifiers
-fixed infinite recursion crash in FindDef
-fixed autocomplete not submitting on (
-fixed functions not indenting correctly if there is an enum further up the scope
-fixed up/down keys dismissing autocomplete when there is no selection and only one item in the list
-fixed auto adding of close brace not working for member functions
-telemetry fix. Now goes idle after 30 sec of no input
-fixed destructor definition parsing
-fixed auto-add of } not working on const functions
-fixed autocomplete in class scope not including any class members
-fixed some small shutdown leaks
-fixed slowdown processing build output


02/05/2021Version (0.24.0)
New:
-formatting: adding and removing of whitespace and indenting lines
-added FormatSelection command (ctrl+K,F)
-added FormatFile command
-auto-formatting, format block on } and statement on ; and preprocessor on #
-added Parser.AutoFormat setting
-increased key-combo delay from 500ms to 1000ms (eg, ctrl+S,S to save all)
-re-wrote key combo handling to stop it picking up the second key press that might be mapped to something else
-re-wrote automatic indenting. Covers many more cases, including multi-line statements
-always set indentation of preprocessor lines to zero
-disabled autocomplete in comments and strings
-added preprocessor keywords to autocomplete
-stopped indent lines using parser indent values for empty lines (now works it out of previous lines)
-added CancelAutocomplete command
-automatically dismiss autocomplete after typing else and endif keywords
-added Parser.ExactMatchAutoComplete setting to allow setting the list of keywords that dismiss the autocomplete
-many fixes and improvements to formatting and indenting
-auto-indent line after moving line up/down
-added Parser.IndentCaseStatements option for indenting case statements (true by default)
-added new CppParser.ToggleVerboseLogging command
-added exclude filters for parser. Files that match these filters will not be parsed.
-exclude filters default to /Engine/Plugins/ to eliminate Unreal Engine plugins
-support for custom indenting with AuotIndent. Indenting is now based on the indent of the previous statement
-added GetSetting and SetSetting to python API
-added ExcludeFilters to sln workspace local settings
-added ExcludeFilters setting to sln local settings
-changed default for Parser.ExcludeFilters to ""
-re-enabled prioritising open files in parser. Makes syntax highlighting come in quicker
-renamed Editor.FormatOnPaste setting to Editor.UpdateIndentsOnPaste
-renamed Parser.FormatOnCloseBrace to Parser.UpdateIndentsOnCloseBrace
-added more parser verbose logging
-added support for a bunch more Unreal API macros
-clamp sizes of floating panels to app window
-parser support for partially written functions
Optimisations:
-optimisation to map scroll bar (not updating indent lines)
-reduced allocator contention, general parser optimisations - 30%-50% speedup on iniital parse
-parser optimisation - stopped it trying to resolve L in L"" wide strings
-removed limit on MaxCoreCount setting for > 12 cores
Bug Fixes:
-fixed 10x command panel not working on commands that needed a file to be focused
-fixed crash syncing settings to VS debugger
-fixed classes with preprocessor lines in the definition not parsing
-fixed files being marked as modified if the undo group was empty (meant that the modified flag couldn't be cleared)
-fixed file outside of project not being updated when modified externally
-fixed symbol renamer failing to check out files but modifying files anyway. Now checks out all files first before doing any renaming and cancels if a checkout fails.
-fixed crash in 10x command panel submitting command that doesn't exist
-made AutoAddClose brace to only happen on functions and if,for,while statements
-fixed class definitions with preprocessor lines in parents
-fixed parser bug with unmatched block comment end
-fixed rare corruption in formatting
-fixed Editor.AutoIndent setting. Previously wasn't doing anything, now if disabled indents based on prev line
-stopped clipboard history from showing system clipboard values
-fixed crash showing clipboard history if the history is empty
-fixed bug where no files would be parsed if ExcludeFilters is empty
-fixed close brace not being indented correctly if UpdateIndentsOnCloseBrace is disabled
-fixed parsing of Unreal functions with preceding API macro
-fixed relative formatting bug with structs if AutoIndent turned off
-fixed parser not re-parsing next line when editing
-fixed incorrect auto-indenting after preprocessor lines
-fixed stall pasting very long line
-fixed FindReferencesPanel not resetting the current search when workspace closed
-fixed threading bugs in parser due to missing locks
-fixed race condition causing parser to miss some edits
-fixed Delete key not working if cursor beyond the end of the line
-fixed modified file backup
-fixed bug where typing a { in a function could cause stuff lower down the file to stop parsing
-fixed unnamed unions not parsing correctly if they are defined in a different file
-fixed bugs parsing multi-line defines
-fixed args not being coloured as variabled in function declarations
-fixed autocomplete not sorting correctly for namespaces
-fixed autocomplete usage scores not saving


07/04/2021Version (0.23.8)
New:
-new improved fuzzy matching, now consistent across all tools
-added GetWorkspaceBuildConfig() and GetWorkspaceBuildPlatform() python functions to get the config and platform for the currently active workspace
-Compile single file for UE4
-made find symbol fuzzy matching work on symbols with scope, eg MyClass::MyFunc()
-added IsShowingAutocomplete python function
-added ShowMessageBox python function
-increase autocomplete score for keywords that are used in the current function
-added PerforceConnect command to allow reconnecting after 10x has started
-added PerforceHistory command
-added PerforceShowInP4v command
-added PerforceTimelapse command
-added PerforceRevisionGraph
-made double click in find symbols source preview goto source
-made goto next/prev error skip lines with identical filename/line
-fixed external changes not always being picked up by parser
-autocomplete fuzzy matching now supports word first-char matches, eg mtf matches MyTestFunction
-the symbol highlighter now contributes to the autocomplete usage score. 10x will start to learn what you are interested in as you are browsing around the code
-autocomplete match scores are now stored globally rather than per project, and shared by all tools
-autocomplete usage scores now work by symbol instead of just the text
-FindSymbolReferencesPanel now contributes to autocomplete find usage score
-made Build continue if SaveAll fails to save non-code files
-made FindSymbolPanel highlight matching text
-highlighting of text match in FindSymbolReferences find symbol dropdown
-increased mouse wheel scroll step for list boxes
-added SetKeyMappingsFilename python command
-added ResetSettingsToDefault python command
-added ResetKeyMappingsToDefault python command
-removed SpacesAsWildcardsForFindFile from Workspace Search setting, now uses same fuzzy filtering as autocomplete
-new fuzzy matcher that works with lowercase fuzzy filters
-fuzzy matcher will now match words in lowercase strings, eg mytest => myfuzzytest
-improved fuzzy matching of first letter chars and allow text at end of filter to match remaining text, eg mftref => MyFuzzyTestReference
-added AddWorkspaceAdditionalInclude python function
-added SetWorkspaceSettingsEnabled python function
-changed default colour scheme to VS+VAX
-now checks all modified files every time 10x gets focus
Parser:
-support for auto keyword
-support for range based for loops
-support for simple lambda expressions (so far only parsing of arguments and variable assignment)
-added more automated python test scripts to test parser
-re-wrote the parser re-parse of modified code, fixes lots of bugs and missing references
Optimisations:
-significantly reduced memory overhead for open files
-clear visible lines for TextEditor's that are not visible
-optimised listing of large amount of text
-parser memory reduction: 5% memory saving, 3-5% in parse and read parser cache time
-general optimisations to autocomplete
-optimised workspace search, results now appear 30% faster
-optimisation to eliminate stalls on main thread dealing with parser updates
-optimisations to FindSymbolPanel
Bug Fixes:
-skip preprocessor lines in class definitions
-support for more Unreal preprocessor statements in variable defnitions
-fixed comma separated variable definitions not parsing if they contain * or &
-fixed goto-def missing variables in namespace for functions declared with Namespace::FunctionName
-fixed it missing operator functions if they only have a declaration
-fixed parsing of member functions with more than one double colon on their definition name (Namespace::Class::Function)
-fixed building of Unreal projects with relative paths to Build.bat
-fixed VisualStudioLink build dependency
-fixed RemoveDef not invalidating the entire scope of the def
-tightened up parsing of class parents, which was causing things to be parsed as classes that were not classes
-fixed UE4 not building if there is a space in the project path
-fixed BuildAll not using NMake command
-fixed crash if autocomplete showing and cursor moved past end of line
-added VisualStudioSync setting to allow disabling of syncing breakpoints and config with Visual Studio
-memory leak fixes
-fixed leak cancelling workspace tree creation
-fixed leak in Array and HybridArray MoveTo
-fixed leak in ThreadPool TaskContext
-fixed leak of VSProject
-fixed crash dumps for stack overflow exceptions
-fixed UIObject IsShowing to be false if parent is not showing
-fixed leaks closing workspace
-fixed autocomplete bug where autocomplete is not being dismissed on close bracket
-fixed MakeUppercase and MakeLowercase with multi-cursor selection
-fixed leak re-parsing defs (missing RemoveDef event from Cppfile)
-fixed open workspace failing after opening a folder workspace
-fixed default workspace settings not being saved
-fixed bug in Path::NormalisePath for paths starting with ../
-fixed crash double clicking past end of last datagrid row
-fixed autocomplete not picking up symbols from using namespace declarations (cpp only)
-fixed crash opening workspace with empty docked panels
-fixed perforce diff
-fixed pause submitting autocompete on large projects
-fixed perforce revert not reverting unsaved changes
-re-wrote perforce diff to use .NET API instead of command line
-fixed message box sizing for text with long paths
-fixed it missing file modifications outside of 10x
-fixed workspace search not checking file modification times on startup for file paths that differ in case
-fixed workspace search Rescan not checking file modification times
-fixed parsing/skipping of multi-line macros
-fixed it not remember dock position of panel after re-opening
-fixed reading of project files with unknown filename element types
-fixed resolving of templated types within an indirection
-fixed focus crash closing Search panel with close button
-made autocomplete usage score increase when typing symbol name without submitting autocomplete
-fixed mouse clicking in autocomplete list box
-fixed autocomplete not showing in a line after an open bracket
-fixed crash building single file that isn't in a project
-fixed telemetry crash reporting
-fixed crash scrolling through find symbol results
-fixed extra undo after adding char to empty indented line
-fixed bug reading state file causing an increasing pause on startup over time
-fixed crash/hang on startup with 0 width map scroll bar
-fixed find panel right key moving to buttons instead of clearing selection
-fixed EditTextBox cursor sometimes not being visible when moved
-fixed things being focusable behind explusive top level panels (message boxes). Fixes escape not always clearing message box
-fixed line index being off by one in find symbol panel
-fixed existing symbol references not being updated after adding a new symbol
-stopped multiple autocomplete list requests being triggered at once
-fixed crash entering paths in Additional Include paths panel
-fixed random parser crash
-fixed ResetKeyMappingsToDefault python function
-fixed autocomplete not working while function list box visible
-fuzzy autocomplete automated test
-fixed open folder not working for files opened with non-absolute paths
-fixed autocomplete not working in function args where it can't find the function for the function list box
-fixed workspace name not showing for folder workspaces that are opened with a / at the end of their name
-fixed existing references not updating when defining the symbol, eg, write MyValue = 1; then define it before int MyValue; MyValue = 1 would not appear in the references.
-stopped local variables going in to the global references map
-fixed symbol highlighter stopping working if it tries to find references on a non-symbol
-fixed additional include files not being reparsed when changed externally
-fixed rare crash loading up corrupt search cache files
-fixed random parse failures in files that are open during the initial full parse
-fixed parser missing stuff in UE UObject base class
-fixed scope being inserted at wrong index for FindSymbol panel results


26/02/2021Version (0.22.0)
New:
-autocomplete for includes
-indent lines
-show whitespace
-allow function list box to show at same time as autocomplete box
-obtain msbuild variables for each project for each configuration and caches them off
-added ToggleReadOnly command
-added VSDebuggerReconnect command to re-connect to the Visual Studio debugger
-show function info box above cursor
-changed F8 to map to GotoNextResult (same as F4)
-added RemoveAllBreakpointsInFile command (ctrl+shift+F9)
-added RemoveAllBookmarksInFile command (ctrl+shift+F2)
-read in the per-project configs for each solution config
-get the additional include paths and resolves them for all projects (needed for include path autocomplete)
-build variables in project file paths are now resolved (fixes the missing files warning on startup)
-10x now gets the build exe path correctly for the Run command (instead of having to get it from the build output)
-CompileSingleFile support for files in projects that have a different configuration to the solution configuration
-BuildProject supports projects that have a different configuration to the solution configuration
-added LogWorkspaceSettings command to log all project build variables
-Unreal is now built using the NMake command line command (Build.bat ...). This appears to give slightly different results from running msbuild on the sln.
-Run command now uses args and working directory from local debug settings
-stopped output panel from focusing when building
-increased mouse wheel scroll speed for DataGrid
-made menu items activate on mouse up instead of mouse down
-made column count default to 2 on first install
-made multi-cursor paste paste same value to each multi-cursor if the clipboard contains only one line
-disabled the read-only tab button and added a Read Only menu item
-made "ok" only message boxes dismissable with Enter key
-made update panel accept Enter and Escape keys
-added CppParser.ListWorkspaceFiles command
-removed python AddCommand function, no longer needed as all python functions can be commands
-python commands can now be entered without the ()
-aded ListCommands command (also triggered on "help", "?"
-added Exit command
-added Update command that automatically updates if there is one available
-added command panel
-added VerboseLogging setting to log additional stuff out to the .log file (may be a small perf hit)
-added menu item for toggling line numbers
-made Enter key submit menu items
-support for .NET Core projects
-changed default key mapping for Rename to ctrl+R
-changed default key mapping for FindFunction to alt+M
Optimisations:
-optimised reading of .sln and .vsxproj files
-optimisation to parser cache reading
-optimised clipboard copy for huge text selections
Parser:
-parser support for this->
-parser support for Super
-added support for 'final' keyword on functions
-added fuzzy matching for word first chars, eg "mtf" matches "MyTestFunction" and "my_test_function"
-parser support for parent classes/struct without public/protected/private qualifier
-parser support for variables with 'enum' qualifier
-fixed local structs not being parsed if they are in a function sub-scope
-fixed local struct definitions in unnamed scopes in member functions
-fixed comma separated variable definitions with assignments (bool value1 = 1, value2 = 2;)
-fixed word autocomplete not returning results from the current classes parent
-fixed get references not working on on-member function declarations
-fixed goto definition/declaration not work on non-member functions
-fixed virtual references sorting
-sort virtual function references by parent -> derived
-fixed inseting text with autocomplete moving cursor to end of word
-fixed find references returning virtual functions of all classes rather than just the parents and derived classes of the current class
-fixed autocomplete not working on indirection from a typedef'd type
-re-enabled stricter variable parsing in sub scropts of functions
-fixed parsing of templates with typedef'd template args (fixes UE4 TArray [] operator)
-increased the autocomplete usage score weight if the match is at the start
-fixed autocomplete of functions not adding to the usage score
-disabled "more..." for indirection autocomplete, now only globals are put under "more..."
-increased autocomplete starts-with weight
-reduced autocomplete usage score weight
-fixed crash with fuzzy filter
-fixed autocomplete not showing with ctrl+space if cancelled with escape
-fixed autocomplete list not resizing when scrolling with mouse wheel
-fixed parsing of default function args
-fixed referencing files not being reparsed when a file was modified outside of 10x, fixes Find References missing references until the referencing file is opened
-fixed references not being updated on startup if files modified while 10x was closed
-made parser ignore UE4 NoExportTypes.h. Stops parser getting wrong base classes, such as UObject etc.
-moved parser cache to Cache\Parser
-fixed function list box not showing after re-typing an open bracket on function with no args
-fixed autocomplete fuzzy filtering sorting higher than contains match
Bug Fixes:
-fixed Find+Replace Find text box not highlighting find text on focus
-fixed context menu not disappearing when clicking on object that can't be focused
-stopped it removing all breakpoints when regaining focus if it fails to get the list of breakpoints from the debugger
-fixed crash after update when OpenLastWorkspaceOnStartup is set
-fixed additional includes Update crash and stall
-fixed hang clicking on Update or cancel button while update is in progress
-stopped font cache being corrupted if it crashes writing the file
-stopped output window always showing opening a file in 10x notepad (introduced last build)
-stopped output window always showing at (2,0), now shows at column count-1
-stopped CppParser.ListWorkspaceFiles making the editor freeze
-fixed whitespace tab rendering bug
-guard against infinite recursion on focus change when syncing breakpoints
-fixed overlapping chars rendering bug
-stopped TextEditor::SetLines from extending all lines before replacing
-fixed files sometimes not updating when modified outside of 10x
-fixed whitespace background colour sometimes being incorrect
-fixed bug with tabs overlapping after changing the read-only status
-made buttons only accept left mouse button presses
-fixed hang doing a find-prev from the end of the file for text that doesn't exist
-made unsaved files warning panel resize based on filename length
-fixed message box text layout for multi-line text and long path strings
-stopped 10x locking up if Visual Studio link never returns
-fixed bug where 10x wouldn't be notified of the debugger stopping if the app exited
-fixed Workspace Search word matching
-force re-connection if Visual Studio sync call times out
-show message box if re-connect fails
-fixed VS debugger syncing missing debugger disconnected events
-fixed crash submitting autocomplete past end of line
-fixed function declaration goto-definition not working on function defintions with multiple scopes in their definition eg void A::B::Function()
-fixed files in Additional Include folders not being written to the cache (cause of the long pause at end of cache read)
-fix for Visual Studio debugger syncing crash
-stopped VS Debugger sync from timing out when launching VS
-fixed "start recording" text box not showing after showing a message box
-fixed workspace tree panel not showing on ShowInWorkspaceTree if it is docked in a tabbed panel
-fixed crash updating while parser is reading cache
-fixed showing menu with alt+key not clearing previous menu
-fixed function list box not showing if editing function with no args
-stopped the autocomplete from adding brackets to function calls if they already exist
-fixed bookmarks and breakpoints being moved to 0 or -1 when file changes externally
-clear out all old bookmarks and breakpoints from workspace file
-fixed slowdown after long debugging sessions with the Visual Studio syncing
-stopped the autocomplete showing after typing open bracket for function call
-fixed Workspace Search not updating results until text is changed (now updates on focus)
-stopped output window from being edited with alt-up/down and undo redo
-fixed GotoNextError not working for errors with whitespace at start
-fixed crash building if no file focused
-fixed case of workspace Search filenames for text results
-fixed potential corruption of Search cache file
-fixed bookmarks being carried over to newly opened workspace
-fixed F4 skipping multiple items in Search panel
-fixed clicking in Search panel moving selection down multiple lines
-don't build if SaveAll fails
-fixed scroll bar drag not working if hovering over panel resize edge
-fixed Unreal Rebuild


25/01/2021Version (0.21.0)
New:
-re-write of auto complete filtering and sorting, prioritises local scope, distance from cursor, function scope, members, usage count etc.
-fuzzy matching in autocomplete
-autocomplete now recognises typed words and increases their usage score
-AutoAddFunctionBrackets setting to automatically add the '(' bracket when autocompleting a function (and also ')' if no args) - defaults to true
-AutoCompleteHideLowMatch setting for hiding of low scoring autocomplete results
-ctrl+space expands "more..." autocomplete items
-highlight match text in autocomplete
-auto-size autocomplete list when scrolling
-ctrl+space shows autocomplete even if no text entered
-show function list box after autocompleting function call
-added "Generate Crash Dump" menu item
-added MaxCorecount setting
-automatically generate a crash dump if 10x takes more than 2 minutes to shut down
-escape now closes sub-menus
-find and find & replace history dropdown
-parsing of SharedPtr in UE4
-parsing of UPROPERTY() and mutable variables in UE4
-support for ref-qualified member functions (& and && after function decl)
-parser support for template declarations with sub templates (fixes UE4 UniquePtr)
-support for autocomplete on . operator for classes with overridden -> operator
-skip MS_ALIGN() and GCC_ALIGN() macros (improved UE4 parsing)
-parser support for noexcept
Optimisations:
-total parse time: 16% speedup
-total read parser cache time: 30% speedup
-capped default max core count to CoreCount * 0.375 if system has > 12 cores. Eliminates bad perf on some 32core systems
-optimisations to full parse and parser cache read
-reduced parser allocations for better multi-threading
-improved DefRef hash code distribution
-new class heirachy cache
Bug Fixes:
-fixed open workspace and build progress spinners not showing
-fixed OpenFolder opening the parent folder
-fixed control, shift and alt keys getting stuck on when launching a console sub-process from python
-fixed the function dropdown showing the parent scope name instead of the function
-stopped C++ keywords from going into autocomplete more...
-fixed AltGR key
-put 30 second timeout on getting the project include paths from msbuild
-made msbuild terminate once include paths have been found (can take a long time on some projects)
-fixed shutdown hang
-fixed crash building with no workspace open
-force refresh of Find Reference panel even if it's showing the same symbol when it is opened
-fixed file not updating after reverting
-fixed new line not indenting correctly when file has tabs but setting is set to spaces
-fixed auto-insert braces using wrong tab indent for new line
-fixes to VS debugger integration - disconnect if VS closed, handle error codes and COM retry on failed calls
-double click to select result in FindSymbolPanel
-update file after Perforce RevertIfUnchanged
-fixes to auto-indent
-fixed incorrect font for project context menu
-fixed symbol dropdown hanging around if find references panel closed while dropdown showing
-fixed additional include paths not being submitted when panel closed
-fixed "[vs-debuger] Lost connection" message on opening solution
-fixed virtual functions in find references not working for functions and classes in separate files
-fixed find references not updating if virtual functions added or removed
-fixed find references missing function declarations
-fixed find references not working on function declrations
-fixed typing after indirection (or ctrl+space) showing global autocomplete instaed of indirection autocomplete
-fixed parser thinking that rhs statements with * or & are variable definitions
-fixed Workspace Search not searching modified files
-fixed crash entering rooted path in Workspace search
-fixed EditTextBox dropdown hanging around after panel closed while dropdown showing
-another rewrite of the focus stack to fix bugs unfocusing objects in the middle of the stack
-fixed crash showing context menu while another context menu is visible
-parser fix for indirecting off class constructors
-fixed parser failing the line after a preprocessor line
-fixed parsing of operator() function definitions
-fixed drop down list button not hiding dropdown list
-fixed crash in autocomplete
-fixed focus stack assert closing file
-fixed parser not skipping of preprocessor lines
-fixed autocomplete failing to find function args for functions with default arguments containing brackets
-fixed first global variable in file failing to parse
-fixed autocomplete bug where it would miss variables declared before a previous scope block
-fixed ctrl+space not showing autocomplete for word autocomplete
-fixed copy-paste from multi-cursor selection to a new multi-cursor selection


06/01/2021Version (0.20.0)
New:
-parser support using aliases "using x = <type>"
-'show autocomplete' command (ctrl+space) to manually show the autocomplete dropdown
-autocomplete now hides never-used symbols behind a "more..." option
-sort autocomplete results by locals first, then parent scope, then globals
-added Perforce commands 'Diff', 'Revert' and 'Revert if Unchanged'
-added DiffExe setting for custom Diff apps
-Visual Studio debugging syncing of breakpoints
-Visual Studio debugging now selects correct instance based on open solution
-Visual Studio debugging launches currently selected config/platform
-Find Function panel now sorted by order of functions in file
-Symbol colouring for Find Symbol and FindFunction panels
-symbol colouring in Workspace Search results
-parser support for function with (void) args
-parser support for function with unnamed args
-save and restore clipboard history between sessions
-AutoInsertBraces setting, after typing an open brace inserts a close brace and puts cursor on in scope
-added OpenLastWorkspaceOnStartup setting to open the last workspace on startup
-Find Symbol References now includes all virtual functions from parent and child classes, and function declarations
-Find Symbol and Find Symbol References panels now use text selection colours for highlighted line and text (can be overridden in the colour scheme)
-symbol display names now always contain the parent class/namespace
-'check for update' now shows update panel if update available, and message box if not
-removed namespace column from Find SymbolPanel and added filename(line) column
-Find Symbol panel now uses current word as starting text
-added 'Purchse Subscription' menu item
-moved autocomplete symbol scores into workspace settings file
-improved output and search colours in light colour scheme
-menu link to previous versions website page
Optimisations:
-25% speed up of total parse time
-12% speedup of read parser cache time
-optimised converting of N10XWStringArray to resuce allocations
-made parser line strings use custom allocator
-symbol display names are now constructed on dmand
-optimised DefRef template args to use hybrid static array<2>
Bug Fixes:
-fixed Find Symbol References panel not updating after clearing find text
-fixed bug with 10x workspace files not reading in cache and not updating if new files added
-fixed the width of the Find Symbol References dropdown
-fixed Find Symbol panel not refreshing results when it gets focus
-fixed Find Symbol References dropdown sometimes not showing
-made support parser extensions case insensitive
-fixed shutdown hang
-fixed parser recursion warnings parsing using namespace statements
-fixed comma separated variable definitions from being resolved to other symbols of the same name
-made find symbol panel include macros
-fixed Find Symbol results being shown multiple times
-fixed tab focus focusing hidden objects
-stopped symbol highlighter hightrying to highlight the text you are typing


21/12/2020Version (0.19.0)
New:
-added FindFunction panel for finding a function in the current file
-added filter mode dropdown to find symbol panel ("All Workspaces", "Current Workspace", "Function (current file)"
-parser support for types with && rvalues
-added prev/next panel tab commands (ctrl+page up/down)
-added .10x_settings extension to 10x file types in installer
-rename symbol now checks out files if necessary
-rename now warns if it can't modify a read-only file
-added .usf and .ush to default Workspace.Search ext list setting
-changed VS_VAX brace and bracket colours to (215,215,215)
-re-write of UI focus stack (again)
-re-write of UI layering system
-re-write of 10x active panel tracking
-added UI indicator that key recording is active and log to output window
-changed SelectNextMultiCursor to move the current cursor to the next match
-moved SelectNextMultiCursor to Control+D
-update current highlight when text changed
-removed control+R,R rename key mapping from defaults (comnflicts with new Contorl+R FindFunction)
-moved DuplicateLine to control+shift+D
-moved duplicate panel to alt+shift+D
-stopped text being editable outside of symbol rename section
-Menu now uses object focus stack and closes on select to restore focus to previous item correctly before command triggered
Optimisations:
-sped up parser cache reading by 33%
-optimised string table reading by reserving memory up front
-optimised parser file ref cache reading by using HashMap instead of Map
-reduced allocations in parser Line class by using Hybrid static array
Bug Fixes:
-fixed crash starting debugger
-fixed ... args not parsing anymore
-fixed crash loading project file with file entry that doesn't have an include attirbute
-fixed recent files not showing in Windows taskbar right click menu
-fixed bug with rename symbol that it wasn't updating closed files
-fixed bugs tab-selecting controls and drop-down focus
-fixed .10x_workspace files not opening as workspaces when opened from command line arg
-fixed tab-selecting controls in find symbol panel
-stopped symbol renamer from cancelling if you don't type fast enough(?!) should fix rare symbol rename crash as well
-fixed general bugs in drop-down list focusing and unfocusing
-fixed Workspace Search not reading extension settings
-fixed symbol renamer getting stuck on if started twice
-fixed text selection colour outside of rename section
-fixed allocator bug causing twice as much memory to be allocated for parser hash maps
-fixed symbol renamer not starting on first char of word
-fixed crash bug selecting recent workspace that no longer exists, clearing message box and then selecting menu again
-disabled clipboard cut and paste if TextEditor is read-only
-fixed find Sel button not being selectable in tab select
-fixed control+up/down changing selected item in Search panel


10/12/2020Version (0.18.0)
New:
-made bracket highlighting also check prev char for brace/bracket
-added ExtendEmptyLines setting
-added MapScrollBarWidth setting
-made SelectAll a key-mappable command with menu item
-added SelectCurrentScope command (control+shift+space)
-added SelectCurrentBracketScope (control+shift+M)
-added settings and scripts to Search panel files
-put values that match case at top of auto-complete list
-parser now supports defines (goto-def, auto-complete etc, not full preprocessor yet)
-parser support for unnamed enums
-unions are now coloured as classes/structs
-tab indenting with multi-cursor select
-added shift-tab without selection to delete preceding tab
-toggle breakpoint command (F9)
-added ClearAllBreakpoints command
-added Prev/Next breakpoint commands
-moved 10x menu items to new Help menu and added links to website and bug database
-added List Commands menu item
-update menu items shortcuts after version update
-added AddBreakpoint and RemoveBreakpoint python functions
-added AddBreakpointAddedFunction and AddBreakpointRemovedFunction python functions
-added RemoveAllBreakpoints python function
-added descriptions to all python functions
-added GetWorkspaceExePath() python function
-added LocalSettings.10x_settings file, local settings store the shared settings path, license and perforce settings
-added PerforceOpenForEdit command. Also added it to the main menu and file tab menu
-if a file failed to check out in perforce try checking out again on save
-support for {} initialisers in variable definitions, eg int value {};
-added local settings to sln workspaces, includes debug exe, args, working dir and addition include paths settings
-improved text editor context menu colours
-refresh parser when file extension is changes in save-as
-added context menu for sln workpace tree node, includes Build, Rebuild, Copy Path, Open Folder and Local Settings
-10x workspace additional includes now supports \* for recursive
-parser support for extern "C" scopes
-parser support for preprocessor lines in enums
-dumps now write MiniDumpWithData. Slightly bigger but they are zipped by 10x
-typing an open bracket/brace with selection brackets the selection
-added BracketSelection setting (defaults to true)
-made arrow keys cancel multi-cursor drag rect select
-made all multi-cursors paste the same value if a single string has been copied to the clipboard
-stopped goto prev/next error from including warnings
-can now map mouse prev/next buttons, mapped to prev/next location by default
-support for member variables declared as multiple comma separated values, eg. int m_Value1, m_Value2;
-support for goto-def and auto-complete for class statics if class is typedef'd
-added .md to Search ext list
-fixed build cancelling, now works on UE4
Bug Fixes:
-fixed multi-cursor rect-select rendering bug
-stopped parser from trying to parse sln files ever opened
-fixed bug clearing all bookmarks in closed files
-fixed text clipping bug in perforce error message box
-fixed file getting re-checked out after reverting the file in perforce
-fixed crash resizing panels to zero
-fixed Workspace Search crash for searches starting with *
-fixed hang in text editor regex find using *
-fixed Search highlighting being wrong for lines with whitespace
-fixed bug alt-clicking without dragging, then moving cursor, then using ctrl+alt_shift+arrow to drag select rect. Selection would start from the alt-click position
-fixed txt and shader files not showing in workspace
-fixed types in strings being coloured by the parser
-fixed bookmark and breakpoint rendering if line contains both bookmarka nd breakpoint, now shows both
-fixed hang exiting 10x
-fixed "fatal error" lines not being picked up in build output
-fixed incorrect text background colour in find references panel
-fixed hang in build
-stopped 10x crashing if shutdown during build
-fixed 10x potentially missing last line of build output
-ensure that 10x output window is in focus when showing command list
-fixed paths showing as lowercase in find references panel for external files not in solution
-fixed functon declration files showing up as lowercase in find rerferences panel
-removed "module" from C++ keywords
-fixed bug where modified files would not be detected for newly opened files until 10x lost and re-gained focus
-fixed GotoBuildError for errors with () in the path
-fixed crash typing template< at end of file
-fixed enter not submitting Find Symbols panel when preview text editor has focus
-fixed potential crash submitting Find Symbols panel with no results
-fixed Build All command
-fixed parser incorrectly finding non-scoped member functions if the definition is in the current scope
-fixed bugs with multi-cursor drag rect select sometimes starting from wrong position
-clear prev location stack after opening workspace
-fixed bug where it would say that a new unsaved file had been modified outside of 10x
-stopped function args list box from disappearing while cursor is still within the function ()
-stopped bracket selection from inserting open.close brackets if just a '(' char is selected
-fixed line numbers being off by 1 in Symbol References panel
-fixed crash building workspace before it has finished async loading
-fixed build getting stuck and not working again if there was an error before msbuild launched
-fixed rename symbol not working if cursor at end of a word
-fixed class parsing with templated parent with multiple template args, eg. class MyClass : public MyBase1, public MyBase2
-pointed Workspace Search help to new 10x documentation page
-fixed incorrect text background colours after undo
-fixed symbol rename not updating all values on delete and backspace
-fixed Search file type text box overlapping checkboxes when resizing in DPI scaled mode
-made control+shift+tab (ShowSwitchPanelPanelPrevItem) bring up recent files panel if not already showing


22/11/2020Version (0.17.0)
New:
-remember docked panel sizes when showing/hiding
-parser support for unnamed structs and unions
-parser support for variables declared at end of struct/union definition
-parser support for final keyword on classes
-typedefs now coloured the same as whatever the typedef is defined to
-support for typename keyword in parser
-added duplicate line command (ctrl+d)
-added insert line command (ctrl+enter)
-name auto-update installer file uniquely for each version to avoid file locks
-support for raw multi-line string literals R"(...)"
-parser support for enums with ": <type>"
-allow key bindings to override alt-key menu shortcuts (eg alt+f)
-made auto-complete show results from all namespaces
-made Find Symbol panel include function declarations in results
-added Parser.AutoFixIndirection setting
-menu items for viewing and changing text encodings and BOMs
-support for big and little endian for UTF-16 files
-changed default key for SelectNextMultiCursor to ctrl-alt-shift-D
-made cursors not line wrap for multi-cursors from rectangular select
-pasting of rectangular region now pastes as original region from cursor point
-added clipboard per multi-cursor
Optimisations:
-reduced startup time be around 100ms
-font cache loading optimisation
-optimised state file IO
Bug Fixes:
-fixed crash renaming symbol
-stopped hidden panels (such as Search panel) from showing up in the (ctrl+tab) switch file panel
-fixed folder workspaces failing to open from recent workspaces menu
-fixed potential crash bug closing a workspace while the async open is in progress
-fixed failure to open file in goto next error command if file has ../ back directories
-fixed undo for block comment command using line comments
-fixed text backgrond colour sometimes being wrong after undo
-fixed crash drag-selecting words using ctrl+mouse click/drag
-fixed filenames being lowercase when opened in certain ways, (eg from symbol renamer)
-fixed files not opening in Search panel when entering absolute paths
-fixed crash duplicating a panel with an open text edit undo group
-fixed bug where the source text editor in the Find Symbol panel would sometimes stop updating
-fixed crash in Find Symbol panel (scrolling past top of file)
-fixed rare crash in Workspace Search
-fixed crash closing file, changing it's read-only flag, and then re-opening file
-fixed toggle comment bug with block comments
-fixed mouse double click drag word select
-fixed bug where a BOM header would be automatically added if a file has a non-ASCII character
-fixed bug in utf-16 encoding read/write
-fixed crash converting invalid UTF-8 text files
-fixed wrong file getting focus after exiting the menu
-fixed copied lines being out of order for rectangular selected region


13/11/2020Version (0.16.0)
New:
-sort auto-complete list by most freuqently used values
-made auto-complete list filtering async
-read-only tab button to show and toggle file read only status (shows red if a read-only file is modified)
-made perforce check-out async and show message box if failed
-added ToggleComment command (ctrl+shift+/). Handles line and block comments
-moved search window from alt-a to control-shift-s
-compile and execute python scripts on save
-add python scripts to Find-File
-added settings files to Find-File panel
-write out additional includes to parser cache
-key-mappings for rectangular multi-cursor selection (alt+control+shift+arrow)
-moved multi-cursor select next menu item to new multi-cursor sub menu in edit menu
-support for class and struct prefix on variable types
-moved DuplicatePanelLeft/Right to alt+<>
-added NULL to parser C++ keywords
-detect settings files and script changes on returning focus
-made Multi-curosor select next use the current selection if there is one
-added horizontal mouse wheel support for scrolling left/right
-parser support for class __declspec() statements
-parser support for (named) unions
-support for drag-reordering of tabs
-shift-tab to unindent current line
Optimisations:
-optimisation to parser and removal of recursive warnings parsing using namespaces
Bug Fixes:
-fixed parser crash deleting and re-adding namespaces
-stopped it doing a full def parse if any files have changed since the cache was written
-fixed pop-up float panels (such as Find-File and Search) growing each time they are opened
-fixed def_index out of bounds parser crash
-stopped alt key shortcuts in find and find-replace panel from triggering 10x commands bound to those keys (eg, alt-a in find-replace triggering search window)
-fixed crash doing find or find/replace with rectangular selection
-fixed typo in Workspace Search setting (Search.SerchCurrentWord)
-fixed extending of all lines in selected range
-fixed multi-cursor select next for words at end of line
-fixed crash control + drag-selecting words
-fixed progress bar not going away in notepad mode
-close crash dump file handle so 10x doesn't hold on to a lock on the dump file
-stopped it unnecessarily re-parsing all files that have been modified since the first cache write
-fixed bug where the syntax highlighting would fail for modified files on iniital read
-fixed potential crash in ParseThreadUtils::ParseType
-fixed parsing of template types with namespace or class scope (eg std::vector<int>)
-fixes to file modification checking when returning focus


04/11/2020Version (0.15.5)
New:
-added Additional Includes to 10x workspace properties
-added Parser.AdditionalIncludePaths setting for global parser include paths
-made source code panels in Find Symbol and Find Symbol References panels resizable
-check out workspace files when saving
-added error message boxes if failed to write workspace or create nodes
-allow creating new folders inside folders
-properties panels tree nodes
-added Virtual folder option
-allow adding of explicit folders and files to sync'd folders
-allow adding of referenced workspaces to referenced workspaces
-show full path in new file/folder panels
-improvements to light colour scheme (tab context menu, find symbol, find references, workspace search)
-made button colours consistent across colour schemes and special cased light colour scheme button colours
-remember the panel grid position of files when opening a file
-made auto-complete include items from other files
-made auto-complete work in global scope
-made auto-complete work after 1 character instead of 2
-made auto-complete check using namespaces
-restore files back to previous positions after changing column count
-made worksapce background colour match UI colour
-new VS-Classic and VA-VAX colour schemes
-Improved parsing for enums (fixed bug parsing enum as it is typed, and auto complete for old C-style enums
Optimisations:
-optimisations to auto-complete when there are a large number of items
-fixed slowdown on main thread during full workspace parse (VMem InsertPageInFreeList fix)
Bug Fixes:
-made parser ignore preprocessor lines (fixes a lot of parsing bugs)
-general bug fixes to 10x workspaces
-fixes relative paths for sub folders and referenced workspaces
-remove child nodes when sync folder disabled
-renamed Add File/Folder mennu items to "Add Existing"
-renamed Refresh menu item to Resync
-fixed map scroll bar rendering bug when resizing the window to be smaller
-improved close button colouring on float panels
-fixed async bugs in parser Database, with Parsing, writing cache and updating files
-fixed mouse cursor not being reset from the text bar after closing edit text box
-reduced float panel title bar height when docked so that it aligned with tabbed panels
-refresh tree node layout when child nodes are removed
-fixed find symbol references panel not showing/focusing if no text editor focused
-fixed text background colours and hover/select line rendering in datagrid
-fixed parser not recognising variable declarations using built in C++ and MSVC types
-fixed Search panel text match colour not updating after colour scheme change
-fixed float panel title text colour being wrong in light colour scheme
-fixed Find File not returning any results
-fixed config and platform settings not being preserved on startup
-fixed broken paste history
-fixed crash opening file in notepad mode
-fixed debug command sometimes not finding existing VS process
-removed extra title bar from Find Symbol Referenced Panel
-fixed selection and hover line rendering in datagrid
-fixed colouring of tabbed panel context menus
-fixed filenames showing as lowercase in find symbol panels
-fixed clearing of multi-corsors not updating the text fore colour for the previously selected text


22/10/2020Version (0.14.0)
New:
-10x workspaces
-Open folder
-Run and Debug commands for sln workspaces (launches VS for debug)
-added "open", "compile", "copy path" and "open folder" to workspace tree node context menu
-added ... to all menu items that open a new panel
-added code file extensions for (almost) all code file types to open file dialog
-drag-drop folder from explorer to open folder workspace
-improved timings on drag-drop panel docking and removed flicker of dock target
Optimisations:
-eliminated potential pause updating output panel text
Bug Fixes:
-fixed config and platform dropdowns not remembering setting on restart
-fixed bug with file modified times not being initialised correctly on workspace load
-fixed bug saving using Save-As and then re-opening the original file, it would open the wrong file
-fixed wrong font in workspace tree
-fixed parser crash bug where the parser cache could get out of sync, cache now locked while writing
-set parser threads to be below normal prioerity to try and avoid locking up the system
-fixed EditTextBox not scrolling horizontally
-fixed selection alignment issues in EditTextBox
-made it easier to check checkboxes, now accepts mouse click on label
-fixed drop down list box dropdown focus problems
-fixed tree node sizes not updating on resize
-fixed tree scroll bar not updating on startup
-clamp context menus position to screen size
-fixed bug with Tree not refreshing properly after collapsing node
-fixed crash selecting item in find symbol references panel


30/09/2020Version (0.13.0)
New:
-goto-def for includes now works with Windows/SDK includes
-a number of key improvements to the parser
-parser support for class templates
-parser support for square bracket indexers
-parser support for template return types in templated class functions
-parser support for smart pointer indirection
-parser support for unnamed function args
-parser support for square bracket indirection autocomplete eg array[0]->
-parser support for templated function return types
-add default key mapping ctrl+r, ctrl+r for symbol rename
-parser support for typedef'd operator[] return type
-set min size for scroll bars and make it easier to drag them when small (useful for very large files)
Bug Fixes:
-show message box if D3D fails to initialise
-fixed text back colour being wrong click-deselecting menu item
-fixed tab close button being visible on blank tab after selecting Close All from the ... menu when no documents are open
-fixed crash in undo symbol rename
-fixed long stall opening large files
-fixed rendering of lines > 16383 chars
-fixed Perforce throwing an exception and causing a crash dump if it can't connect to the server
-removed duplicate files in find file panel for files referenced by multiple projects
-fixed floating panels such as the unsaved files warning getting smaller by 1 pixel each time they are shown
-fixed parser bug where it wouldn't parse functions with multiple args
-increased g_MaxKeyComboInterval to 500
-fixed find file panel clipping problem on last line
-fixed key combos (eg ctrl+s, ctrl+s)
-fixed drag-select-rect scrolling
-fixed text background colour wrong after deselecting multi-cursor select
-fixed "Read Workspace" spinning not being removed in notepad mode
-improved TextEditor scroll into view
-fixed pause due to text-highlighting for very large files
-fixed potential memory overwrite when saving key mappings file
-stopped scroll into view from using the scroll margins when typing text
-fixed auto-complete not working for function args on first line of function
-made spinner anim spin clockwise
-stopped scroll bars showing up/down arrows if bar already at top/bottom
-removed 2 separator lines from beginning of tools menu


22/09/2020Version (0.12.0)
New:
-goto definition for #include
-brace/bracket highlighting
-rectangular selection dragging with multi-cursor support
-parser support for comma separated variable declarations (int a, b, c;)
-support for cut/copy/paste per multi-cursor
-added option to installer to not add the explorer shortcuts
-added RestoreRecentlyClosedFile command (ctrl+shift+T)
-added setting to make the switch file panel switch between files in the current panel
-shift+enter in Find panel to go to previous match
-shift+enter to go to previous match in find/replace panel
-enter in find/replace panel goes to prev/next match if find text box focused, and replaces if replace text box focused
-made python interface thread safe, or throws error on functions that are not thread safe
-added AddPreFileSaveFunction and AddPostFileSaveFunction python functions
-added ClearBuildOutput python function
-added CheckForModifiedFiles python function
-added SetStatusBarText python function
-added LogToBuildOutput python function
-added ShowOutput python function
-added ShowBuildOutput python function
-added ShowProjectInWorkspaceTree python function to show the specified project in the workspace tree
-added AddProjectBuildFunction python function to add a callback on project build
-added SetLine python function
-added GetFileText python function
-added IsFileReadOnly python function
-added GetCurrentFileLineCount python function
-added SetFileText python function
-added SaveAll python function
Optimisations:
-general optimisations for opening large files
-disabled backups and map scroll bars on files > 128MB to speed up editing
-shutdown optimisations
-made symbol highlighter async to eliminate stalls when editing while parsing
-fixed stall pressing app close button
Bug Fixes:
-made find/replace always select the Find text when opened and made it remember the last find
-made find/replace select the text box text when moving focus between text boxes
-fixed [python] prefix being added mid line in python logging
-stopped find/replace jumping to the next occurance of the current word when opened
-fixed InstallFolder and InstallIconsOnDesktop installer variables not being preserved, which also caused a rare hang in the installer
-update menu item shortcuts after changing key bindings (previously required restart)
-fixed bug in KeyMappings::HandleKeyCode if key binding removed on saving key bindings
-fixed filename popup sometimes not disappearing if mouse moved outside of main window
-fixed crash opening large files, now copes with up to 2GB files
-fixed crash in Search panel auto-completing full paths
-fixed hang in regex find
-fixed toggle source/header finding wrong file for matching files with different extensions (eg. .cpp, .c)
-fixed filename hover box not disappearing when closing a file with middle mouse button
-fixed crash dragging panel out of last column that is split vertically with column count set to auto
-fixed save not preserving line endings (\r\n vs. \n)
-fixed bug in Search panel that could cause it to miss some files in a case sensitive search (files and norm files mismatch assert)
-fixed text background colour for multi-cursors selecting over highlighted text
-fixed symbol highlight flickering when selecting line
-fixed text wrapping in message box for long paths
-fixed bug selecting text with shift click when start of selection scrolled out of view
-fixed flicker of selected symbol when selecting text
-fixed "Show In Workspace Tree" sometimes failing
-fixed Tree ScrollNodeIntoView
-fixed Switch File Panel scroll bug after lots of files deleted
-fixed scroll bar not being draggable if behind scroll step arrow button
-fixed current tab disappearing after closing a lot of files in the current panel
-stopped shift click select resetting the selection start position
-find current word (ctrl+F3) now selects current word if at start of word
-fixed find/replace not replacing last occurance if it is the end text in the file
-fixed Search panel returning results twice for currently open files
-fixed delete line not working on last line of file
-fixed delete line not working if only one line in file
-stopped it writing out the parser cache each time if it can't find a workspace file
-made parser progress bar show for first parse after reading cache
-stopped it exiting in notepad mode when discarding changes on an unnamed file
-fixed wrong background colours after undo of selection deletion
-fixed crash loading up workspace settings for panel that 10x was unable to create
-fixed find/replace replacing with last find text instead of replace text shown
-made python GetLine not crash if index out of bounds
-fixed right-click not setting cursor pos in some circumstances
-only try and highlight symbol if it looks like a keyword


04/09/2020Version (0.11.2)
New:
-support for multiple progress bars and spinners (hover over progress bar to see all of them)
-new Search panel UI, now uses datagrid with columns
-added Search.TextMatch colour setting
-added Search.HighlightLineColour colour setting
-added spinner for tasks that don't have a progress bar (such as building)
-removed FastScroll
-moved Search settings into main settings file (Search.PathMode, Search.ExcludeList, Search.MaxFileSize, Search.SerchCurrentWord, Search.SpacesAsWildcardsForFindFile, Search.MaxResults, Search.SortOpenFilesByOpenFrequency, Search.Extensions
-moved Search settings to appdata State folder and Search cache to appdata cache folder
-added FolderAndFile path mode for search results (and set to default)
-added progress bar for Search indexing
-removed leading whitespace from Search results
-colouring for errors and warnings in 10x output panel
-prefix all 10x output with [10x], [parser], [python] etc
-show message box if trying to open a non-existant workspace
-made parsing of 'using namespace' support multi-namespaces eg "using namespace Name1::Name2"
Optimisations:
-lots of optimisations to the parser database, both CPU and memory
-optimised reading the parser cache
Bug Fixes:
-removed custom key repeat settings, now uses the Windows key repeat, fixed all stuck key repeat bugs
-can now map the equals and F12 keys
-fixed bug parsing // comments in /* blocks (could miss the end */)
-fixed file names being lowercase in Search results
-fixed multi-row select in Search results
-fixed Search File Types text box setting alignment
-fixed selection being reset when shift-clicking section and moving mouse
-fixed bug in installer which caused the "invalid install" error on startup
-fixed workspace tree nodes clipping
-fixed crash scrolling through symbols in FindSymbolPanel and moving mouse over datagrid
-fixed crash changing column count
-fixed Rebuild Project command
-fixed file duplication bug where making changes in a duplicate panel would cause file to go out of sync with file on disk
-fixed bug in SymbolRenamer, symbols in other open files wouldn't get updated
-clarified error message for source and workspace files that don't exist
-fixed exponential recursion of parsing multiple unfound using namespace lines
-reduced Token length overflow causing some symbols to not be parsed correctly
-fixed bug causing it to show registration panel after 1 day
-stopped it showing message box about not finding default workspace after update+restart


19/08/2020Version (0.10.9)
New:
-registration and subscription management, and added 'support 10x' button link
-prev/next result for Search results and build errors (F4, Shift F4)
-show current build errors/warning in status bar
-added key mappings for duplicate panel left/right
-general improvements to word and symbol highlighting
-renamed HighlightCurrentWord to HighlightSelectedWord and added new setting HighlightCurrentWord
-If HighlightCurrentWord and HighlightSelectedWord are both enabled and finding the symbol fails highlight current word
-added SettingsPath setting to settings
-put most frequently opened files at the top of the FindFile panel
-fixed text-find not working in output window
Bug Fixes:
-fixed crash parsing boost header, caused by line overflowing packed index in Token
-fixed loading projects with absolute instead of relative paths
-open file in previously focused panel before Search panel was focused
-workspace now remembers docked search panel
-fixed bug with output window text editors not detecting focus change
-fixed find word for lines with multiple matches
-focus edit text box when docked search panel gets focus
-escape in docked search panel focuses prev panel
-move last pasted text to top of past history list
-fixed Search not returning any results for open files not in the workspace
-fixed crashes with certain operations if no text editor focused
-fixes to UI focus stack
-OnFindSymbolReferencedPanelCancelled now restore focus correctly
-fixed bookmarks being moved to line -1 when closing workspace
-remove invalid bookmarks opening workspace
-fixed toggle source/header finding wrong file in workspace when workspace has multiple files with the same name
-fixed main menu returning focus to wrong panel when closing
-improved message box text formatting
-fixed crash getting next word if corsor past end of line
-made message box text colour match main UI
-fixed Find in Workspace crash
-fixed null TextEditor crash switching panels
-fixed TextFinder range out of range crash
-fixed toggle source/header again
-fixed crash opening find symbol references with alt-shift-f
-fixed clipping of tree nodes
-fixed message boxes not getting focus and detecting key presses
-word-wrap on message box paths
-fixed text clipping bug for files with a lot of text
-fixed warning about UI.Scale auto setting
-fixed tree node size bug (making it difficult to click on the node)
-fixed text editors sometimes being scrolled horizintally when opening workspace
-fixed crash loading workspace with undocked text editor
-fixed search results not updating when case/word checkbox changes
-fixed problem dragging main window by clicking to right of tools menu item
-fixed wrong tab being activated when closing file or moving panels around
-fixed cursor position being updated in duplicate text editor panels
-fixed bug maximising main window with double click
-fixed LiberationSans-Regular.ttf not being included in the data file


31/07/2020Version (0.9.0)
-bookmarks
-paste history list box (ctrl+shift+v)
-find panel option to find in selection
-keep showing find highlights even after find panel closed (remove with escape)
-general fixes to FindPanel and FindReplacePanel
-symbol references highlighter - highlights all references of the current symbol under the cursor
-show full path of file when hovering over tab
-highlight all occurances of the currently selected word
-added duplicate panel, duplicate left and duplicate right commands, and to file context menus
-improved line indenting
-check for updates every hour and "check for updates" menu item
-improvements to Monokai colour scheme
-general imrpvements to backup system
-added GetBuildConfig and GetBuildPlatform to python interface
-double-click mouse drag and ctrl-mouse drag to select words
-improved file modified detection (threaded, and check all files in solution)
-check for modified files when build completes
-shift-del to cut line
-ctrl-shift-L to delete line
-added CloseAllOther and CloseAll options to the tab context menu
-added SetBildConfig, SetBuildPlatform, GetActiveProject, SetActiveProject python commands
-fixed crash loading workspace with docked find symbol panel
-when closing file focus next file in tabbed panel (not last focused panel)
-fixed path completion opening files by path in Search panel
-find text highlighter now supports, case, word and regex
-added settings options to disable auto indent and formatting
-fixed goto prev/next location not working in output window
-fix for regex search only finding first match in line
-files now always opened with the correct path case
-stopped TextEditor scanning entire text file on every key press
-fixed building single file for files in sub-folders
-fixed crash clicking in output window
-fixed -> being corrected to . on unknown clas types (eg std::shared_ptr)
-fixed currently open unnamed modified files appearing in new 10x instance
-fixed goto prev/next location for output panel tabs
-added alt-F4 mapping to goto next error
-fixed ctrl+F3 not selecting word if only match in file
-fixed workspace tree not being populated if hidden when solution loads
-fixes to file backup after renaming file (caused crash on restart)
-fixed line numbers when adding or removing lines
-keep word entire selected when word drag selecting to the left
-fixed crash drag-selecting words past end of file
-moved example python script to alt-H
-fixed focused button borders


09/07/2020Version (0.8.0)
-fixes and improvements to drag-drop docking and panel grid
-find and find-replace panels now support case matching, word matching and regular expression matching
-made find panels use main UI colouring
-added UI Highlight colour to colour schemes (currently used for find panel selections)
-fixed text editor horizontal scroll bar not always updating
-fixed default colour schemes not being installed
-added DragDropDockDelay setting to allow changing the delay before the drag-drop target rect is displayed
-fixes to moving panels in panel grid (caused by recent drag-drop docking changes)
-made all exclusive pop-up panels use FloatPanel allowing moving and resizing of the panel
-show path to crash dump in crash message box
-fixed drop-down menu item arrow image scaling
-fixed drop down menus not using the main UI font
-clamp dragged panel positions to window so that they don't get lost
-fixed clicking in selected region not having any effect
-fixed cursor switching to resize cursor while dragging panels
-changed the update button to a menu item
-unsaved files warning panel now lists all unsaved files
-added tab-focus for buttons. Can now focus buttons and move between buttons using tab and arrow keys on all panels
-improved colouring of buttons
-fixed backup/restore for unnamed files
-fixed restored files not appearing in the switch file panel
-find and find.replace panel now share state, current file value, find flags etc.
-fixed wrong panel closing when clicking on the close tab button if not in focus
-fixed backup files not being cleared after closing modified file with unsaved changes
-fixed find panels not updating layout if main window resized
-fixed replace panel infinite loop on replace-all
-fixed menu item text having wrong back-colour
-fixed double-click not sending second single click
-fixed save-as showing with with / instead of \
-fixed menu item highlight colour


23/06/2020Version (0.7.1)
-drag-drop docking of all panels, including pop-up panels
-line numbers
-build output error and warning colouring
-can now click with shift held to select region
-fixed control+delete to delete to end of word
-cancelling of build (ctrl+break)
-added support for mapping isert and pause/break keys
-added insert+control key mapping to copy
-stopped projects in folders also being added to root of workspace tree
-added ctrl+shift+z key mapping for redo
-improved layout of workspace tree nodes
-fixed key mappings not updating until restart
-added setting for margin width and colour
-goto prev\next location and switch panel now includes output panel
-switch panel now includes output panel
-sort all nodes in workspace tree
-add unnamed file to recent files when saved
-improvements to colour schemes
-changed crash dump name format so that it sorts correctly
-show red border in Find panel to indicate no matches found
-fixes to UI rendering (off by 1 pixels for panels with borders)
-fixed close-all context menu item in tabbed panel


29/05/2020Version (0.6.1)
-fixed message box not showing if it failed to open a file from explorer
-fixed 'about' 10x dropdown menu diappearing after a few seconds
-re-open opened files after updating if no workspace opened
-fixed bug handling build output
-fixed hang on shutdown. Bug would also have stopped the sln build from working for some people
-fixed search not finding text with space at end of line
-fixed map scroll bar rendering issues when window is resized
-fixed pre-scaled DPI images frmo being resized by 1 pixel
-made settings use default font if no font specified
-fixed crash closing empty column filler panel
-made workspace tree context menu Rebuild menu item rebuild instead of build
-added move line up/down command (mapped to ctrl-shift-up/down)
-fixed telemetry crash dump counting
-fixed 10x_notepad.exe not adding new file on startup
-made UI scale setting default to 'auto' if no scale specified
-fixed warning about invalid UI scales
-fixed crash resizing workspace tree to zero pixels
-fixed resizing of columns outside of panel grid area
-fixed text editor horizontal scroll bar not updating when text is appended
-added ShowInWorkspaceTree command (found in file context menu)
-fixed being able to resize columns through pop-up panels
-fixed key repeat bug when caps-lock key is pressed
-new monokai colour scheme
-fixed "Close All" in tabbed panel
-stopped it showing bar mouse cursor in config dropdown and improved selected item visibility
-added ctrl-W and ctrl-F4 key mappings to close current file
-made CloseFile command work for output panel
-added settings for default columns for file types
-support for hex colour values in colour schemes
-added "C++.Member Function" colour scheme setting
-added "C++.Type" colour scheme setting
-added microsoft standard c-runtime types to parser
-colour scheme colouring for member function declarations
-fixed workspace layout not being saved
-improved finding of vcvars bat file (now uses vswhere.exe)
-fixed long stall closing a workspace
-fix to sub-pixel rendering
-changed default UI font to "LiberationSans-Regular" because it works really well with freetype sub=pixel rendering. Also, changed gamma back to 1.8 now that sub-pixel rendering is working properly


20/05/2020Version (0.5.0)
-more Alt-Gr key bug fixes
-fixed broken Alt-Arrow keys for changing/moving panels
-cpp/header toggleing now supports more C++ file extensions
-fixed broken text background colour in text editor after undo/redo
-fixed Windows task bar title not updating after saving an unnamed file
-fixed auto-complete in Search panel when entering a file path
-refactor of .sln workspace code ready for custom workspaces
-support for more C++ extension types for icons in workspace tree
-added DisablePresentWhenIdle. Setting this to false fixes the low mouse refresh rate with G-Sync
-fixed crash if it fails to connect to a perforce database and added output in log reason giving reason
-fixed bug where closing a file, modifying the file outside of 10x and re-opening the file would miss the modification and show the original contents
-added telemetry
-threaded SHAddToRecentDocs to save 30ms opening a file
-added option to disable putting icon on desktop in installer
-Edit TextBox improvements, undo, select prev/next word, ctrl-delete word


08/05/2020Version (0.4.0)
-fixed "save modified files" dialog not showing when shutting down
-fixed crash if no active project set
-fixed problems with menu and focus change
-fixed issues with Alt-Gr
-added error message if building with no active project
-fixed default active project not being set for some solutions
-fixed problem restoring file from backup file
-fixed editor selection being cleared on right click
-fixed bug with key repeat sometimes getting stuck
-fixed find panel crash when switching windows
-TaskManager re-write, reduces number of threads created. Improves startup time on machines with a lot of cores
-fixed y/n dialog keypresses typing char in text editor
-fixed crash reading empty settings file
-changed search default to to Alt-S
-startup optimisation: threaded perforce connect
-fixed crash playing back a key sequence while recording a key sequence
-optimisation opening large files with chars from extended char set


01/05/2020Version (0.3.11)
-added ctrl-delete and ctrl-backspace for deleting word
-keyboard mavigation for menu
-support for Win7
-fixed render target resizing issues when primary display is lower-res than secondary display
-fixed restored window getting smaller on each restart when opening on secondary display that is lower-res than primary display
-fixed crash maximising on secondary display when it is to the left of the main display
-moved window state (pos, size, maximised) from settings file to state file
-added message box on crash
-changed search shortcut key from alt-F to alt-A so that it doesn't clash with menu shortcut
-fixed ctrl-alt-click for multi-cursor
-fixed crash deleting with multi-cursors
-made switch-file panel loop around
-made ctrl-F highlight current find text if find text panel already visible


24/04/2020Version (0.2.0)
-async loading of solution workspaces and creation of the workspace tree (removes UI pause when opening large solutions)
-support for docking workspace tree on the left (see WorkspaceExplorerDockMode in settings)
-resizing of workspace tree panel
-middle click on tab to close file
-general optimisations to solution loading
-fixed reading of files encoded in Windows-1252 ANSI
-fixed displaying of Windows-1252 ANSI chars in build output
-fixed unicode chars not appearing until the file is modified when DPI scaling enabled
-support for building projects with . in their name
-support for building projects in sub folders
-fix for intermettant parser crash on Startup of some projects
-fixed crash switching away from files that have the find window open
-installer now registered file C++ associations correctly
-fixed recent files jump list (right click in icon in task bar)
-fixed crash closing workspace if there is no active file
-added more C++ extensions for parser to recognise
-added (all files *.*) filter to open file dialog
-added key repeat delay settings (see InitialKeyRepeatDelay and KeyRepeatDelay in settings)
-changed default close file shortcut to Control+F4
-added setting for the mouse wheel scroll step (see MouseWheelScrollStep in settings)
-changed default mouse whell scroll step to 3 lines
-added mouse double click speed to settings (see MouseDoubleClickTime in settings)
-changes default mouse double click time to 500ms
-disabled pasting into output window
-fixed Windows 'bling' sound when alt key is pressed
-clear build output when closing workspace
-added extensions to the list of extensions recognised by the workspace tree
-improvements and fixes to async map scroll bar rendering
-pool system to limit number of map scroll bars in memory
-fixed mouse showing bar cursor to right of scroll bar
-stopped map scroll bar flicker when resuming from lost device
-made 10x_notepad open .sln files as text files
-double click to expand/collapse workspace tree nodes
-fixed tab text disappearing after changing DPI in settings
-fixed tab text in output panel not being DPI scaled
-changed default font gamma to 2.4
-fixed .10x_settings files opening in 10x when right clicking in explorer to open with 10x_notepad
-fixed open and cancel buttons not working in Find Symbol panel
-made open file dialog add .txt if no extension specified
-fixed pasting of text and opening of files with \n instead of \r\n
-fixed rare crash switch away from and back to 10x
-fixed rare crash in find symbol panel (find while database switch in progress)
-optimisations to find symbol panel
-added setting to disable goto-definition with control+click (see ControlClickGotoDefinition in settings)
-remember active project on restart
-new icon


08/04/2020Version (0.1.11)
-Fixed crash if it can't find the font file
-Fixed rendering problem is windows taskbar docked to the side of screen
-Fixed window dropshadow not rendering when resizing window
-Added appdata/Local/Microsoft/Windows/Fonts to the font folder paths
-Added full crash dump setting
-Removed file associations from installer
-Improved UI font rendering. Changed default UI font to Calibri light, size to 10 and gamma to 1.8
-Fixed crash on startup caused by windows locale setting that causes date to parse differently
-Log build command to output window
-Fixed crash building caused by extended-ansi chars in build output
-Added .cc file parser extension list
-Support solution paths and configs with spaces
-Fixed build using wrong solution name when switching solutions
-Added context menu to project nodes for "build", "rebuild" and "set active project"
-Made active project node more visible


06/04/2020Version (0.1.0)
-10x Alpha Launch