.changelog/3535.md
@MainActor isolation from PVFeatureFlags. All isEnabled and subscript reads are now synchronous and callable from any thread or actor without await. Internal state is protected by OSAllocatedUnfairLock (iOS/tvOS 16+) with bundled state, eliminating bare lock/unlock pairs and early-return deadlock risk. Falls back to NSLock on Linux. A pre-computed [String: Bool] cache is rebuilt atomically on config changes. PVFeatureFlagsManager subscribes to a stateDidChange Combine publisher. Callers in PVGameLibrary and PVAppDelegate updated to use PVFeatureFlags.shared.isEnabled(_:) directly, removing unnecessary @MainActor hops.