Release 6.1.0#1290
Open
DanF-ApexSystems wants to merge 131 commits into
Open
Conversation
Add a HandleLogout at UIPlayerReportMenu to close Player report menu when the player Logout
…ui-when-logout fix/EOSU 1040 subscribe report close window button to logout -> 6.0.2
- Prevent EGPI (identifiers beyond PII) from being written to logs. - Ensure remote player identifiers are not leaked by plugin logging paths while preserving developer debugging ability. - Provide a single, reusable redaction utility that follows the requested masking rules and can be disabled in debug builds.
- Documents why the first character is stripped before parsing - Reduces ambiguity for future maintainers - Improves clarity around HighFrequency P2P coordinate message format
Co-authored-by: Matt Clarke <matthew.clarke@mediatonic.co.uk>
Co-authored-by: Matt Clarke <matthew.clarke@mediatonic.co.uk>
Update version to 6.1.0
- Added a new utility class, LoggingUtils, under PlayEveryWare.EpicOnlineServices.Utility. - Exposes ShouldRedactValues to determine when masking is active. - Exposes Redact(string value, int preserveChars = 3)` to mask the center of sensitive values while preserving a small prefix/suffix for diagnostics. - Redaction is disabled for debug builds and enabled for non-debug/runtime-safe contexts. - Updated log statements to redact sensitive IDs at the point of logging instead of relying on broad post-processing. - EOSManager: redacts PUID transitions in the “Changing PUID” log. - EOSPeer2PeerManager: redacts remote user ID in connection-established logs. - EOSSessionsManager: redacts remote user IDs in connection accepted/closed logs. - EOSTransport and EOSTransportManager: redacts local/remote user IDs in transport lifecycle and packet/debug logs. - EOSLobbyManager: redacts local/participant IDs in RTC/lobby diagnostic logs. - EOSEACLobbyManager: redacts peer IDs in anti-cheat action logs. - UIFriendsMenu: redacts account ID in overlay diagnostics.
- Move HighFrequency coordinate packet formatting/parsing into EOSHighFrequencyPeer2PeerManager. - Make CoordinateMessagePrefix private to keep packet internals encapsulated. - Add SerializeCoordinatePacket(float x, float y) for consistent "m<x>,<y>" payload generation. - Add TryDeserializeCoordinatePacket(string packet, out float x, out float y) to centralize parsing and explicitly document why Substring(1) is used. - Update HandleReceivedMessages to use the new deserializer and keep malformed coordinate packet warnings. - Update UIHighFrequencyPeer2PeerMenu.ParticlesOnClick to call SerializeCoordinatePacket instead of manual string concatenation.
Reorganized file structure by moving static utility functions to the bottom.
Updating IL2CPP Setup.md
…-payload-format Update EOSHighFrequencyP2P.cs
Added setup requirements of the deployment being used for the unit test.
…e_setup Update title storage unit test setup
…EGPI-identifier Egpi Redaction Utility
Co-authored-by: Matt Clarke <matthew.clarke@mediatonic.co.uk>
Updated the EOSTransport.GetCurrentRtt XML comment to state that the transport returns <c>0</c> because EOS P2P does not expose a built-in RTT metric, recommended implementing an application-level ping/pong when RTT is required, and removed the long inline DIY block comment.
This change migrates the configuration system from the legacy EOSConfig
model to the new ProductConfig-based architecture.
Key points of this migration:
- Replaced EOSConfig usage with ProductConfig as the main configuration
entry point across runtime and tests.
- Refactored validation logic to rely on strong typing and domain
invariants instead of string parsing.
- Introduced dedicated FieldValidators aligned with the new model:
* GUIDFieldValidatorAttribute for Guid-based fields (rejects Guid.Empty).
* SandboxIdFieldValidatorAttribute for SandboxId value object validation.
* ProductionEnvironmentsFieldValidatorAttribute to validate deployment
aggregates.
* ClientCredentialsFieldValidatorAttribute to ensure at least one
complete client credential exists.
- Removed legacy string-based ID validation patterns in favor of
semantic validation using Guid, SandboxId, and aggregate state.
Domain model improvements:
- Deployment validity is now expressed exclusively through domain
invariants (Deployment.IsComplete) instead of FieldValidator usage.
- SandboxId was hardened to be null-safe and robust against invalid input,
preventing runtime exceptions and clarifying the distinction between
"valid", "invalid", and "empty" states.
- Validation responsibilities are now clearly split:
* FieldValidators validate configuration completeness at the
ProductConfig boundary.
* Domain objects (Deployment, SandboxId, Credentials) enforce their
own invariants internally.
Test suite updates:
- Removed or migrated EOSConfig tests to ProductConfigTests.
- Added comprehensive test coverage for:
* ProductConfig fields and validators.
* ProductionEnvironments and ClientCredentials aggregates.
* Deployment domain invariants.
* SandboxId value object behavior, including edge cases, rollback
behavior, and format semantics.
- Ensured tests are deterministic by explicitly resetting singleton
config state between test cases.
Overall, this commit modernizes the configuration system by:
- Eliminating legacy parsing-based validation.
- Making invalid states unrepresentable through strong typing.
- Aligning runtime behavior, validation, and tests around the same
domain rules.
…Tests-with-ProductConfig
eosu-1255 Fix log misplacement
…53289219 EOS SDK 1.19.1.2 CL53289219
[EOSU-1264] Chore/1.19.1.2 win libs
Update C++ version to 20
1.19.1.2 linux libs
Updated mac libs
Updated Makefile
…-mac EOSU-1265 Build native libs Mac --> release-6.1.0
EOSU-1290 EAC files
- xaudio2_9redist.dll.meta (ARM64): revert Exclude Win back to 1; add defineConstraints [EOS_PLATFORM_WINDOWS_ARM64] to prevent conflict with x64 DLL in Unity 2021.3 and Win64 builds - xaudio2_9redist.dll.meta (x64): add defineConstraints [!EOS_PLATFORM_WINDOWS_ARM64] to exclude from ARM64 builds - EOSManager_DynamicLoading.cs: simplify GfxPluginNativeRenderPath remove redundant EOS_PLATFORM_WINDOWS_64||UNITY_64 branch and x86 fallback - ManagedToUnmanagedBridge.vcxproj / ConsoleApplication.vcxproj: - consolidate PropertySheets ImportGroups into single platform condition - simplify PropertyGroup condition to platform-only - upgrade Release|x64 toolset from v142 to v143 (required for C++20) - fix Debug configs accidentally downgraded to stdcpp17; restore stdcpp20 - remove now redundant ARM64 toolset comment - BuildUtility.cs: IsNullOrEmpty to IsNullOrWhiteSpace for platform flag - WindowsBuilder.cs add exception logging to silent catch blocks
Add PlatformId const to each Windows builder class and Architectureconst to WindowsArm64Define to eliminate repeated string literals.
Support for windows ARM64
- Need only for local testing - Update gitattributes as well as this was the only lib file in LFS
…d-ARM64-native-libs Chore/eos sdk 1.19.1.2 build arm64 native libs
matt-clarke
approved these changes
May 14, 2026
billfr-ApexSystems
approved these changes
May 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.