* Fixed so bad file path entries are not saved to casdb file
* Added so allow proxy can be set from config files
* Added assert for if bad files have entered the cas entry directory on disk
[CL 34476627 by henrik karlsson in ue5-main branch]
* Added so remote helpers register output files to file mapping in case there are child processes that wants to read the output of parent processes
[CL 34397713 by henrik karlsson in ue5-main branch]
* Added option to be able to trace child processes in visualizer
* Made WriteDirectoryEntries offset output parameter optional
* Fixed so GetKeyAndFixedName can handle relative paths
[CL 34393678 by henrik karlsson in ue5-main branch]
* Added GetDescription to ProcessStartInfo
* Added info to session description if short filenames are enabled
[CL 34390256 by henrik karlsson in ue5-main branch]
* Changed so casdb entry is not invalidated when file is stored from helper since we already have caskey and everything ready
* Added options to disable usage of cache hits in cacheclient.. this is a debugging feature
* Added option to not use path roots in cache client
* Added more debug information to try to figure out bug where cache client sees wrong cas key of file
[CL 34170695 by henrik karlsson in ue5-main branch]
* Attempt at fixing problem with cache client seeing the wrong file when writing to cache. Problem is related to a race condition between directory crawler threads and writing files. We can end up in this scenario
1. Crawler query directory, file information gets stored in temporary state. and crawler starts traversing state
2. File is written and new date is set to file on disk, and file db entry is set to verified false.
3. Crawler hits the same file and now checks temporary state with file db entry and notice the lastwritten is the same, and set it back to verified. (but it is not the same)
[CL 34132081 by henrik karlsson in ue5-main branch]
* Removed duplicated code
* Added asserts to make sure no compressed obj files are used to calculate cas key
* Added missing locks around some code that should have locks
[CL 34072568 by henrik karlsson in ue5-main branch]
* Renamed system stats to kernel stats
* Changed all stats storing to use bitfield first to say which fields that are non-zero
[CL 34058881 by henrik karlsson in ue5-main branch]
* Optimized cache entry matching
* Added StoreCasKey and changed some StoreCasFile to StoreCasKey in CacheClient which does not need to store cas files
* Changed some parts of the code to use string keys instead of strings since the keys are designed to have correct casing
[CL 34027529 by henrik karlsson in ue5-main branch]
* Added StringView type and replaced a ton of string+stringLen to StringView
* Fixed bug in obj file preloader.
* Fixed so clang targets can used compressed obj files
* Fixed bug in cache client when entry count is zero
* Added magic to compressed obj file header to be able to see if an obj file is compressed or not
* Moved ParseArguments to its own file and added so it can handle both char and wchar
[CL 33933853 by henrik karlsson in ue5-main branch]
* Removed GetNowFileTime. GetSystemTimeAsFileTime should be used instead
* Fixed some minor bugs in uba cache server related to times
* Added obliterate command to cache server
[CL 33916906 by henrik karlsson in ue5-main branch]
* Added exclusions for exports in UbObjTool and added D3D12SDKVersion and friends to exclusion list
* Fixed so UbaObjTool works for linux (or builds at least)
* Added version to importexport files
[CL 33840177 by henrik karlsson in ue5-main branch]
* Changed so uba consumes command line option "/extractsymbols" and will use that to decide if symbols should be extracted from obj file
* UbaObjTool - Some cleanups and optimizations. Also added code just to get it in the version control (will remove again)
* Renamed symbol files from .sym to .exi (exportimport) to not collide with already existing .sym extension
[CL 33787308 by henrik karlsson in ue5-main branch]
* Added support for extracting import/export symbols from obj file and strip it from exports at the same time
[CL 33761137 by henrik karlsson in ue5-main branch]
* Fixed code related to process reuse. It was not resetting variables properly
* Added support for detoured SHGetKnownFolderPath
* Fixed so logs for remote child processes are networked over to server when remoteLogs are enabled
* Improved some assert messages
* Fixed some binaryreaderwriter mismatches (they where harmless, just caused asserts)
* Fixed so local system temp folder can always be found when recursing from root to system temp. This is a horrible hack because it could cause bad conflicts between host file system and helper file system.. but solves current problems
* Moved removal of \\?\ into FixPath
[CL 33517723 by henrik karlsson in ue5-main branch]
* Added support for providing custom environment variables when creating UbaSession
* Reverted code using real environment variables when spawning processes...
[CL 33469655 by henrik karlsson in ue5-main branch]
* Added more logging information when farm gets a include not found error. This is temporary and will be deleted once we have figured out why this can happen now and then.
[CL 33368684 by henrik karlsson in ue5-main branch]
* Added header to compressed obj files containing the cas key of the compressed file
* Fixed so compressed obj files work with cache system
[CL 33236459 by henrik karlsson in ue5-main branch]