Skip to content

1.18.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 10:58

Changes

  • Add the standalone, Foundation-only MHRemoteConfig product for shared HTTPS fetching, app identity validation, and typed configuration decoding. It is also available through MHPlatformCore and MHPlatform.
  • Support static update policies without periodic publisher renewal. A validated network fetch renews bounded retained evidence; disk reads, failures, and reused responses do not.
  • Keep planned activation, immutable revisions, postponement, explicit cancellation, and App Store publication evidence separate. Unknown evidence remains distinguishable from a confirmed lack of an update requirement.
  • Omit the storefront country by default, with an optional explicit storefront override for publication lookup.

Migration from 1.17.0

This release deliberately replaces the scheduled-update contract before operational adoption. It is an explicit minor-release exception to normal source and wire compatibility.

  • Rename the standard initializer's policyURL: argument to configurationURL:.
  • Use the common configuration envelope with features.remoteUpdate. Remove publisher-authored issuedAt and validUntil; each feature owns its policy and revisions.
  • Advanced providers now return MHRemoteConfigResponse<MHRemoteUpdateSchedule> with the original network observation. Use policyLifetime: in place of maximumValidity:.
  • Existing 1.17.0 snapshots are not migrated or reinterpreted. prepare() attempts a fresh fetch after an incompatible cache; without valid evidence, protected operations remain unavailable.
  • Set storefront: "jp" explicitly to retain 1.17.0's reference store. Omission uses Apple's service default, which is not a global catalog.

See the migration and adoption guide. Existing legacy comparison and evaluator primitives remain available. This package release does not migrate consuming apps or deploy their configuration.

Full Changelog: 1.17.0...1.18.0