Skip to content

6.14.0

Latest

Choose a tag to compare

@SpertsyanKM SpertsyanKM released this 30 Jul 15:06
eb5641d

New

  • New public API invalidateRemoteConfigsCache — invalidates the in-memory cache of remote configs so the next remoteConfig / remoteConfigList call fetches a fresh targeting evaluation. No network request itself; call it after changing user properties your targeting depends on. Not needed after identify: — see below (#749).

Improvements & fixes

  • identify: resolving to the same Qonversion user now invalidates the remote configs cache automatically, so the first login no longer serves the pre-login targeting evaluation for the rest of the process lifetime (#749).
  • A remote config load in flight during an invalidation is re-issued so its completions receive a fresh evaluation; if the retry fails, the superseded evaluation is delivered instead of an error (#749).
  • Bundled fallback configs are no longer cached: offline apps recover automatically when connectivity returns, and a request short-circuited by the local rate limiter still receives the bundled payload. Serving a bundled fallback now logs a warning (#749).
  • Fixed an offline remoteConfigList(contextKeys:) returning an empty list — the keyed filter ran against the empty network response instead of the bundled fallback list (#749).
  • The remote config rate limiter now buckets per context key, so loading several context keys in a burst no longer trips the limit (#749).
  • Attach/detach of experiments and remote configurations now invalidates configs cached under named context keys, and an in-flight load can no longer re-cache a superseded evaluation (#728).
  • setUserProperty: batches are reliably flushed before a remote config evaluation, including on cache hits and queued force-flushes (#728).

Behavior changes

  • A remoteConfig request in flight when identify: completes resolves after two round trips instead of one (fresh-data-for-latency trade; reliability is not reduced).