{"id":6800,"date":"2026-05-08T15:37:01","date_gmt":"2026-05-08T19:37:01","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=6800"},"modified":"2026-05-08T15:37:38","modified_gmt":"2026-05-08T19:37:38","slug":"capacitor-9-starts-here","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here","title":{"rendered":"Capacitor 9 Starts Here"},"content":{"rendered":"\n<p id=\"h-\">Capacitor 9 is underway.<\/p>\n\n\n\n<p>This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-capacitor-9-alpha-1-is-out-and-we-need-testers\"><strong>Capacitor 9 Alpha 1 is out \u2014 and we need testers!<\/strong><\/h2>\n\n\n\n<p>Capacitor 9 Alpha 1 is now published!<\/p>\n\n\n\n<p>The headline change in this alpha is that <strong>Cordova is now optional<\/strong>.<\/p>\n\n\n\n<p>Historically, Cordova support has been bundled and part of the Capacitor runtime even for apps that never used Cordova plugins. In Capacitor 9, that changes. Cordova is no longer pulled in by default \u2014 it&#8217;s only included when you need it.<\/p>\n\n\n\n<p>For apps that do not use Cordova plugins, this means less native code in your iOS and Android projects, and less initialization work at startup.<\/p>\n\n\n\n<p>This is one of the most important runtime changes made to Capacitor, and we need real-world feedback before Capacitor 9 reaches GA.<\/p>\n\n\n\n<p>If you have a project you can test with the alpha, these plugin setups are especially helpful:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Only Capacitor plugins:<\/strong> does the app build, install, and run cleanly without Cordova being pulled into the runtime path?<\/li>\n\n\n\n<li><strong>Both Capacitor and Cordova plugins:<\/strong> do both plugin types continue to build and behave as expected?<\/li>\n\n\n\n<li><strong>Only Cordova plugins:<\/strong> does Cordova plugin behavior remain unchanged? This setup may be less common, but it is valuable for finding edge cases.<\/li>\n<\/ul>\n\n\n\n<p>To try the alpha, install the Capacitor packages using the next tag using your preferred package manager. For npm projects:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>npm install @capacitor\/core@next @capacitor\/ios@next @capacitor\/android@next --legacy-peer-deps\nnpm install --save-dev @capacitor\/cli@next --legacy-peer-deps<\/code><\/pre>\n\n\n\n<p>The <code>--legacy-peer-deps<\/code> flag helps avoid npm peer dependency conflicts while testing this alpha. If you use pnpm, Yarn, or another package manager, use the equivalent command for your project.<\/p>\n\n\n\n<p>Please file any bugs you find <a href=\"https:\/\/github.com\/ionic-team\/capacitor\/issues\">on the Capacitor repository<\/a> with the label <code>cap9-alpha<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cordova-plugin-spm-dependencies-now-resolve-in-capacitor\"><strong>Cordova plugin SPM dependencies now resolve in Capacitor<\/strong><\/h2>\n\n\n\n<p>Cordova iOS 8 introduced support for declaring Swift Package dependencies within a Cordova plugin. Capacitor did not previously support those declarations when a Cordova plugin with child SPM dependencies was used inside an SPM-based Capacitor iOS project.<\/p>\n\n\n\n<p>Now it does \u2014 with fixes available in the latest Capacitor 7 and Capacitor 8 releases.<\/p>\n\n\n\n<p>When a Capacitor iOS project uses Swift Package Manager, Cordova plugins that declare SPM dependencies through the Cordova iOS 8 format will now have those dependencies resolved automatically.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-s-next\"><strong>What&#8217;s next?<\/strong><\/h2>\n\n\n\n<p>This is the first public step in the Capacitor 9 cycle. Alongside this work, the team is updating iOS to support Scene UI, exploring how Capacitor needs to flex for newer device form factors, and investing in AI-assisted tooling and community-facing AI skills.<\/p>\n\n\n\n<p>Try the alpha, open issues for anything unexpected, and keep an eye on <code>next<\/code> as Capacitor 9 continues to take shape.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Capacitor 9 is underway. This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8. Capacitor 9 Alpha 1 is out \u2014 and we need testers! Capacitor 9 Alpha 1 is now published! The headline change [&hellip;]<\/p>\n","protected":false},"author":76,"featured_media":6805,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,121,122],"tags":[151],"class_list":["post-6800","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","category-engineering","category-product","tag-capacitor"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Capacitor 9 Starts Here - Ionic Blog<\/title>\n<meta name=\"description\" content=\"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Capacitor 9 Starts Here\" \/>\n<meta property=\"og:description\" content=\"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-08T19:37:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-08T19:37:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1774\" \/>\n\t<meta property=\"og:image:height\" content=\"887\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eric Horodyski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eric Horodyski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\"},\"author\":{\"name\":\"Eric Horodyski\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/bec836be266e0046c56c120cdb9806d6\"},\"headline\":\"Capacitor 9 Starts Here\",\"datePublished\":\"2026-05-08T19:37:01+00:00\",\"dateModified\":\"2026-05-08T19:37:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\"},\"wordCount\":429,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png\",\"keywords\":[\"Capacitor\"],\"articleSection\":[\"All\",\"Engineering\",\"Product\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\",\"url\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\",\"name\":\"Capacitor 9 Starts Here - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png\",\"datePublished\":\"2026-05-08T19:37:01+00:00\",\"dateModified\":\"2026-05-08T19:37:38+00:00\",\"description\":\"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png\",\"width\":1774,\"height\":887,\"caption\":\"Graphic for Capacitor 9 Starts Here\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Capacitor 9 Starts Here\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/bec836be266e0046c56c120cdb9806d6\",\"name\":\"Eric Horodyski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/07\/T024WJZKU-U010BLA2B9S-89f661f3bfad-512-150x150.jpeg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/07\/T024WJZKU-U010BLA2B9S-89f661f3bfad-512-150x150.jpeg\",\"caption\":\"Eric Horodyski\"},\"url\":\"https:\/\/ionic.io\/blog\/author\/horodyski\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Capacitor 9 Starts Here - Ionic Blog","description":"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here","og_locale":"en_US","og_type":"article","og_title":"Capacitor 9 Starts Here","og_description":"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.","og_url":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here","og_site_name":"Ionic Blog","article_published_time":"2026-05-08T19:37:01+00:00","article_modified_time":"2026-05-08T19:37:38+00:00","og_image":[{"width":1774,"height":887,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","type":"image\/png"}],"author":"Eric Horodyski","twitter_card":"summary_large_image","twitter_creator":"@ionicframework","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Eric Horodyski","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here"},"author":{"name":"Eric Horodyski","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/bec836be266e0046c56c120cdb9806d6"},"headline":"Capacitor 9 Starts Here","datePublished":"2026-05-08T19:37:01+00:00","dateModified":"2026-05-08T19:37:38+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here"},"wordCount":429,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","keywords":["Capacitor"],"articleSection":["All","Engineering","Product"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/capacitor-9-starts-here#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here","url":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here","name":"Capacitor 9 Starts Here - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","datePublished":"2026-05-08T19:37:01+00:00","dateModified":"2026-05-08T19:37:38+00:00","description":"This update covers two pieces of that work: the first Capacitor 9 alpha for early testing, and improved compatibility for Cordova plugins adopting Swift Package Manager through Cordova iOS 8.","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/capacitor-9-starts-here"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","width":1774,"height":887,"caption":"Graphic for Capacitor 9 Starts Here"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/capacitor-9-starts-here#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Capacitor 9 Starts Here"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/bec836be266e0046c56c120cdb9806d6","name":"Eric Horodyski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/07\/T024WJZKU-U010BLA2B9S-89f661f3bfad-512-150x150.jpeg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/07\/T024WJZKU-U010BLA2B9S-89f661f3bfad-512-150x150.jpeg","caption":"Eric Horodyski"},"url":"https:\/\/ionic.io\/blog\/author\/horodyski"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2026\/05\/4f44b45a-5081-48e3-8566-4adead5372c7.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/6800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/76"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=6800"}],"version-history":[{"count":7,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/6800\/revisions"}],"predecessor-version":[{"id":6809,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/6800\/revisions\/6809"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/6805"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=6800"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=6800"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=6800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}