- There is a lot of common code between the two systems, but I think we've reached the point where there are enough things different (eg. storing credentials, auth method) and we want to be able to enable one without the other.
- Service accounts now have tokens generated by the server, and are not returned to the client apart from the first time they're generated.
#jira UE-207921
[CL 31803037 by ben marsh in ue5-main branch]
* Changed lots of verbose logging to go through "Detail" instead of "Info" inside Uba code
* Added -UBADetailedLog to UBT and changed so unless UBADetailedLog is set all detail logging goes through LogDebug (which means they end up in log file instead of on screen)
[CL 31742879 by henrik karlsson in ue5-main branch]
FileInfo.Attributes would be cached as being set to -1, so OR'ing in the FileAttribute.ReadOnly flag would set all attribute flags (including system, hidden, etc...).
[CL 31713646 by ben marsh in ue5-main branch]
- Renamed some "FileReference ProjectName" to "FileReference ProjectFile"
- Passing in "null" for a lot of UnrealExe params, instead of "UnrealEditor-Cmd", so allow GetEditorForProject to be called (we must still allow for a true override, so we can't get rid of the param)
- Added FileSystemReference.Exists
#rb David.Harvey
[CL 31660211 by josh adams in ue5-main branch]
Use case :
```
// Let's say we've deprecated the following code in UE5.1
UE_DEPRECATED(5.1, "Use the other thing instead...")
UPROPERTY(meta = (DeprecatedProperty, DeprecationMessage = "Use the other thing instead"))
float SomeUProperty_DEPRECATED = 1.0f;
UE_DEPRECATED(5.1, "Use the other thing instead...")
UFUNCTION(meta = (DeprecatedFunction, DeprecationMessage = "Use the other thing instead..."))
void FooBar(int32 X);
// Then when shipping UE5.4, we would turn that into:
UE_DEPRECATED(all, "Use the other thing instead...")
UPROPERTY(meta = (DeprecatedProperty, DeprecationMessage = "Use the other thing instead"))
float SomeUProperty_DEPRECATED = 1.0f;
UE_DEPRECATED(all, "Use the other thing instead...")
UFUNCTION(meta = (DeprecatedFunction, DeprecationMessage = "Use the other thing instead..."))
void FooBar(int32 X);
```
Therefore, the act of deprecating code that is more than 2 engine versions old consists in a simple text-search for "UE_DEPRECATED" in your code and for the occurrences that are not tagged as "all" and more than 2 versions old. Then:
- If the code is reflected, turn them into UE_DEPRECATED(all, ...)
- Otherwise, remove the code altogether
#rb Tim.Smith
[CL 31622610 by jonathan bard in ue5-main branch]
Two default profiles exist - 'generic-read' and 'generic-run' - which match how we have roles configured internally.
New profiles can be created in the same scopes that ACL entries can be defined.
#jira UE-205551
[CL 31622220 by ben marsh in ue5-main branch]