|
2 | 2 | The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
3 | 3 | and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
4 | 4 |
|
| 5 | +## [3.3.5] - 2025-01-23 |
| 6 | + |
| 7 | +## Changelog |
| 8 | + |
| 9 | +### Changed |
| 10 | +- **Configuration System Overhaul** |
| 11 | + - The plugin now uses a new configuration system, moving away from the older `EOSConfig` in favor of `ProductConfig` and multiple `PlatformConfig` files. |
| 12 | + - Marked `EOSConfig` as obsolete and introduced better default and migration paths for platform-specific settings. |
| 13 | + - Refactored large portions of the native code into clearer modules (`Config`, `PlatformManager`, `SteamConfig`, etc.), reducing duplication and improving maintainability. |
| 14 | + - Upgraded to Visual Studio 2022 for building native binaries. |
| 15 | + |
| 16 | +- **Editor & Build Process Improvements** |
| 17 | + - Refined editor windows and build scripts to better handle new config files and to auto-select defaults for newly defined platforms. |
| 18 | + - Moved many internal extension/helper classes into a “Common” area to simplify namespace usage and reduce redundancy. |
| 19 | + - Improved logging structure and behavior (including concurrency handling) in native and managed code. |
| 20 | + - Updated Unity package definitions and reorganized project files for more consistent UPM compatibility. |
| 21 | + |
| 22 | +### Added |
| 23 | +- **Managed & Native Bridge Utilities** |
| 24 | + - New `ManagedToUnmanagedBridge` library to facilitate deeper integration between managed C# code and native C++ components. |
| 25 | + - Introduced a `ConsoleApplication` project in the native solution, used for testing or demonstrating plugin behavior outside of Unity. |
| 26 | + |
| 27 | +- **Configuration Lifecycle Hooks & Auto-Selection** |
| 28 | + - Added a `BeforeWrite` hook in `ProductConfig` (and corresponding override logic) so the first sandbox and deployments can be automatically associated. |
| 29 | + - New “auto selection” features for client credentials, deployments, and platform defaults, improving the “first time user” experience for new projects. |
| 30 | + - Implemented `OnWriteCompleted` overrides in `ProductConfig` to reflect platform config changes immediately in the editor UI. |
| 31 | + |
| 32 | +- **Quality-of-Life Features** |
| 33 | + - Added support for additional platforms (e.g., `StandaloneOSX`) and integrated missing platform checks in the plugin’s internal platform manager. |
| 34 | + - Included new null-safe logic and fallback calls for Steam integration (e.g., retry with `SteamAPI_Init` if `SteamAPI_InitSafe` fails). |
| 35 | + - Enhanced doc tooling, including link-checking scripts and improved project documentation. |
| 36 | + |
| 37 | +### Fixed |
| 38 | +- **Command-Line & Credential Handling** |
| 39 | + - Corrected the implementation of command-line arguments passed from the Epic Games Launcher to ensure proper usage in native code. |
| 40 | + - Fixed null-check logic in client credential handling—particularly around newly introduced auto-selection paths and default deployments. |
| 41 | + |
| 42 | +- **Concurrency & Race Condition Bugs** |
| 43 | + - Addressed competing file read/write issues in editor windows by consolidating asynchronous calls and removing race conditions. |
| 44 | + - Removed or tightened up redundant `using` statements, compile conditionals, and shared references that led to sporadic compile or runtime warnings. |
| 45 | + |
| 46 | +- **Various Stability & Compatibility Issues** |
| 47 | + - Resolved lingering null-safety bugs (thread affinity, achievements, presence checks) throughout the plugin. |
| 48 | + - Fixed or removed outdated references to older configuration files (`EpicOnlineServicesConfig.json`), ensuring the new configuration paths are used cleanly. |
| 49 | + - Eliminated memory-leak and dangling-pointer issues in native code related to steam integration and the new config approach. |
| 50 | + |
5 | 51 | ## [3.3.4] - 2024-11-26 |
6 | 52 |
|
7 | 53 | ### Changed |
|
0 commit comments