{"id":3981,"date":"2021-12-15T16:36:36","date_gmt":"2021-12-15T16:36:36","guid":{"rendered":"https:\/\/ionicframework.com\/blog\/?p=3981"},"modified":"2023-01-21T00:31:15","modified_gmt":"2023-01-21T05:31:15","slug":"announcing-stencil-v2-12","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12","title":{"rendered":"Announcing Stencil v2.12"},"content":{"rendered":"<p>2021 is coming to an end, but we couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with new improvements ranging from the Stencil CLI, to testing implementations, to error callstacks. Check out what we\u2019ve been working on.<\/p>\n<p><!--more--><\/p>\n<p>In case you missed it, we will be deprecating the <code>dist-custom-elements-bundle<\/code> output target in favor of the <code>dist-custom-elements<\/code> output target. This deprecation won\u2019t take effect until the next <strong>major<\/strong> release of Stencil, but in the meantime we\u2019ve added a CLI deprecation warning message for users of <code>dist-custom-elements-bundle<\/code>. We\u2019ve updated the <a href=\"https:\/\/stenciljs.com\/docs\/custom-elements-bundle\">docs<\/a> to reflect this as well.<\/p>\n<p>Speaking of CLI updates, Stencil v2.12 also comes with a small improvement to our CLI messaging. While you could always see all of the Stencil CLI options with the command <code>npx stencil --help<\/code>, now those options are also available when you run the command <code>npx stencil<\/code>.<\/p>\n<p>Stencil v2.12 is not without its fair share of squashed bugs as well. With the help of <a href=\"https:\/\/github.com\/kevinleedrum\">kevinleedrum<\/a>, we\u2019ve fixed a small bug related to the implementation of the <code>Node.contains<\/code> method. Now, when this method is passed the parent\/context node, it returns <code>true<\/code> as per the <a href=\"https:\/\/dom.spec.whatwg.org\/#dom-node-contains\">specifications<\/a>. We\u2019ve also implemented a bug fix that ensures that error callstacks point to the exact line of code causing the error. Huge shoutouts to <a href=\"https:\/\/github.com\/smndhm\">smndhm<\/a>, <a href=\"https:\/\/github.com\/paladin80\">paladin80<\/a>, and <a href=\"https:\/\/github.com\/johnjenkins\">johnjenkins<\/a> for their help on this issue.<\/p>\n<p>We hope you enjoy these updates and we are looking forward to bringing you more updates in 2022. Until then, <a href=\"https:\/\/github.com\/ionic-team\/stencil\/releases\/tag\/v2.12.0\">happy coding!<\/a> \ud83d\ude00<\/p>\n","protected":false},"excerpt":{"rendered":"<p>2021 is coming to an end, but we couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with new improvements ranging from the Stencil CLI, to testing implementations, to error callstacks. Check out what we\u2019ve been working on.<\/p>\n","protected":false},"author":87,"featured_media":3982,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"1","publish_post_category":"21","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"538647","discourse_permalink":"https:\/\/forum.ionicframework.com\/t\/announcing-stencil-v2-12\/218438","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[120,223],"tags":[76],"class_list":["post-3981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-stencil","tag-stencil"],"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>Announcing Stencil v2.12 - Ionic Blog<\/title>\n<meta name=\"description\" content=\"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.\" \/>\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\/announcing-stencil-v2-12\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing Stencil v2.12\" \/>\n<meta property=\"og:description\" content=\"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-15T16:36:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-21T05:31:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"880\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anthony Giuliano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@a__giuliano\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anthony Giuliano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\"},\"author\":{\"name\":\"Anthony Giuliano\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58\"},\"headline\":\"Announcing Stencil v2.12\",\"datePublished\":\"2021-12-15T16:36:36+00:00\",\"dateModified\":\"2023-01-21T05:31:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\"},\"wordCount\":250,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png\",\"keywords\":[\"stencil\"],\"articleSection\":[\"Announcements\",\"Stencil\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\",\"url\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\",\"name\":\"Announcing Stencil v2.12 - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png\",\"datePublished\":\"2021-12-15T16:36:36+00:00\",\"dateModified\":\"2023-01-21T05:31:15+00:00\",\"description\":\"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png\",\"width\":1600,\"height\":880,\"caption\":\"Stencil v2.12\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Stencil v2.12\"}]},{\"@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\/a3190e4d49187220d0c720f2ceab9b58\",\"name\":\"Anthony Giuliano\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg\",\"caption\":\"Anthony Giuliano\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/anthonygiuliano1\/\",\"https:\/\/x.com\/a__giuliano\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/anthonyionic-io\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing Stencil v2.12 - Ionic Blog","description":"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.","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\/announcing-stencil-v2-12","og_locale":"en_US","og_type":"article","og_title":"Announcing Stencil v2.12","og_description":"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.","og_url":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12","og_site_name":"Ionic Blog","article_published_time":"2021-12-15T16:36:36+00:00","article_modified_time":"2023-01-21T05:31:15+00:00","og_image":[{"width":1600,"height":880,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","type":"image\/png"}],"author":"Anthony Giuliano","twitter_card":"summary_large_image","twitter_creator":"@a__giuliano","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Anthony Giuliano","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12"},"author":{"name":"Anthony Giuliano","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/a3190e4d49187220d0c720f2ceab9b58"},"headline":"Announcing Stencil v2.12","datePublished":"2021-12-15T16:36:36+00:00","dateModified":"2023-01-21T05:31:15+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12"},"wordCount":250,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","keywords":["stencil"],"articleSection":["Announcements","Stencil"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12","url":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12","name":"Announcing Stencil v2.12 - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","datePublished":"2021-12-15T16:36:36+00:00","dateModified":"2023-01-21T05:31:15+00:00","description":"We couldn\u2019t close out the year without one more Stencil minor release! Stencil v2.12 is here and comes with many new improvements.","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/announcing-stencil-v2-12"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","width":1600,"height":880,"caption":"Stencil v2.12"},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/announcing-stencil-v2-12#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Announcing Stencil v2.12"}]},{"@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\/a3190e4d49187220d0c720f2ceab9b58","name":"Anthony Giuliano","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/10\/anthony-giuliano-profile-cropped-150x150.jpeg","caption":"Anthony Giuliano"},"sameAs":["https:\/\/www.linkedin.com\/in\/anthonygiuliano1\/","https:\/\/x.com\/a__giuliano"],"url":"https:\/\/ionic.io\/blog\/author\/anthonyionic-io"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/12\/stencil212-feature-image.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3981","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\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=3981"}],"version-history":[{"count":1,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3981\/revisions"}],"predecessor-version":[{"id":4709,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/3981\/revisions\/4709"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/3982"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=3981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=3981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=3981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}