Migrate Widgets from StaticConfiguration to IntentConfiguration

New features in WatchOS 26 with configurable widgets make it more important than ever that apps adopt IntentConfiguration options where applicable.

I develop an app with an Apple Watch complication/widget on many many user's Watch faces around the world. I've completed updating my code to support WidgetKit and remove ClockKit. However, I face huge issues adding support for users to configure their widget/complications.

If I update a widget to go from StaticConfiguration to IntentConfiguration, even when keeping the "kind" string the same, the widget disappears from the Watch face. This is an unacceptable user experience meaning I can't proceed with the migration. The problem is users will expect me to offer configuration in the Watch face soon for their widget/complication. Currently this process is done in a sub-optimal way in the app itself.

  • A similar issue exists on iOS where the widget will just "freeze" indefinitely is migrated.
  • This issue still occurs on the iOS 26 and WatchOS 26 betas.

So how to move this forward.

It seems really important this gets fixed for developers to adopt these new features, is there any other migration route I'm missing or a workaround that would mitigate this seemingly big problem.

I don't have anything helpful to say here, but would like to say that I 100% agree with this. I would go so far to say that any of the features that result in Apple holding on to state for our apps should provide us a way of migrating that data as needed. Widgets and Shortcuts both result in Apple holding on to data for the user that is directly tied to our app's code, but is completely outside of our control. What this effectively means is that we either have to be locked in to choices made years ago despite the entire system changing around us or completely break things for our users and force them to fix it on their own.

We added widgets to our app back when they were new (2020) and widgets as a whole looked very different. They were iPhone only, only on Springboard, and only appeared in fully color. None of that is true anymore and I would make different decisions about what widgets we would provide, how they are organized, and how they are configured.

This might be the year that we do finally change everything, but it will come with a bad user experience because I can't do anything about their installed widgets. Those widgets will break or disappear completely and there is nothing I can do about that.

I would love something similar to what was added a year or two ago for migrating watch complications from ClockKit to WidgetKit. If I could provide some migration code to convert existing saved widget configuration to a new configuration, it would fix so many issues.

Yes, fingers crossed we get some direction or clarity from Apple here because after all these feedbacks, it's like it isn't considered an issue.

I've since found an example of where on Apple Watch they seem to have solved this. The "Weather Details" widget/complication which I used in WatchOS 11 wasn't removed from my Watch face after the WatchOS 26 update. In WatchOS 11 it offers no configuration, in WatchOS 26 it does (screenshots here).

Unless Apple just made all their Apple Watch widgets/complications AppIntentConfiguration instead of StaticConfiguration from the beginning, they must have had another way to migrate this whilst is persisted on my Watch face. 🤞

This issue remains and still seems like a glaring omission or that I must be missing something.

I'll open a DTS as a last resort and report back if I get any useful details on migration strategies.

If anyone else if having this issue please Boost the post! Thanks 🙏

Migrate Widgets from StaticConfiguration to IntentConfiguration
 
 
Q