==========================
MAJOR FEATURES + CHANGES
==========================
Change 2930055 on 2016/04/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
FOutputDeviceFile will now use a separate thread for writing to the file archive. Reduces time spent in Serialize by 3-5x (SSD setup).
#jira UE-28907
Change 2930590 on 2016/04/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Initial implementation of memory output device (ring buffer for memory only logs).
Change 2934971 on 2016/04/06 by Steve.Robb@Dev-Core
More HotReload cleanup:
DoHotReloadInternal logic moved up to the call sites.
BroadcastHotReload removed.
Redundant FModuleManager::Get() fixes.
Nesting removal.
Replacing loops with ranged-for.
Change 2934829 on 2016/04/06 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fixed FLinkerManager::GetLoadersWithNewImportsAndEmpty emptying the wrong array.
Made FLinkerManager::DissociateImportsAndForcedExports touch imports only in non-cooked builds because in cooked builds linkers don't stay around long enough to see any of their imports being GC'd before they get deleted themselves.
Removed the global DissociateImportsAndForcedExports function.
Change 2934634 on 2016/04/06 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Don't report ensures after the engine has already crashed.
Change 2925735 on 2016/03/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Removing UnrealSync
#jira UE-28085
Change 2928979 on 2016/03/31 by Steve.Robb@Dev-Core
Fixes to FIntPoint::Size() and FIntVector::Size() overflows when dealing with large components.
#jira UE-24933
Change 2929163 on 2016/03/31 by Steve.Robb@Dev-Core
TQueue is now non-copyable.
#jira UE-28803
Change 2930280 on 2016/04/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
DLLInjection test binaries
Change 2930320 on 2016/04/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Setting the FOutputDeviceFile thread name to something more unique in case there's multiple instances of it.
Change 2931687 on 2016/04/04 by Steve.Robb@Dev-Core
Fix for 'not all control paths return a value' in TUnion::operator==.
Change 2931714 on 2016/04/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fixing crash + hang in log output device
Change 2931930 on 2016/04/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fixes and improvements to logging to memory.
Change 2932830 on 2016/04/05 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
When verifying disregard for GC assumptions, assert after ALL offenders have been dumped to log.
Change 2933097 on 2016/04/05 by Graeme.Thornton@GThornton_DevCore
UBT writes to log when including signing keys in executable
Change 2933348 on 2016/04/05 by Steve.Robb@Dev-Core
Const-correcting of FModuleManager.
Use of TOptional instead of 'object + bool' for ModulePathsCache.
Use of ranged-for instead of iterators.
Use of TFunction instead of delegates.
Change 2934630 on 2016/04/06 by Steven.Hutton@steven.hutton-CrashReporter
Removing Pagination TPS
Change 2935001 on 2016/04/06 by Steve.Robb@Dev-Core
Some redundant temporary arrays removed.
Change 2936348 on 2016/04/07 by Steve.Robb@Dev-Core
Checks about module loading moved to ModuleManager.
Change 2936422 on 2016/04/07 by Steve.Robb@Dev-Core
Changed modules passed to DoHotReloadInternal.
Change 2937440 on 2016/04/07 by Steve.Robb@Dev-Core
ToHashSet extension method for IEnumerable.
Change 2937453 on 2016/04/07 by Steve.Robb@Dev-Core
Only recompile modules that have changed (and their dependencies) on hot reload.
#jira UE-28981
Change 2937939 on 2016/04/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Added support for suspending thread heartbeat for slow tasks.
+ Fixed HangDuration from ini not being used when checking if a thread has hung
Change 2937960 on 2016/04/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Adding explicit constructors to FSlowHeartBeatScope.
Change 2939532 on 2016/04/11 by Steve.Robb@Dev-Core
GitHub #1908 - [UBT/Hot-reload] Fixed compilation for modules without number suffix
[CL 2942307 by Robert Manuszewski in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2877442 on 2016/02/23 by Graeme.Thornton@GThornton_DevCore
Allow 'dumpnonframe' stat command to also take an optional group name which will filter the output
Change 2879289 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore
Removed "-" in switch string for load time tracker. Makes -NoLoadTrackClear cmd line param actually work
Change 2879323 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore
PC builds now log engine initialization time with the load time tracker
Change 2879418 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore
Optimization for FSignedArchiveReader
- Compute incoming data hash in parallel on another thread while we serialize and decrypt the signature on the chunk cache worker thread
Change 2879419 on 2016/02/24 by Graeme.Thornton@GThornton_DevCore
Extra stats for PakFile group
- Time reading from pak handles
- Number of open pak handles
Change 2881199 on 2016/02/25 by Graeme.Thornton@GThornton_DevCore
Use 32 bit CRCs to hash chunk contents rather than SHA1. Much faster to compute than SHA1, and the decrypting 4 bytes rather than 20 is also a lot faster
Change 2885687 on 2016/02/29 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Close disregard for GC pool when disabling it to leave it in a good state.
Change 2887358 on 2016/03/01 by Steve.Robb@Dev-Core
FlushCurrentThreadCache calls forwarded on from FMalloc wrappers.
Change 2887398 on 2016/03/01 by Steve.Robb@Dev-Core
Stats for MallocBinned2.
Change 2887682 on 2016/03/01 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Added code to catch game hangs. If game thread is stalled for more than 5 seconds we will catch that, report its callstack and crash.
Change 2889573 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Renamed the new StackWalkAndDump to ThreadStackWalkAndDump to avoid name collisions and build errors.
Change 2889687 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Send thread heartbeats during potentially slow tasks.
Change 2889963 on 2016/03/02 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Added the ability to query the name of a thread given its TLS id.
Change 2890439 on 2016/03/02 by Steve.Robb@Dev-Core
MallocBinned redirection header, to allow easy switching between MallocBinned and MallocBinned2.
Switch back to MallocBinned by default.
Change 2891799 on 2016/03/03 by Steve.Robb@Dev-Core
Shrunken GMallocBinned2MemSizeToIndex array.
Improvement of some shared templated alignment-related functions.
Change 2891812 on 2016/03/03 by Graeme.Thornton@GThornton_DevCore
Refactoring of pak signing to be more compatible with patching
- Store signatures in a block at the end of the pak file
- Optimize decryption of signatures by serializing them all when the pak is opened, and decrypting on the chunk cache worker thread between read requests.
Change 2891813 on 2016/03/03 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2
Don't compile UnrealPak with ICU
Change 2892386 on 2016/03/03 by Steve.Robb@Dev-Core
GitHub #2070 - Fix incorrect FMallocDebug::Malloc alignment checking
Change 2894189 on 2016/03/04 by Steve.Robb@Dev-Core
Memswap fixes for sizes of 3, 5, 6 and 7, and early out on 0.
Change 2894427 on 2016/03/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Don't display message boxes in unattended mode when D3D device is removed.
Change 2896912 on 2016/03/07 by Graeme.Thornton@GThornton_DevCore
Disable reading of anything outside the pak file when in shipping builds
Change 2897053 on 2016/03/07 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
A few improvements to thread heartbeat thread:
- Don't check for heartbeat in debug builds
- Don't spawn the thread heartbeat thread for programs
- Ignore stalls when exiting
Change 2898752 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Fixing race conditions when using malloc verify
Change 2899075 on 2016/03/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
UnrealPak will now accept hex values for p and q. Added the command line param to trust p and q.
Change 2899091 on 2016/03/08 by Steve.Robb@Dev-Core
Fix for TQueue::Peek const-correctness.
Change 2902775 on 2016/03/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
Adding code to test signature keys.
Change 2905040 on 2016/03/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1
TBigInt Multiply is now 30x faster
Change 2905218 on 2016/03/11 by Steve.Robb@Dev-Core
New FCString::Strspn and FCString::Strcspn functions.
[CL 2921423 by Robert Manuszewski in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2864843 on 2016/02/12 by Ben.Marsh
Add individual 'status', 'outcome', and 'error_code' fields to parsed jobsteps. Should fix grid view not being able to display 'pending' icons.
Change 2865161 on 2016/02/12 by Ben.Marsh
Stop storing a reference to UEBuildTarget from UEBuildModule. It creates an awkward cyclic data dependency, and makes it easy for people to write lazy code that just reaches into the internal state of the build.
Change 2865643 on 2016/02/12 by Ben.Marsh
Rename UEBuildModuleType to UHTModuleType, and move implementation into ExternalExecution.
Change 2874408 on 2016/02/19 by Ben.Marsh
Automatically sort nodes in the dashboard grid view by a weight derived from the node's order in the build graph, summed across all the jobs in which it was present.
Change 2879572 on 2016/02/24 by Ben.Marsh
Allow spoofing a Git merge from a given commit, using a changelist description containing the tag "git merge <branch> <changelist>", where <branch> is the name of a branch on Git (eg. master, 4.11, etc..), and <changelist> is the changelist being merged in.
Change 2883216 on 2016/02/26 by Ben.Marsh
Prevent Jira tickets being incorrectly updated with 'Main CL' fields which are after the 'Fix CL' fields.
Change 2883755 on 2016/02/26 by Ben.Marsh
Fix solution files having a Shipping configuration, even when -NoShippingConfigs is passed on the command line.
Change 2886223 on 2016/02/29 by Ben.Marsh
Ignore SignTool errors - we can recover from them.
Change 2887414 on 2016/03/01 by Ben.Marsh
Dump all the *.crash files produced while running commandlets, to make it easier to diagnose build system crashes cooking on Mac.
Change 2888235 on 2016/03/01 by Ben.Marsh
Add overloads for methods in FileFilter which take FileReference and DirectoryReference objects.
Change 2889602 on 2016/03/02 by Ben.Marsh
Treat shaders as code in UGS. Don't sync them as part of content-only syncs, and don't allow syncing past them without updated binaries.
Change 2889610 on 2016/03/02 by Ben.Marsh
Fix setting for using incremental builds not being saved. Also hide command to do incremental builds if the 'use incremental builds' option is not checked.
Change 2891866 on 2016/03/03 by Matthew.Griffin
Removed Rocket specific batch files and made sure installed build won't try to include them
Removed last use of RocketGenerateProjectFiles.sh by using UBT directly instead
Change 2893349 on 2016/03/03 by Ben.Marsh
Add derived ReplicatedBranch to support mirroring the VR editor branch to GitHub.
Change 2894703 on 2016/03/04 by Ben.Marsh
Include *.usf when looking for the last code changelist. Also update version to 1.68.
Change 2897991 on 2016/03/07 by Ben.Marsh
Copy the changelist number to the clipboard when the user presses Ctrl-C. Update version number to 1.69.
Change 2898005 on 2016/03/07 by Ben.Marsh
Minor changes to support BuildGraph:
* UE4Build now has a static function that can update version files.
* Adding FileReference/DirectoryReference methods to FileFilter and CommandUtils.
* FileFilter treats any pattern containing a slash as implictly starting from the root directory, unless it begins with "...".
Change 2898095 on 2016/03/07 by Ben.Marsh
UAT - Don't retry builds if we're using local executor; we don't encounter failures due to timeouts.
Change 2898248 on 2016/03/07 by Ben.Marsh
UBT - Add the standard game include paths back in to plugin modules. Existing game code relies on this.
Change 2898615 on 2016/03/08 by Matthew.Griffin
Removed last uses of RunningRocket function
All seemed to be overly cautious about people using an Installed build to do non standard things, don't see any ill effects in the most common circumstances.
Change 2898681 on 2016/03/08 by Matthew.Griffin
Removed Automation.RunningRocket function as there are no more uses
Changed the majority of comments referencing Rocket mode that are now either about the engine being installed or from the Launcher etc.
#lockdown Nick.Penwarden
[CL 2898813 by Matthew Griffin in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2718441 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow nodes to be added with an "explicit" frequency, meaning that they'll only be part of manually triggered builds (not CIS).
Change 2718698 on 2015/10/06 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a type of node that can execute an arbitrary sequence of tasks, and allow constructing graphs of such nodes from an XML file.
Change 2723013 on 2015/10/09 by Ben.Marsh@Ben.Marsh_T3245_Stream
Small utility to quickly capture a workspace, or delete files to restore the workspace to a previously captured state (and output a p4 sync list to restore it)
Change 2744521 on 2015/10/28 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Adding config entries to determine which platforms/configurations are available
Currently only written out as part of the Rocket Build process but could be done elsewhere for other types of installed build.
A near identical singleton class is used in both C++ and C# to load the config section and check whether configuration/platform combinations are valid.
Change 2773723 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
Copying UnrealGameSync into Engine/Source/Programs.
Change 2773914 on 2015/11/19 by Ben.Marsh@Ben.Marsh_T3245_Stream
PR #1687: [GitDependencies] New feature: ignore file support (.gitdepsignore) (Contributed by nbjk667)
Change 2775317 on 2015/11/20 by Ben.Marsh@Ben.Marsh_T3245_Stream
Add a -listtps option to UBT, which will find all the TPS files in any directory that's compiled into a target.
Change 2780832 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Allow compiling a single file in UBT. Pass -singlefile=<Path> on command line to UBT to use.
Change 2781071 on 2015/11/25 by Ben.Marsh@Ben.Marsh_T3245_Stream
Precompile all valid engine modules for Rocket by default. Modules may set the PrecompileForTargets field to control which configurations they should be compiled for. Modules which currently fail to compile have this set to
PrecompileTargetsType.None.
#codereview Matthew.Griffin
Change 2784469 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Added -FastPDB commandline parameter for UBT, so that we can make use of the /DEBUG:FASTLINK option in VS2015
Change 2784722 on 2015/12/01 by Matthew.Griffin@Matthew.Griffin_G5772_BuildStream
Made -FastPDB option part of BuildConfiguration instead of checking commandline at each place it's used. Also added option to override if someone doesn't want it automatically added to their project files.
Change 2787501 on 2015/12/02 by Ben.Marsh@Ben.Marsh_T3245_Stream
Restore change to gather VC environment directly from registry.
#lockdown Nick.Penwarden
[CL 2790002 by Ben Marsh in Main branch]
==========================
MAJOR FEATURES + CHANGES
==========================
Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1
GC and WeakObjectPtr performance optimizations.
- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
- Moved WeakObjectPtr serial numbersto FUObjectArray
- Added pre-allocated UObject array
Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1
Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.
Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920
UHT will now use makefiles to speed up iterative runs.
Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963
Hot-reload performance optimizations:
1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
2. Parallelized search for old CDOs referencers.
Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster
Dependency preloading improvements
- Asset registry dependencies now resolve asset redirectors
- Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package
Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1
Allow UnfocusedVolumeMultiplier to be set programmatically
Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1
When cooking, don't add imports that are outers of objects excluded from the current cook target.
Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core
Inline storage for TFunction.
Fix for delegate inline storage on Win64.
Some build fixes.
Visualizer fixes for new TFunction format.
Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
CrashReporter Web - Search by Platform
Added initial support for streams (GetBranchesAsListItems, CopyToJira)
Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core
Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.
Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core
Some TSet function optimisations:
Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
Taking local copies of HashSize during iterations.
Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core
BulkData zero byte allocations are now handled by an RAII object which owns the memory.
Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core
FName::operator== and != optimised to be a single comparison.
Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)
Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec
PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)
Also fixed starting condition.
Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1
PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)
Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core
PR #1540 - Specifying a different Saved folder at launch through a command line parameter
Integrated and optimized.
#lockdown Nick.Penwarden
[CL 2772222 by Robert Manuszewski in Main branch]
Change to makefile timestamp checks to use FileInfo instead of FileItem to avoid some time offset issues.
Misc cleanups in some module reload code.
#codereview robert.manuszewski,ben.marsh
[CL 2557832 by Steve Robb in Main branch]
Newly installed versions of the engine will now attempt to copy the project-agnostic config settings from a previous engine installation. This happens by way of a versioned manifest that copies old versions when the manifest does not exist, or is a different version. This code path is benign for non-installed versions of the engine (or FPaths::ShouldSaveToUserDir() is false).
EditorGameAgnosticSettings and EditorUserSettings ini paths have been renamed to EditorSettings and EditorPerProjectUserSettings respectively to better convey their purpose. In general, most settings should be saved in EditorSettings (project-agnostic) so that they apply regardless of which project is open. We have some way to go migrating existing settings for this to be the case, however.
Some previously per-project configuration files are now project-agnostic (such as Editor.ini, EditorKeyBindings.ini, and EditorLayout.ini)
GEditor->Access...Settings and GEditor->Get...Settings have been removed in favor of direct access of the CDO through GetMutableDefault<> and GetDefault<> respectively. Global config ini filenames that are not set up are now neither loaded nor saved on build machines, to handle the problem of indeterminate state more generically.
This addresses UETOOL-270 (Most editor preferences should be project-agnostic)
[CL 2517558 by Andrew Rodham in Main branch]
We already had FPlatformProcess::CreateProc/CloseProc pair (which is part of larger set with WaitForProc(), TerminateProc(), GetProcReturnCode(), etc). FProcHandle::Close() made the API more confusing (and actually introduced bugs, because it did not call CloseProc() until recently).
#codereview Josh.Adams, Robert.Manuszewski, Jaroslaw.Surowiec
[CL 2476322 by Dmitry Rekman in Main branch]
Stopped the "Compiling C++ Code" message in the editor MainFrame always having a cancel button
FModuleCompilerStartedEvent now passes a bool to say whether the hot-reload/compile operation is being run async, or whether it's blocking. We now only show the cancel button for async compiles, as the UI is otherwise blocked waiting for the compile to finish.
Added a bWaitForCompletion input parameter to DoHotReloadFromEditor. This mirrors the RebindPackages API that DoHotReloadFromEditor internally calls, and prevents UPackFactory needing to perform a manual tick.
[CL 2437789 by Matthew Griffin in Main branch]
Made sure that FHotReloadModule still reported slow task progress while stuck in a busy loop
ReviewedBy Anderew.Rodham
[CL 2435569 by Matthew Griffin in Main branch]