{"id":1343,"date":"2026-06-10T18:00:00","date_gmt":"2026-06-10T17:00:00","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=1343"},"modified":"2026-06-16T13:33:48","modified_gmt":"2026-06-16T13:33:48","slug":"jetpack-compose-1-11-testing-changes-deserve-attention","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/","title":{"rendered":"Jetpack Compose 1.11 Testing Changes Deserve Attention"},"content":{"rendered":"<p>Jetpack Compose 1.11 has plenty of visible UI improvements, but the testing change is the one I would put on an Android team&#8217;s upgrade checklist. Test timing assumptions are exactly the kind of thing that can turn a normal dependency bump into a confusing afternoon.<\/p>\n<p>Google&#8217;s <a href=\"https:\/\/developer.android.com\/blog\/posts\/whats-new-in-the-jetpack-compose-april-26-release\">April 2026 Compose release post<\/a> says version 1.11 makes the v2 testing APIs the default and deprecates the v1 APIs. The important behavioural change is the dispatcher: tests move from immediate coroutine execution with <code>UnconfinedTestDispatcher<\/code> toward queued execution with <code>StandardTestDispatcher<\/code>, where virtual time has to advance.<\/p>\n<p>That is probably healthier long term. It better resembles production timing and can flush out race conditions that older tests accidentally hid. But in the short term, I would expect some tests to fail because the test was depending on immediate execution rather than a real observable state change.<\/p>\n<p>I would not treat this as a random flaky-test cleanup. Put it in the upgrade plan, read the migration guidance, and fix the assumptions deliberately. Compose test suites are valuable because they catch UI behaviour regressions. They are less valuable if nobody understands why they pass.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jetpack Compose 1.11&#8217;s testing changes are worth planning for because timing assumptions can quietly break mobile test suites.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[13,17],"tags":[164,180,87,181],"class_list":["post-1343","post","type-post","status-publish","format-standard","hentry","category-programming","category-software","tag-android","tag-jetpack-compose","tag-mobile","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one\" \/>\n<meta property=\"og:description\" content=\"Jetpack Compose 1.11&#039;s testing changes are worth planning for because timing assumptions can quietly break mobile test suites.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-10T17:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-16T13:33:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1518\" \/>\n\t<meta property=\"og:image:height\" content=\"1506\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/\"},\"author\":{\"name\":\"Wade\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\"},\"headline\":\"Jetpack Compose 1.11 Testing Changes Deserve Attention\",\"datePublished\":\"2026-06-10T17:00:00+00:00\",\"dateModified\":\"2026-06-16T13:33:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/\"},\"wordCount\":190,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"keywords\":[\"android\",\"jetpack-compose\",\"mobile\",\"testing\"],\"articleSection\":[\"Programming\",\"Software\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/\",\"name\":\"Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"datePublished\":\"2026-06-10T17:00:00+00:00\",\"dateModified\":\"2026-06-16T13:33:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2026\\\/06\\\/10\\\/jetpack-compose-1-11-testing-changes-deserve-attention\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jetpack Compose 1.11 Testing Changes Deserve Attention\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\",\"name\":\"Wade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"caption\":\"Wade\"},\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/author\\\/wade\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one","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:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/","og_locale":"en_GB","og_type":"article","og_title":"Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one","og_description":"Jetpack Compose 1.11's testing changes are worth planning for because timing assumptions can quietly break mobile test suites.","og_url":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/","og_site_name":"wade.one","article_published_time":"2026-06-10T17:00:00+00:00","article_modified_time":"2026-06-16T13:33:48+00:00","og_image":[{"width":1518,"height":1506,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/Wade-Logo-cropped.png","type":"image\/png"}],"author":"Wade","twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Written by":"Wade","Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/"},"author":{"name":"Wade","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de"},"headline":"Jetpack Compose 1.11 Testing Changes Deserve Attention","datePublished":"2026-06-10T17:00:00+00:00","dateModified":"2026-06-16T13:33:48+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/"},"wordCount":190,"commentCount":0,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"keywords":["android","jetpack-compose","mobile","testing"],"articleSection":["Programming","Software"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/","url":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/","name":"Jetpack Compose 1.11 Testing Changes Deserve Attention - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"datePublished":"2026-06-10T17:00:00+00:00","dateModified":"2026-06-16T13:33:48+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2026\/06\/10\/jetpack-compose-1-11-testing-changes-deserve-attention\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"Jetpack Compose 1.11 Testing Changes Deserve Attention"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}},{"@type":"Person","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de","name":"Wade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","caption":"Wade"},"url":"https:\/\/wade.one\/blog\/author\/wade\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1341,"url":"https:\/\/wade.one\/blog\/2026\/06\/08\/android-studio-gemma-4-is-really-about-local-agent-trust\/","url_meta":{"origin":1343,"position":0},"title":"Android Studio Gemma 4 Is Really About Local Agent Trust","author":"Wade","date":"June 8, 2026","format":false,"excerpt":"Android Studio's Gemma 4 support matters because local coding agents change the trust model for mobile teams.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":521,"url":"https:\/\/wade.one\/blog\/2011\/03\/04\/using-ssl-in-restclient\/","url_meta":{"origin":1343,"position":1},"title":"Using SSL in RestClient","author":"Wade","date":"March 4, 2011","format":false,"excerpt":"UPDATE 14\/07\/2012: The author of the client has released version 2.5 a short while ago and also a video for using self-signed certificates in the client. RESTClient is a great little CLI and GUI tool for testing your REST API. I recently pushed a new API up in the office\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1172,"url":"https:\/\/wade.one\/blog\/2026\/04\/05\/what-makes-an-api-feel-nice-to-work-with\/","url_meta":{"origin":1343,"position":2},"title":"What Makes an API Feel Nice to Work With","author":"Wade","date":"April 5, 2026","format":false,"excerpt":"A good API is not just functional. It is predictable, consistent, and easy to use without a lot of guesswork.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1305,"url":"https:\/\/wade.one\/blog\/2026\/05\/17\/ai-coding-agents-need-better-configuration-not-just-better-models\/","url_meta":{"origin":1343,"position":3},"title":"AI Coding Agents Need Better Configuration, Not Just Better Models","author":"","date":"May 17, 2026","format":false,"excerpt":"The next gains from AI coding agents will come from model improvements and from clearer repo instructions, permissions, tests, and workflows.","rel":"","context":"In &quot;AI&quot;","block_context":{"text":"AI","link":"https:\/\/wade.one\/blog\/category\/ai\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1296,"url":"https:\/\/wade.one\/blog\/2026\/05\/08\/php-8-5s-uri-extension-fixes-a-real-web-problem\/","url_meta":{"origin":1343,"position":4},"title":"PHP 8.5&#8217;s URI Extension Fixes a Real Web Problem","author":"","date":"May 8, 2026","format":false,"excerpt":"PHP 8.5's new URI extension is not flashy, but it gives PHP a better built-in answer for parsing modern URLs.","rel":"","context":"In &quot;PHP&quot;","block_context":{"text":"PHP","link":"https:\/\/wade.one\/blog\/category\/php\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1184,"url":"https:\/\/wade.one\/blog\/2026\/04\/16\/how-i-decide-when-an-api-needs-versioning\/","url_meta":{"origin":1343,"position":5},"title":"How I Decide When an API Needs Versioning","author":"","date":"April 16, 2026","format":false,"excerpt":"API versioning is useful when the contract has really changed, not when a team wants a convenient place to hide messy changes. I usually want the compatibility story to be explicit before I reach for a new version.","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=1343"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions"}],"predecessor-version":[{"id":1371,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/1343\/revisions\/1371"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=1343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=1343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=1343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}