Skip to content

v0.11.0

Choose a tag to compare

@touyou touyou released this 09 Jun 13:55
· 27 commits to main since this release
c12cbdc

First release since v0.10.1 to ship the accumulated WWDC26 App Intents work (opt-in, default OFF), plus a documentation audit pass. All three packages are released together at the same version.

app_intents 0.11.0

  • WWDC26 experimental bridges (opt-in; exercised only when experimental Swift generation is enabled):
    • IntentValueQuery (#51): registerValueQueryHandler + platform queryValuesAsync (generic inbound value query; the visual SemanticContentDescriptor variant is out of scope)
    • Donations & discovery (#55): donateRelevantEntities(id, entities, context:) via a reverse executor, wired through AppIntentsPlugin.relevantEntitiesDonationForwarder
    • Onscreen-awareness scaffold (#56): setOnscreenEntity(typeId, instanceId, title:) / clearOnscreenEntity() backed by NSUserActivity, plus AppIntentsPlugin.onscreenEntityBinder
    • Extended the platform interface, method channel, and iOS AppIntentsPlugin.swift accordingly
  • Docs: fix the Android setup README (compileSdk/targetSdk 37, minSdk 36 — the previous "36" would fail the appfunctions:1.0.0-alpha09 AAR-metadata check) and replace the placeholder example app READMEs with real content

app_intents_annotations 0.11.0

  • WWDC26 App Intents annotation surfaces (opt-in; inert unless experimental code generation is enabled in app_intents_codegen):
    • Intent execution control (#52): @IntentSpec(longRunning:, cancellable:, executionTargets:) + the IntentExecutionTarget enum
    • App Schema (#49): schema: on @EntitySpec / @IntentSpec / @EnumSpec, plus the AppSchemas catalog (messages / mail / photos)
    • Semantic indexing (#50): @EntityProperty(title:, indexingKey:)
    • Entity ownership (#55): @EntitySpec(ownership:) + EntityOwnershipState
    • Rich parameter types (#53): Duration parameters, the new PersonName value type, @IntentParam(entityCollectionType:), and @UnionValueSpec / @UnionCase (which codegen lowers to a native @UnionValue enum)
    • Cross-app export (#54): @EntitySpec(exportAs:) + EntityExportType
    • IntentValueQuery (#51) and donations/discovery (#55): @EntitySpec(valueQuery:, syncable:, relevantEntities:)

app_intents_codegen 0.11.0

  • WWDC26 experimental code generation (opt-in, default OFF). Master switch --experimental-wwdc26 + per-feature --experimental=<flag> (app-schema, ownership, long-running, rich-types, value-query, value-representation, donation). Experimental Swift is emitted inside #if APP_INTENTS_WWDC26 with a mandatory stable #else fallback, so released-SDK builds (without the flag) still compile.
    • Intent execution control (#52): LongRunningIntent / CancellableIntent / execution targets
    • App Schema (#49) + semantic indexing (#50): @AppEntity/@AppIntent/@AppEnum(schema:) and @Property(indexingKey:) (indexing ships as a normal iOS 18.4 feature)
    • Entity ownership (#55): additive OwnershipProvidingEntity conformance
    • Rich parameter types (#53): native Duration / PersonNameComponents / EntityCollection / @UnionValue parameters with compile-everywhere fallbacks, plus a generated union fromMap factory
    • IntentValueQuery (#51), cross-app export (#54, IntentPerson), and SyncableEntity / RelevantEntities donation (#55)
    • Dual-branch output verified via swiftc -typecheck (with and without APP_INTENTS_WWDC26) against the Xcode 27 beta SDK; see scripts/verify_experimental_swift.sh
  • AppIntentsTesting scaffold for the example app (#57, compile-checked, inert on stable Xcode)
  • Docs: correct the @EnumSpec / @EnumCaseDisplay examples, the Dart SDK constraint (^3.10.0) and dependency ranges, the Android toolchain versions, and add the ownership experimental flag to the feature tables

Published to pub.dev:

Full Changelog: v0.10.1...v0.11.0