Repository navigation
1.18.0
Changes
- Add the standalone, Foundation-only
MHRemoteConfigproduct for shared HTTPS fetching, app identity validation, and typed configuration decoding. It is also available throughMHPlatformCoreandMHPlatform. - 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
storefrontoverride 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 toconfigurationURL:. - Use the common configuration envelope with
features.remoteUpdate. Remove publisher-authoredissuedAtandvalidUntil; each feature owns its policy and revisions. - Advanced providers now return
MHRemoteConfigResponse<MHRemoteUpdateSchedule>with the original network observation. UsepolicyLifetime:in place ofmaximumValidity:. - 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