We have begun a v8->v9 theme upgrade guide here. This includes some of the main questions and stumbling blocks we have encountered or seen folks encountering in the community. Please have a look, bookmark it for your reference as you’re working on your themes and add-ons, and most importantly, if you have any other things you think would be helpful to add go ahead and post them as a reply to this thread! Thanks!
Access new Instances through the app container:
old: $app->make('helper/xyz', [$ui]);
new: $app->make('helper/mesch/user', ['ui' => $ui]); or $app->make('helper/mesch/user', compact(['ui']));
Requiring core assets the old way like: $this->requireAsset('core/sitemap'); will create a log entry, that the asset can not be found.
The new way is to implement the related feature interfaces.
I can not add more than 3 messages, without an answer of someone else. Therefor my last message comes here:
Using the tab helper like: $app->make('helper/concrete/ui')->tabs([]); needs following adjustments:
the container with the tab contents needs an additional CSS class tab-content
the tab contents need the additional CSS class tab-pane and the additional attribute role="tabpanel", the active tab needs the additional CSS class active
the item IDs in the initial $helper->tabs() call need to be prefixed with ccm-tab-content- (e.g. old: pane-general, new: ccm-tab-content-pane-general)
If you need to make these changes backward compatible with c5-8: