github CharlesWiltgen/Axiom v27.6.2
Axiom v27.6.2

2 hours ago

New

  • CloudKit server-to-server requests – cloudkit-ref now covers signing requests to CloudKit Web Services: key setup, what each request signs, the three request headers, and how long a signed request stays valid (10 minutes). It includes a converter for signatures made with Web Crypto (Cloudflare Workers, Deno, and browsers), which CloudKit rejects until they’re converted to DER.
  • Silent pushes without an APNs server – background-processing now covers sending silent pushes through CloudKit. A query subscription in the public database pushes to each subscribed user’s devices when a record is created, so a scheduled server job can wake your app without running an APNs server or storing device tokens.

Updated

  • Background App Refresh – Now covers how turning it off stops refresh tasks, processing tasks, and background pushes alike, and makes any attempt to schedule a background task fail with an error. A new table maps which of the seven scheduling factors gate each background mode. The change covers background-processing, background-processing-diag, background-processing-ref, and push-notifications-diag.
  • Apps users stop opening – Now covers how refresh tasks, processing tasks, and background pushes all depend on recent launches, so background work stops when users stop opening an app. Apple says background pushes aren’t delivered to an app the user hasn’t launched for a while, so the guidance is to refresh when the app opens rather than push more often. The change covers background-processing, background-processing-diag, background-processing-ref, and push-notifications-diag.
  • Rescheduling refresh tasks – Now covers how scheduling a refresh task again replaces the one already waiting and restarts its delay, so an app that reschedules every time a silent push or another background task wakes it keeps postponing its own refresh. The guidance is to schedule from those wakes only when no refresh is already waiting. The change covers background-processing and background-processing-diag.
  • Processing tasks and file protection – Now covers how processing tasks never start before the user first unlocks the device after a restart, and usually run while it’s locked. Files a processing task reads can use no stricter protection than .completeUntilFirstUserAuthentication (the default), because a database protected with .complete can’t be opened while the device is locked. The change covers background-processing and background-processing-diag.
  • Background task scheduling errors – background-processing-ref now matches each scheduling error to its cause. .unavailable means Background App Refresh is off or the app is running in Simulator, and .notPermitted means the app’s Info.plist is missing a background mode or the task’s identifier, or the user has denied the app background launches.
  • Also updated – The example in background-processing-diag that checks for an already-waiting task now compiles without warnings under Swift 6.

Full Changelog: v27.6.1...v27.6.2

Don't miss a new Axiom release

NewReleases is sending notifications on new releases.