{"id":5052,"date":"2023-03-29T17:52:24","date_gmt":"2023-03-29T21:52:24","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=5052"},"modified":"2023-03-31T13:05:23","modified_gmt":"2023-03-31T17:05:23","slug":"ionic-7-is-here","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/ionic-7-is-here","title":{"rendered":"Ionic 7 is here!"},"content":{"rendered":"\n<p>Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community. Thanks to all of your contributions and the hard work of our team, we\u2019re thrilled to officially bring Ionic 7 to market.<br><br>Here&#8217;s what&#8217;s new in Ionic 7:<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"inline-overlays\">Inline Overlays<\/h2>\n\n\n\n<p id=\"block-f8386848-0dad-40de-9640-02338c7119d6\">In <a href=\"https:\/\/ionic.io\/blog\/announcing-ionic-6\">Ionic 6<\/a> we introduced the ability to use the Modal and Popover components declaratively inside application templates. We\u2019ve now added this functionality to the Action Sheet, Alert, Loading, Picker, and Toast components. This addition means developers can pass data as properties on the component instance without using a controller. We have also added <code>isOpen<\/code> and <code>trigger<\/code> properties to reduce the amount of code required to present and dismiss these overlays.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-button id=\u201dopen-loading\u201d&gt;Open Loading&lt;\/ion-button&gt; \n&lt;ion-loading trigger=\u201dopen-loading\u201d message=\u201dLoading\u2026\u201d&gt;&lt;\/ion-loading&gt;<\/code><\/pre>\n\n\n\n<p id=\"block-c869ae02-86c8-4f29-92a7-54f8f88df153\">The playgrounds for each example have been updated to showcase this new usage:<\/p>\n\n\n\n<p id=\"block-efd5249e-ae54-4023-91de-9a7afdbb878e\"><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/action-sheet\">Action Sheet<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/alert\">Alert<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/loading\">Loading<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/picker\">Picker<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/toast\">Toast<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"consistent-event-emissions\">Consistent Events Emissions<\/h2>\n\n\n\n<p id=\"block-4f1838c0-53ed-4bf8-9a58-d7196abff6c5\">In Ionic 6, the <code>ionChange<\/code> event fired every time the <code>value<\/code> property on components changed. This behavior caused the <code>ionChange<\/code> event to fire at unexpected times. We revised the <code>ionChange<\/code> event to only fire from user-generated interactions such as taps or clicks. This behavior aligns more closely with the behavior found in native <code>&lt;input&gt;<\/code> elements.<\/p>\n\n\n\n<p id=\"block-3d54b82b-5793-4ade-a443-78f5639d9a5e\">Developers can continue to use the <code>ionInput<\/code> event in components such as Input or Textarea to detect every keypress from the user.<\/p>\n\n\n\n<p id=\"block-8c2a8631-7ffa-46a1-8ffc-21824ed17e41\">Developers do not need to make any changes to get this improvement; however, we recommend that developers evaluate their applications when updating to Ionic 7.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"simplified-form-control-syntax\">Simplified Form Control Syntax<\/h2>\n\n\n\n<p id=\"block-3fe5a384-e0a5-4352-a1b5-4333820c6979\">Ionic 7 introduces a streamlined way of working with form controls such as Toggle or Input. The Item and Label components are no longer required, and each form control handles the label content directly. Additionally, certain features such as helper text or input fill modes have moved from <code>ion-item<\/code> to the appropriate form controls such as <code>ion-input<\/code>, <code>ion-textarea<\/code>, and <code>ion-select<\/code>.<\/p>\n\n\n\n<p id=\"block-bc90c097-6a10-4130-9f55-ceff7aaed043\">This change has several improvements:<\/p>\n\n\n\n<ol class=\"wp-block-list\" id=\"block-a60a47f5-efbe-4524-abd2-43937db0f8f6\">\n<li>Reduces code boilerplate by removing the <code>ion-item <\/code>and <code>ion-label<\/code> requirements.<\/li>\n\n\n\n<li>Improves compatibility with assistive technologies by ensuring the form control is associated with a label.<\/li>\n\n\n\n<li>Enhances the developer experience by clarifying the intent of form component APIs.<\/li>\n<\/ol>\n\n\n\n<p id=\"block-16a1b4e4-1174-42d5-9bf9-daa0a6ebd50f\"><strong>Before<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-item fill=\u201doutline\u201d&gt; \n  &lt;ion-label&gt;Email:&lt;\/ion-label&gt; \n  &lt;ion-input placeholder=\u201dhi@ionic.io\u201d&gt;&lt;\/ion-input&gt; \n  &lt;div slot=\u201dhelper\u201d&gt;Please enter a valid email address&lt;\/div&gt; \n&lt;\/ion-item&gt;<\/code><\/pre>\n\n\n\n<p id=\"block-65db5ecb-41cb-47df-8a5f-03f59915669f\"><strong>After:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-input \n  label=\u201dEmail:\u201d \n  placeholder=\u201dhi@ionic.io\u201d \n  fill=\u201doutline\u201d \n  helper-text=\u201dPlease enter a valid email address\u201d \n&gt;&lt;\/ion-input&gt;<\/code><\/pre>\n\n\n\n<p id=\"block-a889e539-92a9-4390-9788-743272ce9cf7\">These changes have been added in a backward-compatible way meaning developers do not need to migrate to this new syntax to upgrade to Ionic 7. Developers are also able to migrate these components one at a time. The documentation for each form component has been updated with new playgrounds and migration guides:<\/p>\n\n\n\n<p id=\"block-af34a9ef-afd6-41b4-8bac-717bfb216461\"><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/checkbox\">Checkbox<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/input\">Input<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/radio\">Radio<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/range\">Range<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/select\">Select<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/v7\/api\/textarea\">Textarea<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"performance-improvements\">Performance Improvements<\/h2>\n\n\n\n<p id=\"block-62758bf0-e248-4753-8193-7d2f1ba63c53\">Ionic 7 significantly improves the performance of Tabs. In Ionic React and Ionic Vue, developers can expect a performance improvement of up to 70% when switching tabs.<\/p>\n\n\n\n<p id=\"block-63353dbb-7bf9-47dd-a880-eed433deb396\">Ionic Angular developers can expect improved Ionic component initialization times thanks to optimizations in Stencil!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"vite-compatibility\">Improved Vite Compatibility<\/h2>\n\n\n\n<p id=\"block-b0ce65d5-93fe-4e69-8164-b67a5dfa3c61\">Ionic 7 removes the Common JS entry points for Ionic React and Ionic Vue to make each package easier to use with Vite and Vitest.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ion-slides-removal\"><code>ion-slides<\/code> Removal<\/h2>\n\n\n\n<p id=\"block-dd393928-1b9d-4c9a-9f07-f7a3cb03fd5d\">The <code>ion-slides<\/code> and <code>ion-slide<\/code> components have been removed in favor of using Swiper.js directly. This change gives developers access to the latest version of Swiper, including all the great features this library has to offer.<\/p>\n\n\n\n<p id=\"block-c1057d75-a5e6-4e74-99c7-6727f2697742\">Migration guides are available for each supported JavaScript Framework:<\/p>\n\n\n\n<p id=\"block-67d81ce8-277c-45ba-adca-b9983b86c95c\"><a href=\"https:\/\/ionicframework.com\/docs\/angular\/slides\">Angular<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/react\/slides\">React<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/vue\/slides\">Vue<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ion-virtual-scroll-removal\"><code>ion-virtual-scroll<\/code> Removal<\/h2>\n\n\n\n<p id=\"block-b73a1d59-aaa4-4565-a82b-2e4e9abd22e4\">The <code>ion-virtual-scroll<\/code> component has been removed in favor of using solutions provided by each JavaScript Framework. This change enables all Ionic developers to use virtual scrolling in their Ionic applications.<\/p>\n\n\n\n<p id=\"block-69429b8a-f1f8-49c0-ab47-db0217b158c8\">Migration guides are available for each supported JavaScript Framework:<\/p>\n\n\n\n<p id=\"block-98ff43a4-f117-462b-8301-72417dbff0f5\"><a href=\"https:\/\/ionicframework.com\/docs\/angular\/virtual-scroll\">Angular<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/react\/virtual-scroll\">React<\/a><br><a href=\"https:\/\/ionicframework.com\/docs\/vue\/virtual-scroll\">Vue<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Updated Documentation<\/h2>\n\n\n\n<p>The Ionic Docs have been updated with the latest usage examples: <a href=\"https:\/\/ionicframework.com\/docs\">https:\/\/ionicframework.com\/docs<\/a><\/p>\n\n\n\n<p>We have also added a new \u201cUpgrade Guides\u201d section in the sidebar for developers updating from older versions of Ionic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Starter Applications Tooling<\/h2>\n\n\n\n<p>With the release of the new Ionic CLI v7, all new Ionic React and Ionic Vue starter applications will use Vite. This tooling replaces the Vue CLI and Create React App tools used in previous starter applications. Since this change only impacts new Ionic apps created with Ionic CLI v7, developers can continue to use the Vue CLI and Create React App tools in their existing Ionic apps.<\/p>\n\n\n\n<p>Be on the lookout for a blog post with more information about Ionic CLI v7 soon!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Getting Started<\/h2>\n\n\n\n<p>Developers can follow the <a href=\"https:\/\/ionicframework.com\/docs\/updating\/7-0\">Ionic 7 Migration Guide<\/a> to update their existing Ionic 6 apps.<\/p>\n\n\n\n<p>Looking to start with a brand new Ionic 7 app? <a href=\"https:\/\/ionicframework.com\/start#basics\">Try our app creation wizard<\/a>!<\/p>\n\n\n\n<p>Please report any issues you encounter <a href=\"https:\/\/github.com\/ionic-team\/ionic-framework\/issues\/new\/choose\">on our GitHub repo<\/a>.<\/p>\n\n\n\n<p>Thank you to everyone who tested or provided feedback during the Ionic 7 beta process. Thanks to you, we have a great product that\u2019s sure to make development easier than ever. Stay tuned, as we have many more great improvements planned for Ionic in 2023!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community. Thanks to all of your contributions and the hard work of our team, we\u2019re thrilled to officially bring Ionic 7 to market. Here&#8217;s what&#8217;s new [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":5057,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"1","publish_post_category":"12","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"561340","discourse_permalink":"http:\/\/forum.ionicframework.com\/t\/ionic-7-is-here\/232165","wpdc_publishing_response":"success","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[120],"tags":[23,268,98],"class_list":["post-5052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","tag-framework","tag-ionic-7","tag-release"],"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>Ionic 7 is here! - Ionic Blog<\/title>\n<meta name=\"description\" content=\"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.\" \/>\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\/ionic-7-is-here\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic 7 is here!\" \/>\n<meta property=\"og:description\" content=\"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/ionic-7-is-here\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-29T21:52:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-31T17:05:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2240\" \/>\n\t<meta property=\"og:image:height\" content=\"1120\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Liam DeBeasi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@LiamDeBeasi\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Liam DeBeasi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here\"},\"author\":{\"name\":\"Liam DeBeasi\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/d314e583cf08e7a28c51e8ffc3d621fa\"},\"headline\":\"Ionic 7 is here!\",\"datePublished\":\"2023-03-29T21:52:24+00:00\",\"dateModified\":\"2023-03-31T17:05:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here\"},\"wordCount\":771,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png\",\"keywords\":[\"Framework\",\"Ionic 7\",\"release\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-7-is-here#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here\",\"url\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here\",\"name\":\"Ionic 7 is here! - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png\",\"datePublished\":\"2023-03-29T21:52:24+00:00\",\"dateModified\":\"2023-03-31T17:05:23+00:00\",\"description\":\"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-7-is-here\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png\",\"width\":2240,\"height\":1120},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-7-is-here#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic 7 is 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\/d314e583cf08e7a28c51e8ffc3d621fa\",\"name\":\"Liam DeBeasi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/01\/ZNK4lRAJ_400x400-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/01\/ZNK4lRAJ_400x400-150x150.jpg\",\"caption\":\"Liam DeBeasi\"},\"sameAs\":[\"https:\/\/x.com\/LiamDeBeasi\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/liam\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ionic 7 is here! - Ionic Blog","description":"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.","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\/ionic-7-is-here","og_locale":"en_US","og_type":"article","og_title":"Ionic 7 is here!","og_description":"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.","og_url":"https:\/\/ionic.io\/blog\/ionic-7-is-here","og_site_name":"Ionic Blog","article_published_time":"2023-03-29T21:52:24+00:00","article_modified_time":"2023-03-31T17:05:23+00:00","og_image":[{"width":2240,"height":1120,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","type":"image\/png"}],"author":"Liam DeBeasi","twitter_card":"summary_large_image","twitter_creator":"@LiamDeBeasi","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Liam DeBeasi","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here"},"author":{"name":"Liam DeBeasi","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/d314e583cf08e7a28c51e8ffc3d621fa"},"headline":"Ionic 7 is here!","datePublished":"2023-03-29T21:52:24+00:00","dateModified":"2023-03-31T17:05:23+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here"},"wordCount":771,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","keywords":["Framework","Ionic 7","release"],"articleSection":["Announcements"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/ionic-7-is-here#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here","url":"https:\/\/ionic.io\/blog\/ionic-7-is-here","name":"Ionic 7 is here! - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","datePublished":"2023-03-29T21:52:24+00:00","dateModified":"2023-03-31T17:05:23+00:00","description":"Today, we are excited to announce the release of Ionic 7! This stable release of Ionic comes after several betas and release candidates with improvements suggested by the Ionic community.","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/ionic-7-is-here"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","width":2240,"height":1120},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/ionic-7-is-here#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Ionic 7 is 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\/d314e583cf08e7a28c51e8ffc3d621fa","name":"Liam DeBeasi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/01\/ZNK4lRAJ_400x400-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/01\/ZNK4lRAJ_400x400-150x150.jpg","caption":"Liam DeBeasi"},"sameAs":["https:\/\/x.com\/LiamDeBeasi"],"url":"https:\/\/ionic.io\/blog\/author\/liam"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/ionic7-feature-image.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5052","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\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=5052"}],"version-history":[{"count":17,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5052\/revisions"}],"predecessor-version":[{"id":5085,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5052\/revisions\/5085"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/5057"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=5052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=5052"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=5052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}