# Changelog

## 0.2.0

Breaking changes, following the Rudder.Core 0.2.0 rework:

- `Rudder` moved into the `RudderSdk.Unity` namespace.
- `Rudder` is now a thin facade: `Client`, `State` (`RudderState`),
  `LastError`, `Ready` and `Initialize(RudderConfiguration)`. The service
  shortcuts (`Rudder.Auth`, `Rudder.Stores`, ...) are gone — use
  `Rudder.Client.*`.
- `Rudder.Initialize(configuration)` creates its own hidden GameObject when
  no scene component exists; statics reset on Enter Play Mode without domain
  reload, and realtime disconnects gracefully on quit.
- `LiveOpsConfiguration` renamed to `RudderConfiguration`
  (`Create > Rudder > Configuration`), with tooltips, an empty-ProjectKey
  warning and a configurable `TimeoutSeconds` (default 10).
- Core renames propagate: `client.Scenarios` → `client.Scenario`,
  `BattlepassService` → `BattlePassService`, `SendAsync` → `TriggerAsync`,
  `LoginViaDeviceAsync` → `LoginWithDeviceAsync(region, language, nickname?)`,
  `StoresService.BuyAsync` → `PurchaseAsync(slug, offerId, idempotencyKey?)`.
- Scenario events reduced to the canonical set (`OnNotification`,
  `OnStoreOffer`, `OnLeaderboard`, `OnConfigChanged`, `OnWait`, `OnQuest`,
  `OnBattlePass`, `OnBattlePassLevel`, `OnScenarioCompleted`,
  `OnScenarioFailed`); legacy events and `*Session` renames applied.
- Transport errors are now `RudderApiException` subclasses
  (`RudderAuthException`, `RudderNotFoundException`, `RudderRateLimitException`,
  `RudderNetworkException`); the bare `Exception` in the upload transport and
  the stringly `"network"` / `"http_error"` codes are gone.
- `UnityWebRequestExecutor` / `UnityUploadTransport` wait via
  `UnityWebRequestAsyncOperation.completed` instead of busy-polling and apply
  a configurable `UnityWebRequest.timeout`.
- `IRudderLogger` now reports a `RudderLogLevel`; `IUnityLoggerSink` mirrors
  it and `UnityDebugLoggerSink` maps levels to `Debug.Log*`.
- Bundled plugins slimmed down: only `Rudder.Core.dll` ships. Newtonsoft.Json
  comes from `com.unity.nuget.newtonsoft-json`; `Tiny-JSON.dll` and the
  `System.*` facades were removed.

## 0.1.0

Initial UPM package: Rudder.Core wrapper with UnityWebRequest transport,
PlayerPrefs storage, websocket realtime and the Cozy Collector demo.
