<!DOCTYPE html>
<html style="font-family:Helvetica, Arial, sans-serif">
<head style="font-family:Helvetica, Arial, sans-serif">
<!--[if mso]>
<center>
<table><tr><td width="660">
<![endif]-->
<style style="font-family:Helvetica, Arial, sans-serif">.ck-link { text-decoration: underline; }</style>
<style style="font-family:Helvetica, Arial, sans-serif">@media only screen { .email * { word-break: break-word; } }
@media screen and (max-width: 384px) { .mail-message-content { width: 414px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" style="font-family:Helvetica, Arial, sans-serif">
<style>a:hover{color:#1b8ede;border-bottom-color:#1b8ede}
.button:hover{color:#fff;background:#666}</style>
</head>
<body style="font-family:Helvetica, Arial, sans-serif">
<div class="message-content" style="font-size:16px;line-height:1.4em;color:#333333;max-width:660px;margin:8px auto;padding:0 8px;font-family:Helvetica, Arial, sans-serif">
<table cellpadding="0" cellspacing="0" style="font-family:Helvetica, Arial, sans-serif;width:100%;margin:0 auto"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td style="font-family:Helvetica, Arial, sans-serif">
<p style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;text-align:center;font-size:12px" class=""><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/e0hph0u7z20qnqf7u2/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL25ld3NsZXR0ZXI=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879898"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-size:12px">🌐 Read Online </span></a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Hi everyone, <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/owhkhwuwe7rg85iqur/aHR0cHM6Ly94LmNvbS9zZWJhc3RpZW5sb3JiZXI=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879900">Seb</a> and <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/z2hgh7uez83pd5tzu0/aHR0cHM6Ly94LmNvbS9qYXdvcmVrMzIxMQ==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879901">Jan</a> here 👋!</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">It’s a heavy security week, with patches from React and Next.js. Not React-related, but there's also a very bad “php2shell” vulnerability that has just been disclosed. Upgrade now!</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">On mobile, React Native 0.88 is out, switching to the web event model with no breaking changes. Expo SDK 58 ships with tons of features, ready for iOS 27 and iPhone Duo.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Outside React, TypeScript makes the headlines. v7.1 is in beta, with a new API to build devtools upon. A Rust port of the type checker is now backed by Cloudflare/VoidZero, and already faster than the official Go version.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Let's dive in!</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">💸 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">Sponsor</strong></u>
</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><a style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1;border-bottom:none;display:block" href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg7mhru3/aHR0cHM6Ly9naXRodWIuY29tL25vYm9keXdoby1vb28vbm9ib2R5d2hv" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1896879902"><img src="https://thisweekinreact.com/emails/issues/302/nobodywho.png" alt="On-device AI for React & React Native" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></a><figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em"><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg7mhru3/aHR0cHM6Ly9naXRodWIuY29tL25vYm9keXdoby1vb28vbm9ib2R5d2hv" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879902">On-device AI for React & React Native</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">NobodyWho is a library for running LLMs locally & offline on any OS. GPU-accelerated via Vulkan or Metal.</p>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Any LLM</strong>: Gemma, Qwen, Mistral and more in .gguf format</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Type-safe tool calling</strong>: automatically generates structured grammars from your function signatures</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Multimodal input</strong>: provide image and audio information to your LLM</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Text-to-speech</strong>: synthesize local WAV audio with Kokoro, Pocket TTS and Supertonic backends</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Speech-to-text</strong>: transcribe audio into text with Whisper</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Voice Activity Detection</strong>: know when to stop listening and start transcribing with Silero</span></li>
</ul>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Available for <strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">React Native</strong>, <strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Expo</strong>, but also for Flutter, Swift, Kotlin, Python, Godot and in React very soon thanks <strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">WebAssembly</strong>.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Star the</strong><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg7mhru3/aHR0cHM6Ly9naXRodWIuY29tL25vYm9keXdoby1vb28vbm9ib2R5d2hv" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879902"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">repo</strong></a> if NobodyWho is useful to you, it is how people find us ❤️</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">⚛️ </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">React</strong></u>
</h2>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">💸 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/x0hph3uemlw972sgul/aHR0cHM6Ly9nby5wb3N0aG9nLmNvbS90d2lyLW9jdDIx" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879903">build mode - What nobody tells you about writing agent skills</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">🔐 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/6qhehoul4d7n2ea9uk/aHR0cHM6Ly9naXRodWIuY29tL3JlYWN0L3JlYWN0L3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS14cWMyLXhmNGMteDNoMw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879904">React vulnerability - Unauthenticated Remote Code Execution in React Server Components</a> - Patched in React 19.3.1 and the 19.0.9, 19.1.10 and 19.2.9 backports, together with a Server Functions DoS. In Next.js, the RCE affects <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">"use cache"</code> functions returning multiple typed arrays. Upgrade to <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/kkhmh2unp3l69qtku7/aHR0cHM6Ly9uZXh0anMub3JnL2Jsb2cvbmV4dGpzLXNlY3VyaXR5LXVwZGF0ZS1vY3RvYmVyLTE0LTIwMjY=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879905">16.4.1 or 15.5.28</a>, which also fixes a critical RCE in sharp via SVG images.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📅 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/58hvh8ugwzmk9df7u4/aHR0cHM6Ly9sdW1hLmNvbS9nOXE2OTBpMg==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879906">React Foundation Meetup - Nov 11, London</a> - We <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/25h2h9u3xe24oku8u4/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL25ld3NsZXR0ZXIvMzAwI3JlYWN0On46dGV4dD1SZWFjdCUyMEZvdW5kYXRpb24lMjBuZXdz" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879907">recently mentioned</a> a React Foundation contributor summit, invite-only. But there’s also the first official React Foundation public meetup happening the same week at Meta King’s Cross.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">👀 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/qvh8h8ud30ro6khguk/aHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL3B1bGwvOTk4NzE=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879908">Next.js PR - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><Link prefetch="navigation"></code></a> - Adds a way to prefetch past the recently-introduced <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">await navigation()</code> boundaries for links users are likely to click.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">👀 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/g3hnhwum2k36z0t3u9/aHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL2Rldi10b29scy9yZWFjdC1kZXZ0b29scy1jZHQtbWNw" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879909">React docs - React DevTools for agents</a> - The experimental <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">react-devtools-cdt-mcp</code> package is now documented, with a live sandbox. Registers 12 additional React-specific tools with the Chrome DevTools MCP.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/9qhzhdud8lpz28izu3/aHR0cHM6Ly9uZXh0anMub3JnL2Jsb2cvaW1wcm92aW5nLW5hdmlnYXRpb24tZXhwZXJpZW5jZS1pbi12MC13aXRoLW5leHRqcy0xNi00" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879910">Improving navigation experience in v0 with Next.js 16.4</a> - The <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">next-partial-prefetching-optimizer</code> skill helps your agent refactor until an <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">instant()</code> test proves the UI is ready before the click.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/3ohphdu38n74dwcpun/aHR0cHM6Ly9iYXNlLXVpLmNvbS9ibG9nL2J1aWxkaW5nLWEtZmlsdGVyYWJsZS1tZW51" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879911">Building a filterable menu that works for everyone</a> - Adding an input to a menu is easy, making it accessible isn’t. Base UI explains its ARIA choices (dialog, not combobox), keyboard and submenu UX.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/n2hohquv4k36nwc0ug/aHR0cHM6Ly9tYXR0cm90aGVuYmVyZy5jb20vbm90ZXMvcHVyZS11aS1hZ2VudGljLWVyYS8=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879912">Pure UI in the Agentic Era</a> - Practical advice for reviewing agent-written UI: make components pure, pass state as explicit inputs, render every combination as a grid.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/48hvh7um3nr605bqu7/aHR0cHM6Ly9yZWFjdHJvdXRlci5jb20vY2hhbmdlbG9nI3Y4NTA=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879913">React Router 8.5 - Deprecated view transition APIs, unstable API-only mode</a> - Now recommends React 19.3’s <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><ViewTransition></code>, wrapped around an <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><Outlet></code>. The new API-only mode serves prerendered HTML from a CDN, while loaders and actions run on a server that can live on another origin.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/wnh2h6uqd3wxrkslux/aHR0cHM6Ly9naXRodWIuY29tL3BtbmRycy9yZWFjdC10aHJlZS1maWJlci9yZWxlYXNlcy90YWcvdjEwLjAuMC1hbHBoYS42" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879914">React Three Fiber 10.0 alpha 6 - WebGPU renderer by default, better React 19 support</a> - The upcoming major now works with <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><Activity></code> and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><ViewTransition></code>. StrictMode and Fast Refresh no longer rebuild the Canvas.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/reh8h9umpe0wq7u6u6/aHR0cHM6Ly9oeWRyb2dlbi5zaG9waWZ5LmRldi91cGRhdGUvaHlkcm9nZW4tMjAyNi0xMC1ub3ctYXZhaWxhYmxl" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879915">Hydrogen 2026-10</a> - Shopify Hydrogen is now a library, not a framework. Bring Shopify commerce to your existing Next.js or React Router app, with skills for coding agents. Built-in WebMCP support.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/08hwhgu24kdgmwcpu5/aHR0cHM6Ly91aS5zaGFkY24uY29tL2RvY3MvY2hhbmdlbG9nLzIwMjYtMTAtYWktZWxlbWVudHM=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879916">shadcn/ui - AI Elements, Trace and Code Block</a> - 21 copy-paste patterns for agent UIs. They replace Vercel’s AI SDK Elements, which will be deprecated.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/8ghqh3uo8xlqgxclu9/aHR0cHM6Ly92aW5leHQuZGV2L2Jsb2c=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879917">Vinext 1.2 → 1.3 - 69% fewer JS requests per page, 5x faster cold starts, cache key collision fixes</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/vqh3hmuo6dpenkswul/aHR0cHM6Ly9tdXRhdGl2ZS5qcy5vcmcvYmxvZy9yZWxlYXNlcy8yLjA=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879918">Mutative 2.0 - Faster updates, safer patches</a> - Same API, 3.6x faster than Immer on their benchmarks, for a bigger bundle (7.9 vs 3.6 kB).</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/m2h7h6u3x78mo8cluq/aHR0cHM6Ly9naXRodWIuY29tL2ltbWVyanMvaW1tZXIvcmVsZWFzZXMvdGFnL3YxMS4yLjA=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879920">Immer 11.2 - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">isModified()</code> helper</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/dphehmuexm08qeulu4/aHR0cHM6Ly9naXRodWIuY29tL2J2YXVnaG4vcmVhY3Qtd2luZG93L3JlbGVhc2VzL3RhZy8yLjQuMA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879921">React Window 2.4 - Server rendering improvements</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/e0hph0u7z20qkqc7u2/aHR0cHM6Ly9hc3RyeXguYXRtZXRhLmNvbS9ibG9nL2ludHJvZHVjaW5nLWFzdHJ5eC1yaWNodGV4dA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879922">Astryx RichText - Lexical-based rich text field with lossless Markdown</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/7qh7h2u9emow0zc9u6/aHR0cHM6Ly94LmNvbS9kYXZpZGhhei9zdGF0dXMvMjExMDY2MjMxNTk1OTgwMzkwNQ==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879923">React Bits 2.0 - 215 animated React components, rebuilt design tools</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/owhkhwuwe7rg45fqur/aHR0cHM6Ly9jMTV0LmNvbS9jaGFuZ2Vsb2cvMy4wLjA=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879924">c15t v3 - One consent engine for 8 frameworks, banner in the server HTML</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/z2hgh7uez83po5czu0/aHR0cHM6Ly9qdWxlc2Jsb20uY29tL3JlYWN0LXRyZWVz" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879925">React Trees Playground - Paste React code, see its parent and owner trees</a></span></li>
</ul>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">💸 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">Sponsor</strong></u>
</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><a style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1;border-bottom:none;display:block" href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg9msru3/aHR0cHM6Ly9zdXJ2ZXlqcy5pby8_dXRtX3NvdXJjZT10aGlzLXdlZWstaW4tcmVhY3QmdXRtX21lZGl1bT1lbWFpbA==" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1896879926"><img src="https://thisweekinreact.com/emails/issues/293/survey.jpg" alt="Make Forms a Scalable Part of Your React App" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></a><figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em"><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg9msru3/aHR0cHM6Ly9zdXJ2ZXlqcy5pby8_dXRtX3NvdXJjZT10aGlzLXdlZWstaW4tcmVhY3QmdXRtX21lZGl1bT1lbWFpbA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879926">Make Forms a Scalable Part of Your React App</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Product teams need to launch new forms and update existing ones. Developers shouldn't have to edit fields, labels, and validation rules for every change. <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg9msru3/aHR0cHM6Ly9zdXJ2ZXlqcy5pby8_dXRtX3NvdXJjZT10aGlzLXdlZWstaW4tcmVhY3QmdXRtX21lZGl1bT1lbWFpbA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879926"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">SurveyJS</strong></a><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">provides a JSON-driven form library and an embeddable drag-and-drop form builder</strong> for your React application.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Customize SurveyJS components to match your UI with custom themes or ready-to-use <em style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">theme adapters for Bootstrap, shadcn/ui, and Material UI</em>.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">• Works with any backend and database<br style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">• Fits your existing design system<br style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">• Keeps developers in control of architecture and data</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Developers control the UI and data. Business users update forms visually without waiting for every change to be coded. 🚀</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">📱 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">React Native</strong></u>
</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/issues/302/react-native-088.jpg" alt="React Native 0.88" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em"><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/x0hph3uemlw9n2agul/aHR0cHM6Ly9yZWFjdG5hdGl2ZS5kZXYvYmxvZy8yMDI2LzEwLzE5L3JlYWN0LW5hdGl2ZS0wLjg4" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879927"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">React Native 0.88</strong></a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">The new release is out with one of the largest runtime changes in years! Events are now dispatched through the W3C <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/6qhehoul4d7npet9uk/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0V2ZW50VGFyZ2V0" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879928"><code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">EventTarget</code></a> API by default. This is the same model as on the web, making it possible to share event handling code between web and native. This opens the path to web-compatible imperative APIs in the future. And yet, it’s a third release with no user-facing breaking changes, after 0.83 and 0.86.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Other key highlights include:</p>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">SceneDelegate on iOS</strong> - support for the <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">UIScene</code> lifecycle required by the iOS 27 SDK, added additively.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Variable fonts</strong> - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">fontVariationSettings</code> on <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">Text</code> and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">TextInput</code>, on Android and iOS, in object or CSS string form.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">ArrayBuffer for Java TurboModules</strong> - binary data no longer needs base64 or number-array encoding, and synchronous calls can borrow JavaScript memory instead of copying it.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Swift Package Manager improvements</strong> - still experimental, but iOS versions now come from the app's deployment target, and Xcode builds no longer break for libraries shipping their own <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">Package.swift</code>. 0.89 targets SwiftPM as the default.</span></li>
</ul>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:600px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" width="600" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:600px;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/issues/302/expo-sdk-58.jpg" alt="Expo SDK 58" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em"><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/kkhmh2unp3l68qcku7/aHR0cHM6Ly9leHBvLmRldi9jaGFuZ2Vsb2cvc2RrLTU4" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879929"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Expo SDK 58</strong></a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">A React Native release is not enough! Expo SDK 58 is out with React Native 0.88, built for iOS 27 and ready for iPhone Duo on day one, and it comes with a long list of improvements of its own. Too many to list them all, so here are the highlights:</p>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Expo Modules 2.0 (beta)</strong> - plain Swift and Kotlin classes with annotations, with sync calls 2.5-5.6x faster than the DSL on iOS and faster than TurboModules in all twelve Android microbenchmarks.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Faster builds and faster modules</strong> - prebuilt <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">expo-modules-core</code> Android libraries cut a clean four-ABI debug build from about 80 seconds to about 39, and iOS calls passing long strings are up to 3.8x faster.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/7qh7h2u9emow02f9u6/aHR0cHM6Ly9leHBvLmRldi9ibG9nL2ludHJvZHVjaW5nLWV4cG8tYXBwLWludGVudHM=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879930"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">App Intents</strong></a><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">(alpha)</strong> - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">expo-app-intents</code> exposes your app to Siri, Shortcuts, Spotlight, and Apple Intelligence.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Expo UI and Android home screen widgets</strong> - lists recycle rows now, iOS gains NavigationStack and Toolbar, and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">expo-widgets</code> runs on Android with its own Hermes runtime.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">A CLI built for agents</strong> - the experimental <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">@expo/agent-cli</code> wraps Expo CLI, EAS CLI, and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">expo-doctor</code>.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit"><strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;font-weight:bolder">Expo Router</strong> - data loaders, SSR and middleware are now stable, alongside native tabs and a reworked navigation core.</span></li>
</ul>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">And a few more: an experimental Rust transformer for roughly 2x faster cold bundling, SwiftPM groundwork for Expo apps, and Expo Observe gaining control over automatic error recording.</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:600px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" width="600" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:600px;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">💸 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/owhkhwuwe7rg42uqur/aHR0cHM6Ly9kZXBsb3lwdWxzZS5pby8=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879931">DeployPulse - Hosted OTA updates for React Native. A drop-in replacement for CodePush and EAS Update.</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">💬 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/z2hgh7uez83polfzu0/aHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LW5hdGl2ZS1jb21tdW5pdHkvZGlzY3Vzc2lvbnMtYW5kLXByb3Bvc2Fscy9wdWxsLzEwMjc=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879932">RFC - API removal strategy in React Native</a> - Removed APIs like <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">InteractionManager</code> throw on access. This proposes alternatives so that library authors can more easily use feature detection to keep supporting older React Native versions.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📣 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzg9pfru3/aHR0cHM6Ly9naXRodWIuY29tL3pvb250ZWsvcmVhY3QtbmF0aXZlLWVkZ2UtdG8tZWRnZQ==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879933">React Native Edge to Edge is now deprecated</a> - RN 0.86+ ships the fixes natively: set <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">edgeToEdgeEnabled=true</code> in <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">gradle.properties</code> instead.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/x0hph3uemlw9nmcgul/aHR0cHM6Ly94LmNvbS9yZWFjdG5hdmlnYXRpb24vc3RhdHVzLzIxMTAzNTg2NTE0NDk4NjgzMDI=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879934">Icons and iOS 27 updates in React Navigation 8</a> - Native tabs now accept custom SF Symbols and VectorDrawables. With Nano Icons, you can use SVG icons in native tabs without hurting performance. Also includes filled Material Symbols and the iOS 27 prominent tab.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/6qhehoul4d7npqi9uk/aHR0cHM6Ly9kZXYudG8vYW1hem9uYXBwZGV2L29wZW5pYXAtYWRkcy1zdXBwb3J0cy1mb3ItYW1hem9uLTMzYg==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879935">OpenIAP adds support for Amazon</a> - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">react-native-iap</code> and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">expo-iap</code> can now sell on Fire OS and Vega OS with the same APIs.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/kkhmh2unp3l6lgfku7/aHR0cHM6Ly9leHBvLmRldi9ibG9nL3RlYW1yZWFjaC1vdGEtdXBkYXRlcy1yZWxhdW5jaA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879936">Relaunching TeamReach: how OTA updates saved a 5,000,000-user cutover</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/58hvh8ugwzmkmva7u4/aHR0cHM6Ly93d3cuY2FsbHN0YWNrLmNvbS9ibG9nL211bHRpLXdpbmRvdy1yZWFjdC1uYXRpdmUtYXBwcy13aXRoLXRoZS1tZXRhLXZyLWxheW91dC1zZGs=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879937">Multi-Window React Native Apps With the Meta VR Layout SDK</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/25h2h9u3xe2428c8u4/aHR0cHM6Ly93d3cuY2FsbHN0YWNrLmNvbS9ibG9nL2dpdmUtcWEtYWdlbnRzLXRoZS1jb250cm9scy10aGV5LW5lZWQtd2l0aC1hcHBkdWN0" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879938">Control App Test Conditions With Appduct for AI QA Agents</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">💸 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/qvh8h8ud30rorvhguk/aHR0cHM6Ly9kb2NzLm1hZXN0cm8uZGV2L2dldC1zdGFydGVkL21hZXN0cm8tbWNwP3V0bV9zb3VyY2U9dGhpcy13ZWVrLWluLXJlYWN0" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879939">Maestro MCP - Let your coding agent write, run and debug your UI tests</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/g3hnhwum2k363ot3u9/aHR0cHM6Ly9leHBvLmRldi9ibG9nL3hjb2RlLTI3LWRldmljZS1odWItZXhwby1kZXZpY2UtaHVi" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879940">expo-device-hub - Your simulators and emulators in a browser tab</a> - Also fixes the Expo CLI <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">i</code> shortcut, broken by Xcode 27 after the removal of <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">Simulator.app</code>.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/9qhzhdud8lpzplizu3/aHR0cHM6Ly9naXRodWIuY29tL0R5bGFuVmFubi9yZWFjdC1uYXRpdmUtZmFzdC1pbWFnZS9yZWxlYXNlcy90YWcvdjEwLjAuMA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879941">FastImage 10.0 - New Architecture rewrite, <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">objectFit</code> replaces <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">resizeMode</code>, <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">objectPosition</code> added</a> - The original library is actively maintained again.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/3ohphdu38n747dhpun/aHR0cHM6Ly9zd21hbnNpb24uY29tL2NoYW5nZWxvZy9yZWFjdC1uYXRpdmUtc2NyZWVucy00LTMwLTAv" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879942">Screens 4.30 - iPhone Duo support, opaque headers fixed on iOS 26+, <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">prominentScreenKey</code> for Tabs</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/n2hohquv4k363nh0ug/aHR0cHM6Ly9naXRodWIuY29tL3NvZnR3YXJlLW1hbnNpb24vcmVhY3QtbmF0aXZlLWdlc3R1cmUtaGFuZGxlci9yZWxlYXNlcy90YWcvdjMuNC4w" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879943">Gesture Handler 3.4 - iOS SPM support, <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">immediatePressOut</code> prop</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/48hvh7um3nr6rrbqu7/aHR0cHM6Ly9naXRodWIuY29tL3NvZnR3YXJlLW1hbnNpb24tbGFicy9yZWFjdC1uYXRpdmUtYm90dG9tLXNoZWV0L3JlbGVhc2VzL3RhZy92MC4xNy4w" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879944">Bottom Sheet 0.17 - Scroll handoff with nested scrollables, percentage detents</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/wnh2h6uqd3wxwqulux/aHR0cHM6Ly9naXRodWIuY29tL3VuaS1zdGFjay91bml3aW5kL3JlbGVhc2VzL3RhZy92MS4xMy4w" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879945">Uniwind 1.13 - CSS cascade order on native</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/reh8h9umpe0w0wu6u6/aHR0cHM6Ly9naXRodWIuY29tL21hcmdlbG8vcmVhY3QtbmF0aXZlLW5pdHJvLWZldGNoL3JlbGVhc2VzL3RhZy92MS45LjA=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879946">Nitro Fetch 1.9 - iOS WebSockets on <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">Network.framework</code> (~30% faster), built-in SSL pinning, Android perf fixes</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/08hwhgu24kdgdzhpu5/aHR0cHM6Ly9naXRodWIuY29tL25hdGV3L3JlYWN0LW5hdGl2ZS1ncHVp" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879947">RN GPUI - Render React Native components natively with GPUI, Zed's Rust UI framework (macOS only)</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/8ghqh3uo8xlqlkhlu9/aHR0cHM6Ly9naXRodWIuY29tL2dtaS1zb2Z0d2FyZS9yZWFjdC1uYXRpdmUtYmV0dGVyLXBkZi9yZWxlYXNlcy90YWcvdjEuMS4w" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879948">Better PDF 1.1 - Several files as one document, base64 sources, cheaper long documents</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/vqh3hmuo6dpepmuwul/aHR0cHM6Ly9naXRodWIuY29tL3JldHl1aS9iYWJlbC1wbHVnaW4tcmVhY3QtbmF0aXZlLWRpcmVjdC1pbXBvcnRz" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879949">Babel Plugin RN Direct Imports - Rewrite react-native barrel imports into direct module imports, so your bundle only includes the APIs you use</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/l2heh6ulpz363ebgu0/aHR0cHM6Ly9naXRodWIuY29tL2JhdGljYWwvcmVhY3QtbmF0aXZlLXNraWEtd2ViZ3B1LXZpZGVv" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879950">Skia WebGPU Video 0.1 Beta - Video playback, composition and export for React Native Skia 3 and WebGPU</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/dphehmuexm080nclu4/aHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2RvY3VtZW50YXRpb24veGNvZGUtcmVsZWFzZS1ub3Rlcy94Y29kZS0yN18xLXJlbGVhc2Utbm90ZXM=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879952">Xcode 27.1 - Swift 6.4, iOS 27.1 SDKs, iPhone Duo support</a></span></li>
</ul>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">🔀 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">Other</strong></u>
</h2>
<ul class="unordered_list" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em;padding:0 5px">
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📣 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/e0hph0u7z20q0gh7u2/aHR0cHM6Ly93ZWIuZGV2L2Jsb2cvY3J1eC1leHBlcmltZW50YWwtc29mdC1uYXZzLw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879953">Experimental soft navigation metrics now available in CrUX</a> - Exciting news for SPA / client-side routing frameworks! Core Web Vitals takes into account soft navigations, measuring the full navigation session instead of only the initial page load, and the Chrome User Experience Report dataset now exposes these metrics as experimental. Use the <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/7qh7h2u9emowo2h9u6/aHR0cHM6Ly9jcnV4dmlzLndpdGhnb29nbGUuY29tLyMvP3ZpZXc9Y3d2c3VtbWFyeSZ1cmw9aHR0cHMlM0ElMkYlMkZyZWFjdC5kZXYlMkYmaWRlbnRpZmllcj1vcmlnaW4mZGV2aWNlPVBIT05FJnBlcmlvZFN0YXJ0PTAmcGVyaW9kRW5kPS0xJmRpc3BsYXk9cDc1cw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879954">CrUX Vis</a> tool and check the “Include soft navigations” toggle to see the score impact on any site. The React site’s score is improving because subsequent navigations are faster than the initial page load.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">🔐 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/owhkhwuwe7rgr2aqur/aHR0cHM6Ly93d3cucGhwLm5ldC9hcmNoaXZlLzIwMjYucGhwIzIwMjYtMTAtMjEtNQ==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879955">PHP - Critical remote code execution vulnerabilities</a> - These 2 “php2shell” RCEs look really bad: no login needed, affecting PHP since 5.4. Yes, that includes your WordPress and Laravel sites. Upgrade now!</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/z2hgh7uez83p3lhzu0/aHR0cHM6Ly93d3cuam9zaHdjb21lYXUuY29tL2Nzcy9pbnRlcm9wLTIwMjcv" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879956">The Future of CSS</a> - Josh Comeau’s top 10 picks for Interop 2027, nicely presented with browser support and interactive demos.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📜 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/p8hehqu4elzgzphru3/aHR0cHM6Ly9qYWtlYXJjaGliYWxkLmNvbS8yMDI2L2pwZWcteGwtdnMtYXZpZi8=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879957">JPEG XL vs AVIF for web use-cases</a> - JPEG XL recently landed in all browsers. AVIF remains better for lossy compression, but JPEG XL wins for lossless compression and recompressing existing JPEGs.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/kkhmh2unp3l6nghku7/aHR0cHM6Ly9kZXZibG9ncy5taWNyb3NvZnQuY29tL3R5cGVzY3JpcHQvYW5ub3VuY2luZy10eXBlc2NyaXB0LTctMS1iZXRhLw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879960">TypeScript 7.1 beta - New TypeScript API, Import Attributes in Ambient Modules, stable <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">es2026</code> lib/target, performance improvements</a> - The real highlight is the new TypeScript API, unlocking ecosystem tools such as TypeScript-ESLint to integrate with TypeScript 7. Content Mappers are a game changer for improving the type safety of external files such as MDX, Astro, CSS Modules, Vue, and more.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/58hvh8ugwzmkgvt7u4/aHR0cHM6Ly9ibG9nLmNsb3VkZmxhcmUuY29tL3R5cGVzY3JpcHQtcnVzdC1wb3J0Lw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879961">tsrs - Rust port of the TypeScript 7 type checker and LSP</a> - There have been a lot of TypeScript ports to Rust recently. The most promising one is already much faster than tsgo. It’s now supported by Cloudflare/VoidZero, incubating under the Oxc toolchain umbrella. Not a fork: they are actively collaborating with the TypeScript team and plan to keep it aligned with the reference implementation. The <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/25h2h9u3xe2438i8u4/aHR0cHM6Ly9idWlsZGluZy5vd25lci5jb20vdHNycw==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879962">backstory</a> is also interesting, and shows the port will also speed up Oxlint type-aware linting.</span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/g3hnhwum2k36mou3u9/aHR0cHM6Ly9ub2RlanMub3JnL2VuL2Jsb2cvcmVsZWFzZS92MjQuMjIuMA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879964">Node.js 24.22 LTS - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">util.throttle()</code> and <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">util.debounce()</code>, crypto improvements</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/9qhzhdud8lpzdlbzu3/aHR0cHM6Ly9yc2RvY3Rvci5ycy9ibG9nL3JlbGVhc2UvcmVsZWFzZS1ub3RlLTJfMA==" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879965">Rsdoctor 2.0 - Now Rspack-only, Agent CLI, 57% faster analysis, 56% smaller install, multi-compiler reports</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/n2hohquv4k36vns0ug/aHR0cHM6Ly93ZWJwYWNrLmpzLm9yZy9ibG9nLzIwMjYtMTAtMTMtd2VicGFjay01LTExMi8=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879967">Webpack 5.112 - SSR asset manifest, source map scopes, multi-entry library exports, async <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">DefinePlugin</code> values</a></span></li>
<li class="list_item" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding:5px 0"><span style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">📦 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/wnh2h6uqd3wxqqalux/aHR0cHM6Ly9hc3Ryby5idWlsZC9ibG9nL2FzdHJvLTc0MC8=" target="_blank" class="ck-link" rel="noopener noreferrer" style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879969">Astro 7.4 - Build timings, separate build/runtime image services, parallel prerendering (experimental)</a></span></li>
</ul>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:800px;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/separators/christmas.png" alt="" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:0px 0px 0px 0px;max-width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h2 class="" style="font-family:Helvetica, Arial, sans-serif;color:#333;font-size:30px">
<strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">🤭 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif;font-weight:bolder">Fun</strong></u>
</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/issues/302/meme.jpg" alt="Linear dev and Codex shaking hands over TodoMVC" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif"><figure style="font-family:Helvetica, Arial, sans-serif;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:100%;width:100%"><div style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;padding-bottom:10px;display:block"><img src="https://thisweekinreact.com/emails/issues/302/meme2.jpg" alt="Benevolent sandworms from the php2shell patch team" width="100%" height="auto" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;border-radius:4px 4px 4px 4px;max-width:100%;width:100%;height:auto;object-fit:contain"></div>
<figcaption style="font-family:Helvetica, Arial, sans-serif;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">See ya! 👋</p>
</td></tr></tbody></table>
<div class="footer-social" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;border-top:1px dotted #888;padding:20px 0px;padding-bottom:10px">
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif">
<a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/owhkhwuwe7rg85iqur/aHR0cHM6Ly94LmNvbS9zZWJhc3RpZW5sb3JiZXI=" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1;border-bottom:none;padding:0px 20px" url-id="1896879900"><img src="https://thisweekinreact.com/social/x.png" alt="X / Twitter link" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;width:48px;height:48px"></a>
<a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/08hwhgu24kdg2zapu5/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL3NlYmFzdGllbmxvcmJlci8=" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1;border-bottom:none;padding:0px 20px" url-id="1896879971"><img src="https://thisweekinreact.com/social/linkedin.png" alt="LinkedIn link" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;width:48px;height:48px"></a>
<a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/8ghqh3uo8xlqokhlu9/aHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS90aGlzd2Vla2lucmVhY3Qv" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1;border-bottom:none;padding:0px 20px" url-id="1896879972"><img src="https://thisweekinreact.com/social/instagram.png" alt="Instagram link" style="font-family:Helvetica, Arial, sans-serif;max-width:100%;height:auto;margin:0 auto;width:48px;height:48px"></a>
</td></tr></table>
</div>
<div class="footer" style="font-size:16px;line-height:1.4em;color:#333333;border-top:1px dotted #888;padding:20px 0px;font-family:Helvetica, Arial, sans-serif;color:#aaa;font-size:14px;padding-bottom:10px">
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="font-family:Helvetica, Arial, sans-serif"><tr style="font-family:Helvetica, Arial, sans-serif"><td align="center" style="font-family:Helvetica, Arial, sans-serif">
💔 <a href="https://76518bdd.unsubscribe.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1">Unsubscribe</a> |
⚙️ <a href="https://preferences.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1">Email Preferences</a> |
💸 <a href="https://76518bdd.click.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd/vqh3hmuo6dpeomuwul/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL3Nwb25zb3I=" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1896879973">Advertise</a>
</td></tr></table>
</div>
</div>
<!--[if mso]>
</td></tr></table>
</center>
<![endif]-->
<!-- -->
<img src="https://76518bdd.open.convertkit-mail4.com/5quqzqplrnu7hnermv8h6h99m4qx8tnhro8qd" alt="" style="font-family:Helvetica, Arial, sans-serif">
</body>
</html>