Skip to main content
These docs describe the latest release, v0.3.6. Pin an exact version, and read every entry between your version and the latest before you upgrade. Before 1.0, a minor release may break source; its entry carries an upgrade note when it does.
FeaturesFixes
2026-10-13

Features

  • Serve retired actions as a labelled fallback

Fixes

  • Vendor pio-oxide v0.2.18 so on-device encoding reads bare state keys
Features
2026-10-04

Features

  • Stamp the device echo’s layout digest
  • Allow redistribution of the sdk inside games
  • Publish to the public registry behind packages.pioneeroptimisation.com
Features
2026-10-04

Features

  • Send the local event record with cloud decisions
FeaturesFixes
2026-10-03

Features

  • Send and persist the server-minted user proof
  • Generate typed payload accessors and detect schema drift
  • Expose the chosen option’s payload on DecisionResult
  • Stamp device fields on every event envelope
  • Stamp the install anchor on every client event
  • Apply the serving overlay on device
  • Local by default with a sampled parity probe

Fixes

  • Recover auth after a degraded init and re-wire decisions
  • Hand the package link.xml to the linker so SQLite survives stripping
  • Stop setting MaxConnectionsPerServer, which throws in players
  • Compile PioStateNative.m with objc exceptions enabled
  • Sync PioVersion, gate the drift, isolate harness queues
Features
2026-07-28

Features

  • Shadow decorator: run local, serve cloud, log divergence
Features
2026-07-26

Features

  • Stamp decision_source on decision events
Breaking changesChangesFeatures
2026-07-26

Breaking changes

  • Remove TrackReward

Changes

  • Removed PIO.TrackReward; report outcomes with PIO.TrackEvent(eventType, value) so reward signals can be derived by the platform.

Features

  • Generate lifecycle-aware action IDs
  • Add RoutingDecisionSource + LocalDecisionSource + bundle cache
  • Handle cold-start fallback policy
  • Add numeric event values
  • Auto-mark editor and dev-build events as internal
  • Emit pause-aware dwell heartbeats
  • Remove TrackReward
  • Local kv record store with served_state echo
  • Pio-oxide P/Invoke bindings + UPM Plugins packaging
  • Vendor v0.2.12 natives + wire local routing at init
  • Honour child_directed by suppressing ATT and ad-id capture
  • Collect device_region for geo-country mismatch
Features
2026-07-12

Features

  • Add canonical pio.events.* helper surface
Features
2026-07-12

Features

  • Embed the Worker’s served-state echo into decision events
  • Implement 9 missing baseline state collectors
  • Implement the 16 m2 baseline state fields
Breaking changesFeaturesFixes
2026-07-10

Breaking changes

  • Backend URLs move from /accounts/{account_id}/games/{game_id}/… to /accounts/{account_id}/projects/{project_id}/…; the studio config property PioSettings.GameId is renamed to ProjectId (existing PioSettings.asset values auto-migrate via [FormerlySerializedAs(“GameId”)]).

Features

  • Stamp contract_version and model_version into decision events
  • Rename SDK backend URLs to /projects/ and studio config to ProjectId

Fixes

  • Ship SQLite native libs for Android and iOS
FeaturesFixes
2026-06-29

Features

  • Add in-game debug overlay (PioConfig.ShowDebugOverlay)
  • Add Roslyn analyser for TrackEvent/SetState key validation
  • Add POST /auth JWT exchange with retry and background refresh
  • Generate PioActions, schema diff, and focus auto-refresh
  • Add a PioSettings asset + zero-arg PIO.Init()
  • Add consent-driven tracking mode with CMP integration point
  • M8 decision api: getdecision, clouddecisionsource, event emission
  • Consolidate menus under PIO; restyle Decision Simulator
  • Drive Decision Simulator form from the model feature contract
  • Play-mode diagnostics windows (Inspector, Event Log, validator)
  • Polish PIO Inspector + Event Log UI
  • Setup wizard, verify integration and decision simulator
  • Unify SDK config on PioSettings across wizard, codegen, verify
  • Custom error reporter and PIO.OnError API
  • Add trackEvent, trackReward, setState and editor codegen
  • Disk-backed event pipeline with SQLite queue and flush worker
  • Add HTTPS connection warming before auth
  • Add PIO.Init API, state machine, ULID user_id persistence
  • Add offline/mock mode (PioOptions.OfflineMode)
  • Collapse PioEnvironment to Production + URL overrides
  • Add session lifecycle with ULID session_id and auto timeout
  • M4 state capture: collectors, registry, snapshot serialization

Fixes

  • Degrade to fallbacks on auth failure at init instead of failing
  • Close SQLite event queue before domain reload (Editor crash)
  • Rename processor_frequency → cpu_frequency, mono_used_mb → mono_used