[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-bytecode-alliance-component-model-1-0-path-en":3,"article-related-bytecode-alliance-component-model-1-0-path-en":35,"series-industry-9bf64e60-0aa2-42e2-819a-caf1bdf84283":88},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":27,"views":31,"created_at":32,"published_at":33,"topic_cluster_id":34},"9bf64e60-0aa2-42e2-819a-caf1bdf84283","bytecode-alliance-component-model-1-0-path-en","Bytecode Alliance maps the Component Model 1.0 path","\u003Cp data-speakable=\"summary\">The Bytecode Alliance outlines five workstreams needed to ship a stable Component Model 1.0.\u003C\u002Fp>\n\u003Cp>WASI P3 is close, and this roadmap shows what still has to land before Component Model 1.0 can be called stable: five workstreams, one browser target, and a compatibility plan built around existing P1 and P2 deployments.\u003C\u002Fp>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Item\u003C\u002Fth>\u003Cth>What changes\u003C\u002Fth>\u003Cth>Why it matters\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>ABI improvements\u003C\u002Ftd>\u003Ctd>Lazy values, multivalue returns, error context\u003C\u002Ftd>\u003Ctd>Less copying and better sync-call performance\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Browser path\u003C\u002Ftd>\u003Ctd>Native support in at least two engines\u003C\u002Ftd>\u003Ctd>Performance and broader adoption signals\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Implementation ease\u003C\u002Ftd>\u003Ctd>Simpler spec plus guest and host C ABIs\u003C\u002Ftd>\u003Ctd>Lower the cost of building support\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Ecosystem growth\u003C\u002Ftd>\u003Ctd>Docs, language support, tooling, debugging\u003C\u002Ftd>\u003Ctd>Make the stack usable in practice\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Expressivity gaps\u003C\u002Ftd>\u003Ctd>WIT features like optional imports\u003C\u002Ftd>\u003Ctd>Close real-world API design gaps\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Ch2>1. ABI improvements\u003C\u002Fh2>\n\u003Cp>The biggest technical change in the roadmap is the ABI itself. Today, components rely on \u003Ccode>cabi_realloc\u003C\u002Fcode> and host-driven allocation, which works but creates friction around fragmentation, failure handling, and extra calls for values like string lists.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781194681309-cu22.png\" alt=\"Bytecode Alliance maps the Component Model 1.0 path\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\n\u003Cp>The planned replacement is a lazy value model: the callee returns opaque handles, and the caller materializes them only when needed. That should reduce copying, support zero-copy forwarding, and move some string handling out of the engine and into guest code.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Opt-in lazy ABI in a 0.3.x release\u003C\u002Fli>\n\u003Cli>Adapter support for old eager components\u003C\u002Fli>\n\u003Cli>Multivalue returns at the C ABI level\u003C\u002Fli>\n\u003Cli>Error context attached to failures\u003C\u002Fli>\n\u003Cli>Separate GC ABI option for GC-based languages\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>There is also a performance target tied to this work: zero overhead for synchronous component-to-component calls. Current async task machinery adds overhead even on sync paths, so the plan is to make synchronous adapters cheaper after WASI P3 ships.\u003C\u002Fp>\n\u003Ch2>2. The browser path\u003C\u002Fh2>\n\u003Cp>Component Model 1.0 needs native implementation in at least two browser engines. Today, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fjco\">jco\u003C\u002Fa> can transpile components into core Wasm plus JavaScript glue, so components already run in browsers without native support.\u003C\u002Fp>\n\u003Cp>Native support still matters because it can cut out the glue layer and improve real workloads. Mozilla’s experiments on DOM-heavy Wasm code point to nearly 2x speedups in some cases, and the browser vendors are paying attention through telemetry and active evaluation.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fjco\">jco\u003C\u002Fa> emits a “use components” signal for telemetry\u003C\u002Fli>\n\u003Cli>Mozilla has shared performance results with the WebAssembly CG\u003C\u002Fli>\n\u003Cli>Chrome’s V8 team has opened an evaluation issue\u003C\u002Fli>\n\u003Cli>Native support would help browser and non-browser Wasm adoption\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The browser story is not just about speed. It also creates proof that the model fits real web workloads, which in turn gives language and framework teams a reason to support it upstream.\u003C\u002Fp>\n\u003Ch2>3. Making implementation easier\u003C\u002Fh2>\n\u003Cp>The roadmap also tries to shrink the work required to implement the spec. One move is to keep only the “good parts” of the current P3 spec in 1.0, instead of forcing implementers to carry every transitional detail forward.\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781194673884-38wu.png\" alt=\"Bytecode Alliance maps the Component Model 1.0 path\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\n\u003Cp>Another move is to define guest and host C ABIs, generated from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fwit-bindgen\">wit-bindgen\u003C\u002Fa>. Guest toolchains can target a core Wasm module, then package it as a component; host runtimes can use a simpler entry point instead of reimplementing the full spec from scratch.\u003C\u002Fp>\n\u003Ccode>guest -> core wasm -> wasm-component-ld -> component\nhost runtime -> generated host C ABI -> component\u003C\u002Fcode>\n\u003Cp>A proposed tool called \u003Ccode>lower-components\u003C\u002Fcode> would also “smash” multi-module components into a single core Wasm module with the same behavior. That gives runtime authors another path to support the model without starting from the hardest possible implementation.\u003C\u002Fp>\n\u003Ch2>4. Growing the ecosystem\u003C\u002Fh2>\n\u003Cp>Even a clean spec will not matter if developers cannot use it. So the roadmap includes a sustained push on docs, language support, and tooling. The goal is to make Component Model workflows feel normal across languages, not just in a few experimental projects.\u003C\u002Fp>\n\u003Cp>Some of that work is already visible in the ecosystem. \u003Ca href=\"\u002Ftag\u002Frust\">Rust\u003C\u002Fa>, Tokio, LLVM, and CPython have early steps underway, while tools like \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fjco\">jco\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fwac\">wac\u003C\u002Fa>, and \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fbytecodealliance\u002Fwkg\">wkg\u003C\u002Fa> cover browser glue, composition, and package publishing.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>More tutorials and reference docs for each language\u003C\u002Fli>\n\u003Cli>Upstream P3 support in major language ecosystems\u003C\u002Fli>\n\u003Cli>Composition and registry tooling for components\u003C\u002Fli>\n\u003Cli>Record\u002Freplay debugging using WAVE traces\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Yan Chen’s demo is a good example of where the ecosystem could go next: instrumented components can record WIT-level calls, replay them later, and even edit traces by hand. That kind of debugging is hard to get in shared-state systems and much easier in a shared-nothing model.\u003C\u002Fp>\n\u003Ch2>5. Closing expressivity gaps\u003C\u002Fh2>\n\u003Cp>The last workstream is about WIT, the interface language that describes what components import and export. Real users have already found places where the language needs more expressive power, so 1.0 has to address those gaps instead of freezing them in place.\u003C\u002Fp>\n\u003Cp>One example is optional imports, which let a component declare that it can work with a minimal host world and only use extra capabilities when they exist. That matters for libraries and portable apps that should not hard-code every possible system service.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Optional imports for capability-aware components\u003C\u002Fli>\n\u003Cli>More WIT features based on real usage\u003C\u002Fli>\n\u003Cli>Better support for portable standard libraries\u003C\u002Fli>\n\u003Cli>Cleaner API design across hosts with different capabilities\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is the quiet part of the roadmap, but it shapes how pleasant the model will be to use. If WIT is too rigid, the whole stack becomes harder to adopt; if it grows in the right places, components can stay portable without giving up useful host integration.\u003C\u002Fp>\n\u003Ch2>How to decide\u003C\u002Fh2>\n\u003Cp>If you are a runtime or compiler engineer, start with ABI improvements and implementation-easing work. If you are building browser integrations, the browser path is the signal to watch. If you ship libraries, tooling, or docs, the ecosystem section is where the adoption story will be won.\u003C\u002Fp>\n\u003Cp>For most readers, the key point is simple: Component Model 1.0 is not a single feature drop. It is a coordinated set of changes that aims to keep today’s components working while making the next generation easier to build, faster to run, and simpler to ship.\u003C\u002Fp>","5 milestones show how the Bytecode Alliance plans a stable Component Model 1.0, with browser support, ABI fixes, and toolchain updates.","bytecodealliance.org","https:\u002F\u002Fbytecodealliance.org\u002Farticles\u002Fthe-road-to-component-model-1-0",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781194681309-cu22.png","industry","en","456627b0-19d4-4c2e-acba-c163d6019e12",[17,18,19,20,21,22,23,24,25,26],"WebAssembly","Component Model","WASI","Bytecode Alliance","browser support","ABI","WIT","jco","wac","wkg",[28,29,30],"ABI changes are the main technical step toward 1.0, with lazy values and multivalue returns.","Browser support matters because native engine adoption can improve performance and prove demand.","Tooling, docs, and WIT features are part of the 1.0 plan, not afterthoughts.",1,"2026-06-11T16:17:30.833761+00:00","2026-06-11T16:17:30.827+00:00","d19fc184-5852-4c4d-9ec0-db0c4841ac17",{"tags":36,"relatedLang":47,"relatedPosts":51},[37,39,41,43,45],{"name":20,"slug":38},"bytecode-alliance",{"name":21,"slug":40},"browser-support",{"name":19,"slug":42},"wasi",{"name":17,"slug":44},"webassembly",{"name":18,"slug":46},"component-model",{"id":15,"slug":48,"title":49,"language":50},"bytecode-alliance-component-model-1-0-path-zh","Bytecode Alliance 5 大路線推進 Component Mod…","zh",[52,58,64,70,76,82],{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":13},"109dc142-b931-4aec-b03c-351aeb233191","visa-secure-payments-chatgpt-shopping-en","Visa brings secure payments into ChatGPT shopping","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781256779509-yqip.png","2026-06-12T09:32:28.269499+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":13},"54ad5b05-4b35-4372-a139-8e1d8b3e8429","latam-stablecoin-engineering-hub-hire-en","LATAM Is Already the Best Place to Hire Stablecoin Engineers","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781244176647-qglf.png","2026-06-12T06:02:23.230301+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":13},"4258cfe5-3a83-4abf-a249-b4802649799a","anthropic-policy-50b-computing-infrastructure-en","Anthropic policy page backs $50B AI buildout","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781240585742-w3sj.png","2026-06-12T05:02:26.984259+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":13},"b6fd377c-884e-4788-8a58-b1b31e61735d","mlops-vs-ml-engineer-self-taught-career-guide-en","MLOps vs ML Engineer Self-Taught Career Guide","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781239678595-idjf.png","2026-06-12T04:47:28.816436+00:00",{"id":77,"slug":78,"title":79,"cover_image":80,"image_url":80,"created_at":81,"category":13},"69039f19-ac2c-433b-9c06-fef7188f89a1","liveramp-turns-chatgpt-ads-into-sales-proof-en","LiveRamp turns ChatGPT ads into sales proof","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781237005857-s292.png","2026-06-12T04:02:52.027145+00:00",{"id":83,"slug":84,"title":85,"cover_image":86,"image_url":86,"created_at":87,"category":13},"49428266-11b0-41e0-a77c-e49c6bf6a867","midjourney-software-first-not-hardware-theater-en","Midjourney should stay software-first, not chase hardware theater","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781228868400-y1z1.png","2026-06-12T01:47:17.778867+00:00",[89,94,99,104,109,114,119,124,129,134],{"id":90,"slug":91,"title":92,"created_at":93},"d35a1bd9-e709-412e-a2df-392df1dc572a","ai-impact-2026-developments-market-en","AI's Impact in 2026: Key Developments and Market Shifts","2026-03-25T16:20:33.205823+00:00",{"id":95,"slug":96,"title":97,"created_at":98},"5ed27921-5fd6-492e-8c59-78393bf37710","trumps-ai-legislative-framework-en","Trump's AI Legislative Framework: What's Inside?","2026-03-25T16:22:20.005325+00:00",{"id":100,"slug":101,"title":102,"created_at":103},"e454a642-f03c-4794-b185-5f651aebbaca","nvidia-gtc-2026-key-highlights-innovations-en","NVIDIA GTC 2026: Key Highlights and Innovations","2026-03-25T16:22:47.882615+00:00",{"id":105,"slug":106,"title":107,"created_at":108},"0ebb5b16-774a-4922-945d-5f2ce1df5a6d","claude-usage-diversifies-learning-curves-en","Claude Usage Diversifies, Learning Curves Emerge","2026-03-25T16:25:50.770376+00:00",{"id":110,"slug":111,"title":112,"created_at":113},"69934e86-2fc5-4280-8223-7b917a48ace8","openclaw-ai-commoditization-concerns-en","OpenClaw's Rise Raises Concerns of AI Model Commoditization","2026-03-25T16:26:30.582047+00:00",{"id":115,"slug":116,"title":117,"created_at":118},"b4b2575b-2ac8-46b2-b90e-ab1d7c060797","google-gemini-ai-rollout-2026-en","Google's Gemini AI Rollout Extended to 2026","2026-03-25T16:28:14.808842+00:00",{"id":120,"slug":121,"title":122,"created_at":123},"6e18bc65-42ae-4ad0-b564-67d7f66b979e","meta-llama4-fabricated-results-scandal-en","Meta's Llama 4 Scandal: Fabricated AI Test Results Unveiled","2026-03-25T16:29:15.482836+00:00",{"id":125,"slug":126,"title":127,"created_at":128},"bf888e9d-08be-4f47-996c-7b24b5ab3500","accenture-mistral-ai-deployment-en","Accenture and Mistral AI Team Up for AI Deployment","2026-03-25T16:31:01.894655+00:00",{"id":130,"slug":131,"title":132,"created_at":133},"5382b536-fad2-49c6-ac85-9eb2bae49f35","mistral-ai-high-stakes-2026-en","Mistral AI: Facing High Stakes in 2026","2026-03-25T16:31:39.941974+00:00",{"id":135,"slug":136,"title":137,"created_at":138},"9da3d2d6-b669-4971-ba1d-17fdb3548ed5","cursors-meteoric-rise-pressures-en","Cursor's Meteoric Rise Faces Industry Pressures","2026-03-25T16:32:21.899217+00:00"]