<!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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/7qh7h2u95egz4zc9/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="1854952283"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/owhkhwuwdezo85tq/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="1854952284">Seb</a> and <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/p8hehqu4oevx7mir/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="1854952286">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">This week, security is making headlines, as two major React frameworks have announced vulnerabilities and compromised npm packages!</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">William Candillon unveiled his secret project: a new set of 2D primitives for React Native and the web.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">It’s also an exciting week full of interesting releases all around the JS ecosystem!</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>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">As always, thanks for supporting us on your favorite platform:</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">🦋 <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/x0hph3ue0mg372bg/aHR0cHM6Ly9zbG8uaW0vbGFzdC9i" 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="1854952287">Bluesky</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/6qhehoule4qo2ea9/aHR0cHM6Ly9zbG8uaW0vbGFzdC94" 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="1854952288">X / Twitter</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/58hvh8ug2we79ds7/aHR0cHM6Ly9zbG8uaW0vbGFzdC9s" 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="1854952290">LinkedIn</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/25h2h9u3wx5doku8/aHR0cHM6Ly9zbG8uaW0vbGFzdC9y" 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="1854952291">Reddit</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;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">💸 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif">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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/qvh8h8udp3xn6kfg/aHR0cHM6Ly9mYW5kZi5jby80MmlzeWRT" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952292"><img src="https://thisweekinreact.com/emails/issues/281/amazon.jpg" alt=" AI That Gets React Native on Fire TV " 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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/qvh8h8udp3xn6kfg/aHR0cHM6Ly9mYW5kZi5jby80MmlzeWRT" 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="1854952292"> AI That Gets React Native on Fire TV </a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">We built an MCP server for Vega OS, our new React Native TV platform for Fire TV. </p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Amazon Devices Builder Tools MCP gives your AI agent deep platform context, so instead of generic React Native suggestions, your agent understands how to scaffold correctly, integrate platform features, and follow Vega conventions. </p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Explore building for TV without the friction of learning a new platform from scratch. It's a step toward making our developer tooling as modern as the platform itself. <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/qvh8h8udp3xn6kfg/aHR0cHM6Ly9mYW5kZi5jby80MmlzeWRT" 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="1854952292">One command to install.</a></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;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">⚛️ </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif">React</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/g3hnhwumw2vpz0c3/aHR0cHM6Ly92ZXJjZWwuY29tL2NoYW5nZWxvZy9uZXh0LWpzLW1heS0yMDI2LXNlY3VyaXR5LXJlbGVhc2U=" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952293"><img src="https://thisweekinreact.com/emails/issues/281/nextjs.jpg" alt="Next.js May 2026 security release" 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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/g3hnhwumw2vpz0c3/aHR0cHM6Ly92ZXJjZWwuY29tL2NoYW5nZWxvZy9uZXh0LWpzLW1heS0yMDI2LXNlY3VyaXR5LXJlbGVhc2U=" 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="1854952293">Next.js May 2026 security release</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">The Next.js team shipped a coordinated security release fixing 13 vulnerabilities across denial of service, middleware/proxy bypass, server-side request forgery, cache poisoning, XSS. Many vulnerabilities are quite impactful, cannot be blocked by cloud firewalls, and it’s recommended to update immediately to a patched version, v15.5.18 or v16.2.6. There’s also a Server Functions denial of service affecting React RSC packages, fixed in v19.2.6.</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;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%"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/9qhzhdudr87928cz/aHR0cHM6Ly90YW5zdGFjay5jb20vYmxvZy9ucG0tc3VwcGx5LWNoYWluLWNvbXByb21pc2UtcG9zdG1vcnRlbQ==" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952294"><img src="https://thisweekinreact.com/emails/issues/281/tanstack.jpg" alt="TanStack npm supply-chain compromise" 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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/9qhzhdudr87928cz/aHR0cHM6Ly90YW5zdGFjay5jb20vYmxvZy9ucG0tc3VwcGx5LWNoYWluLWNvbXByb21pc2UtcG9zdG1vcnRlbQ==" 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="1854952294">TanStack npm supply-chain compromise</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">On May 11, an attacker published malicious versions across 42 <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">@tanstack/*</code> npm packages related to TanStack Router. Although the attack was detected quickly, its payload is a <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/3ohphdu3g8wzdwcp/aHR0cHM6Ly93d3cud2l6LmlvL2Jsb2cvbWluaS1zaGFpLWh1bHVkLXN0cmlrZXMtYWdhaW4tdGFuc3RhY2stbW9yZS1ucG0tcGFja2FnZXMtY29tcHJvbWlzZWQ=" 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="1854952295">Mini Shai-Hulud worm</a> that infected other maintainers, leading to other compromised packages across npm and pypi ecosystems, including packages from Mistral AI, OpenSearch, UiPath, and more.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">The attack vector was sneaky. A GitHub Action with a <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">pull_request_target</code> trigger was used to inject poisoned content into a shared GitHub Action pnpm cache. Then, their release pipeline read from that poisoned cache, restoring dangerous files that were executed during the release process. No maintainer was hacked in the process. The npm releases have the Trusted Publishing checkmark despite being compromised, showing that package provenance does not guarantee its content is safe.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Given the increasing number of supply chain vulnerabilities affecting npm packages, it’s good to highlight measures that maintainers and users can take to stay safe:</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">📜 <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/n2hohquv04drnwc0/aHR0cHM6Ly90YW5zdGFjay5jb20vYmxvZy9pbmNpZGVudC1mb2xsb3d1cA==" 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="1854952296">Hardening TanStack After the npm Compromise</a> - Gives a good overview of what maintainers can do to reduce the supply chain risk. Low-hanging fruit includes avoiding the use of the very dangerous <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">pull_request_target</code> trigger and removing the usage of shared caches in their release workflow (note: actions such as <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">setup-node</code> using a cache by default).</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/wnh2h6uq6dzgrkul/aHR0cHM6Ly9naXRodWIuY29tL2xpcmFudGFsL25wbS1zZWN1cml0eS1iZXN0LXByYWN0aWNlcw==" 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="1854952298">npm package manager Security Best Practices</a> - A canonical resource to protect yourself as an npm package consumer, giving pragmatic recommendations for each package manager. IMHO, combining the Socket Firewall with pnpm 11 is likely the best option right now.</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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/reh8h9umzp8xq7i6/aHR0cHM6Ly9nby5wb3N0aG9nLmNvbS90d2lyLW1heTEz" 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="1854952299">Product for Engineers - Great companies are built in hackathons</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/08hwhgu2r48zmwhp/aHR0cHM6Ly90YW5uZXJsaW5zbGV5LmNvbS9wb3N0cy9wcm9qZWN0aW5nLXJlYWN0" 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="1854952300">Projecting React</a> - Tanner Linsley wants React to be slimmer, tried Preact without success. He compares React API to database tables, and its implementation to a materialized view. With AI, he’s creating a different <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">@@tanstack/redact</code> projection, one optimized for TanStack Start, significantly smaller, that already powers <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">tanstack.com</code>. It’s a narrow experiment, not something he plans to market as an alternative to React. In the future, more devs will likely build optimized projections of the libraries they depend on.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/8ghqh3uon849gxil/aHR0cHM6Ly9sb25naG8uZGV2L3Bvc3RzL3JzYy1zZXJ2ZXItZnVuY3Rpb25zLWFyZS1ub3QtYW4tYXBpLWJvdW5kYXJ5Lw==" 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="1854952301">RSC Server Functions Are Not An API Boundary</a> - Server Functions are not a replacement for stable, observable, versioned, shared APIs. The generated Server Function ID can change over time as you refactor code, leading to version skew problems on redeploys. Note: cloud providers have skew protection features to mitigate this.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/vqh3hmuor65gnkfw/aHR0cHM6Ly9wcm9ncmFtbWluZ2FyZWhhcmQuY29tLzIwMjYvMDUvMDYvcmVhY3Qtcm91dGVyLWRpYWxvZ3MuaHRtbC8=" 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="1854952302">Untangling dialogs in React Router</a> - Everything you need to know to simplify your code by using a parent <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><Outlet></code> and making each dialog live on its own dedicated route. Covers data revalidation, flash session toasts, dialog exit animations 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/l2heh6ul7pgrooug/aHR0cHM6Ly93d3cudXNlcmludGVyZmFjZS53aWtpL2FuaW1hdGluZy1jb250YWluZXItYm91bmRz" 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="1854952303">Animating Container Bounds</a> - How to smoothly animate an element’s width/height based on its inner content with Motion.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/m2h7h6u3zxreo8cl/aHR0cHM6Ly9jZXJ0aWZpY2F0ZXMuZGV2L2Jsb2cvc2VjdXJpdHktaW4tcmVhY3QtYXBwbGljYXRpb25z" 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="1854952304">Security in React Applications</a> - Prevent XSS, store tokens securely, validate inputs, use CSFR and CSPs.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/dphehmuenx35qebl/aHR0cHM6Ly9ldmlsbWFydGlhbnMuY29tL2Nocm9uaWNsZXMvZnJvbS1yZWFjdC10by1uYXRpdmUtd2ViLXdpdGgtbmFub3RhZ3MtYS1taWdyYXRpb24tdGhhdC1zYXZlZC0xMDBrYg==" 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="1854952305">From React to native web with nanotags: a migration that saved 100 KB</a> - For a mostly static marketing site using Astro templates, it can be more efficient to hydrate Custom Elements rather than React.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/e0hph0u7ozx4kqh7/aHR0cHM6Ly90eW1wYW51cy5uZXQvY29kcm9wcy8yMDI2LzA1LzEzL2V4cGxvcmluZy10aGUtaHRtbC1pbi1jYW52YXMtcHJvcG9zYWwv" 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="1854952306">Exploring the HTML-in-Canvas Proposal</a> - It could simplify integration 2D UIs in 3D worlds, in particular for React Three Fiber creative devs.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/7qh7h2u95egz0zi9/aHR0cHM6Ly9naXRodWIuY29tL3N2YXItd2lkZ2V0cy9yZWFjdC1nYW50dA==" 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="1854952307">SVAR React Gantt – Build interactive project timelines with an open-source React Gantt library.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/owhkhwuwdezo45cq/aHR0cHM6Ly93YWt1LmdnL2Jsb2cvd2FrdS12MS1iZXRh" 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="1854952308">Waku 1.0 beta</a> - The minimal RSC framework first beta marks our shift toward production readiness. It recently added support for Vite 8, Rolldown, Node 26, React performance tracks, flexible routing, CSP, 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/z2hgh7uexzgwo5fz/aHR0cHM6Ly9uZXdzbGV0dGVyLmRhaXNoaWthdG8uY29tL3Avam90YWktdjItMjAtMC1hbmQtdGhlLXN0b3JlLWJ1aWxkaW5nLWJsb2Nrcw==" 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="1854952309">Jotai 2.20 - Improves performance in high-throughput scenarios, refactor store building blocks</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/p8hehqu4oevx9mbr/aHR0cHM6Ly9naXRodWIuY29tL3JlbWFya2FibGVtYXJrL2h0bWwtcmVhY3QtcGFyc2VyL3JlbGVhc2VzL3RhZy92Ni4xLjA=" 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="1854952310">HTML React Parser 6.1 - add CSP support with <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">trustedTypePolicy</code></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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/x0hph3ue0mg3n2cg/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1tT25jdTN4Q2xsdw==" 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="1854952311">Ankita Kulkarni - Stop freezing your React apps, use this Background Trick instead</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/6qhehoule4qopeu9/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj01UU03WGpicUR1Zw==" 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="1854952312">Shruti Kapoor - Five Minute Deep Dive: React Server Components</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/kkhmh2unvp7m8qtk/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1YU21wU2NTaVBodw==" 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="1854952313">Josef Bender - I hacked a TanStack Start app...</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/58hvh8ug2we75dc7/aHR0cHM6Ly9zeW50YXguZm0vc2hvdy8xMDA0L3RhbmhhY2tlZA==" 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="1854952314">Syntax.fm 1004 - TanHacked</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;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">💸 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif">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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/25h2h9u3wx5d7ka8/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX3NvdXJjZT10aGlzd2Vla2lucmVhY3QmdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9jYW1wYWlnbj0yNnEyJnV0bV9jb250ZW50PTJuZA==" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952315"><img src="https://thisweekinreact.com/emails/issues/281/meticulous.jpg" alt="Tests are dead - Meticulous is here" 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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/25h2h9u3wx5d7ka8/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS8_dXRtX3NvdXJjZT10aGlzd2Vla2lucmVhY3QmdXRtX21lZGl1bT1uZXdzbGV0dGVyJnV0bV9jYW1wYWlnbj0yNnEyJnV0bV9jb250ZW50PTJuZA==" 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="1854952315">Tests are dead - Meticulous is here</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Meticulous creates and maintains an exhaustive suite of e2e ui tests with <strong style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit">zero</strong> developer effort. </p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">This quote from the CTO of Traba sums the product up best: "Meticulous has fundamentally changed the way we approach frontend testing in our web applications, fully eliminating the need to write any frontend tests. The software gives us confidence that every change will be completely regression tested, allowing us to ship more quickly with significantly fewer bugs in our code. The platform is easy to use and reduces the barrier to entry for backend-focused devs to contribute to our frontend codebase."</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Meticulous is used by companies like Notion, Dropbox, Wiz, LaunchDarkly, and many others.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">This <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/qvh8h8udp3xn8khg/aHR0cHM6Ly93d3cubWV0aWN1bG91cy5haS9ibG9nL2xlc3NvbnMtZnJvbS1hLWRlY2FkZT91dG1fc291cmNlPXRoaXN3ZWVraW5yZWFjdCZ1dG1fY2FtcGFpZ249MjZxMiZ1dG1fY29udGVudD0ybmQ=" 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="1854952316">post</a> from our CTO sets out the context of why exhaustive testing can double engineering velocity.</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;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">📱 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif">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%"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/g3hnhwumw2vpe0i3/aHR0cHM6Ly93Y2FuZGlsbG9uLmdpdGh1Yi5pby9yZWRyYXcv" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952317"><img src="https://thisweekinreact.com/emails/issues/281/redraw.jpg" alt="Redraw - 2D graphics primitives, powered by WebGPU" 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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/g3hnhwumw2vpe0i3/aHR0cHM6Ly93Y2FuZGlsbG9uLmdpdGh1Yi5pby9yZWRyYXcv" 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="1854952317">Redraw - 2D graphics primitives, powered by WebGPU</a></p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">In an <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/9qhzhdudr879g8iz/aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_dj1uR0xDbVk3dGR6NA==" 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="1854952318">amazing introduction video</a>, William Candillon presented what he’s been secretly working on for months: a new grade of 2D graphics primitives, powered by WebGPU. It’s still a technical preview and not open-source yet, but William is looking to make it source-available soon with a license that makes it sustainable.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">It all started with "Can it be done in React Native?", led to Skia on native, then WebGPU for unified 2D/3D composition across platforms. Redraw is the next step: bringing GPU-accelerated vector rendering with rich geometric information back to both native and web.</p>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">What it unlocks:</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">Variable strokes - stroke width driven by path geometry (tangent, arc length)</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">Color along path - gradient callbacks mapped to arc length or distance</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">Vector feathering - soft shadows, blur, and glow without rasterization</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">Physically-based rendering - material effects computed directly on vector paths</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">Non-physically-based rendering - creative effects impossible with raster pipelines</span></li>
</ul>
<p class="" style="font-size:16px;line-height:1.4em;font-family:Helvetica, Arial, sans-serif;color:#333333;margin-bottom:1em">Built for composability:</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">Compute shaders powered via <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/3ohphdu3g8wzqwip/aHR0cHM6Ly90eXBlZ3B1LmNvbS8=" 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="1854952319">TypeGPU</a> (optional dependency)</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">Zero-cost integration with Skia, Three.js, PixiJS, and WebGPU</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">Write shader logic in TypeScript, no WGSL required</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;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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/n2hohquv04dr3wi0/aHR0cHM6Ly9zZW50cnkuaW8vY29va2Jvb2svdHJhY2stY2hlY2tvdXQtcGVyZm9ybWFuY2UtcmVhY3QtbmF0aXZlLz91dG1fc291cmNlPXRoaXN3ZWVraW5yZWFjdCZ1dG1fbWVkaXVtPXBhaWQtY29tbXVuaXR5JnV0bV9jYW1wYWlnbj0mdXRtX2NvbnRlbnQ9bmV3c2xldHRlci1ybi1saW5rLXJuLWNoZWNrb3V0LWxlYXJubW9yZQ==" 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="1854952320">Sentry - A guide to finding and fixing slow checkout requests in React Native with distributed tracing and proactive alerts.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/48hvh7um83ogr5sq/aHR0cHM6Ly94LmNvbS9hc3dpbmNvZGUvc3RhdHVzLzIwNTE2ODkxNTk3MjM0NTg3NDY=" 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="1854952321">iOS 26 native tab icon</a> - A look into how to display dynamic tab icons, what constraints Expo Router had, and what was needed to overcome them.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/wnh2h6uq6dzgwkal/aHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0LXN0cmljdC1kb20vZGlzY3Vzc2lvbnMvNDcxI2Rpc2N1c3Npb25jb21tZW50LTE2ODk2Mjc4" 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="1854952322">Is React Strict DOM still active?</a> - The project has been quiet since its initial maintainers left Meta, but it’s still used internally for new projects. Meta product engineers and community members are stepping in.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/reh8h9umzp8x07b6/aHR0cHM6Ly93d3cucGV0ZXJwLm1lL2FydGljbGVzL3JlYWN0LW5hdGl2ZS1wcmVzc2FibGUtZmFzdGVyLXRoYW4tZ2VzdHVyZS1oYW5kbGVyLw==" 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="1854952323">React Native Pressable faster than gesture handler</a> - A deep dive into why Gesture Handler adds additional cost compared to RN Pressable and Reanimated’s CSS transition API</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/08hwhgu2r48zdwsp/aHR0cHM6Ly93d3cucGV0ZXJwLm1lL2FydGljbGVzL2hpZGRlbi1jb3N0LW9mLXJlYWN0LWFjdGl2aXR5Lw==" 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="1854952324">The Hidden Cost of React.Activity</a> - <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace"><Activity></code> is different from keeping a screen mounted but invisible. Heavy use of useEffect can badly impact performance when a screen becomes visible 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/8ghqh3uon849lxbl/aHR0cHM6Ly9zd21hbnNpb24uY29tL2Jsb2cvYXJnZW50LWFnZW50aWMtdG9vbGtpdC10by1jb250cm9sLWRlYnVnLWFuZC1wcm9maWxlLWlvcy1hcHBsaWNhdGlvbnMv" 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="1854952325">Meet Argent: Agentic Toolkit to Control, Debug and Profile iOS applications</a> - Gives coding agents direct access to the iOS Simulator, helpful to inspect and debug RN iOS apps.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/vqh3hmuor65gpkhw/aHR0cHM6Ly9zaGlmdC5pbmZpbml0ZS5yZWQvYmV5b25kLTYwLWZwcy1idWlsZGluZy1hLXJlYWwtdGltZS1jYW4tYnVzLWRhc2hib2FyZC13aXRoLW5pdHJvLW1vZHVsZXMtYW5kLXNraWEtZDBmNTY0ZjhkMjM5" 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="1854952326">Beyond 60fps - Real-time CAN Bus dashboard with Nitro Modules and Skia</a> - A minor hobby-project issue turned into a deep look into how RN communication between native and JS works.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/l2heh6ul7pgr3oag/aHR0cHM6Ly9tZWRpdW0uY29tL2RvY3RvbGliL2V4cG8td2l0aG91dC1lYXMtc2NhbGluZy10aGUtcmVhY3QtbmF0aXZlLWRldmVsb3Blci1leHBlcmllbmNlLW9mLWFuLWFwcC13aXRoLTkwbS11c2Vycy0yNjk0ZWE4NDE4MDU=" 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="1854952327">Expo without EAS: Scaling the React Native developer experience of an app with 90M+ users</a> - Practical migration story from React Native to Expo at Doctolib, a popular healthcare app. It explains why EAS wasn’t a good fit for their setup, and how Callstack’s Rock modular toolkit helped them improve their build flow.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/m2h7h6u3zxre88il/aHR0cHM6Ly9leHBvLmRldi9jaGFuZ2Vsb2cvc2RrLTU2LWJldGE=" 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="1854952328">Expo SDK 56 Beta - Stable Expo UI, faster builds, improved startup performance on Android, RN 0.85</a> - As always, a very long changelog with many improvements, that we’ll cover in depth once stable.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/e0hph0u7ozx40qs7/aHR0cHM6Ly9naXRodWIuY29tL29ibGFkb3IvcmVhY3QtbmF0aXZlLXN3Yw==" 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="1854952330">React Native SWC - SWC-powered transformer & minifier for Metro</a> - SWC recently added Flow supports, making it possible to fully replace Babel by SWC in RN’s transpilation pipeline. ~8x faster transform worker & full real world bundling ~3x 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/7qh7h2u95egzozi9/aHR0cHM6Ly9ibG9nLnNlbnRyeS5pby9kZWJ1Z2dpbmctZXhwby1yZWFjdC1uYXRpdmUtc2RrLw==" 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="1854952331">Sentry SDK 8.10+ - OTA update context, build failures, emergency launch detection, performance spans for prefetching, image/asset loading instrumentation</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/owhkhwuwdezor5iq/aHR0cHM6Ly9naXRodWIuY29tL21vYmlsZS1pbmsvbW9iaWxlLWluaw==" 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="1854952332">Mobile Ink - iOS Skia/Metal drawing and continuous canvas primitives</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/z2hgh7uexzgw35tz/aHR0cHM6Ly9naXRodWIuY29tL21hcmdlbG8vcmVhY3QtbmF0aXZlLW5pdHJvLWZldGNoL3JlbGVhc2VzL3RhZy92MS4yLjA=" 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="1854952333">Nitro Fetch 1.2 - Native-side prefetching registration, web stub</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/p8hehqu4oevxzmtr/aHR0cHM6Ly9naXRodWIuY29tL0pvYW9QYXVsb0NNYXJyYS9yZWFjdC1uYXRpdmUtbml0cm8tbWFya2Rvd24vcmVsZWFzZXMvdGFnL3YwLjYuMA==" 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="1854952334">Nitro Markdown 0.6 - RaTex math renderer, native release hardening, refreshed example benchmarks/docs</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/x0hph3ue0mg3w2sg/aHR0cHM6Ly9naXRodWIuY29tL2NhbGxzdGFja2luY3ViYXRvci9yb2NrL3JlbGVhc2VzL3RhZy92MC4xMy4w" 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="1854952335">Rock 0.13 - Experimental support for CNG & Expo Config Plugins, validate Android 16KB ELF alignment</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/6qhehoule4qo7ea9/aHR0cHM6Ly9naXRodWIuY29tL3NvZnR3YXJlLW1hbnNpb24vcmVhY3QtbmF0aXZlLXNjcmVlbnMvcmVsZWFzZXMvdGFnLzQuMjUuMA==" 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="1854952336">RN Screens 4.25 - Drops the Legacy Architecture, Tabs API in RC, many Tabs user-facing 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/kkhmh2unvp7mlquk/aHR0cHM6Ly9naXRodWIuY29tL2NhbGxzdGFja2luY3ViYXRvci9yb3plbml0ZS9yZWxlYXNlcy90YWcvdjEuOS4w" 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="1854952337">Rozenite 1.9 - storage-plugin replaces mmkv-plugin, new react-hook-form plugin</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/7qh7h2u95egzo2h9/aHR0cHM6Ly9pbmZpbml0ZS5yZWQvcmVhY3QtbmF0aXZlLXJhZGlvL3Juci0zNTItc3Rvcnlib29rLXdpdGgtZGFuaWVsLXdpbGxpYW1z" 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="1854952338">RNR 352 - Storybook with Daniel Williams</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;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">🔀 </strong><u style="font-family:Helvetica, Arial, sans-serif"><strong style="font-family:Helvetica, Arial, sans-serif">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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/owhkhwuwdezor2hq/aHR0cHM6Ly9naXRodWIuY29tL3RjMzkvYWdlbmRhcy9ibG9iL21haW4vMjAyNi8wNS5tZA==" 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="1854952339">TC39 - Agenda for the 114th meeting - May 19-21</a> - A packed agenda, many proposals could progress next week, including Iterators, Explicit Resource Management, 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/z2hgh7uexzgw3liz/aHR0cHM6Ly92b2lkemVyby5kZXYvcG9zdHMvYW5ub3VuY2luZy1yb2xsZG93bi0xLTA=" 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="1854952340">Rolldown 1.0</a> - The high-performance Rust-based bundler is now stable and respects semantic versioning. It’s already powering Vite 8 as a 10-30x faster alternative to Rollup. Bundling in dev is on the roadmap to overcome the performance limitation of serving individual ESM files.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/p8hehqu4oevxzpir/aHR0cHM6Ly9ub2RlanMub3JnL2VuL2Jsb2cvcmVsZWFzZS92MjYuMS4w" 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="1854952341">Node.js 26.1 - Experimental <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">node:ffi</code> module</a> - A promising Foreign Function Interface module for loading dynamic libraries and integrating with native languages.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/6qhehoule4qo7qc9/aHR0cHM6Ly9naXRodWIuY29tL2plc3Rqcy9qZXN0L2lzc3Vlcy85NDMwI2lzc3VlY29tbWVudC00NDAwMjgxMTY5" 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="1854952343">Jest 30.4 - Support for <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">require(esm)</code></a> - Jest’s ESM support has been fully rewritten. It still requires the Node.js <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">--experimental-vm-modules</code> flag, but the Node.js team is working on stabilizing that feature.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/kkhmh2unvp7mngbk/aHR0cHM6Ly9idW4uY29tL2Jsb2cvYnVuLXYxLjMuMTQ=" 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="1854952344">Bun 1.3.14 - Built-in image processing, global install virtual store, HTTP improvements</a> - Speaking of Bun, a Rust port was previously disclosed and framed as an experiment. It turns out Bun may actually <a href="https://76518bdd.click.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/58hvh8ug2we7gvh7/aHR0cHM6Ly94LmNvbS9qYXJyZWRzdW1uZXIvc3RhdHVzLzIwNTM4MDg0Mzg2NDQ0NDUyMzA=" 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="1854952345">migrate from Zig to Rust in the near future</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/25h2h9u3wx5d38i8/aHR0cHM6Ly9naXRodWIuY29tL25wbS9jbGkvcmVsZWFzZXMvdGFnL3YxMS4xNC4w" 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="1854952346">npm 11.4 - allow-directory, allow-file, allow-remote</a> - New opt-in npm CLI security features, similar to pnpm’s <code style="font-family:Helvetica, Arial, sans-serif;color:inherit;font-family:inherit;font-size:inherit;color:green;font-family:monospace">blockExoticSubdeps</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/qvh8h8udp3xndvhg/aHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9wbGF5d3JpZ2h0L3JlbGVhc2VzL3RhZy92MS42MC4w" 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="1854952347">Playwright 1.60 - Drop API, Aria snapshots, HAR recording</a> - You can now simulate drag-and-drop, and snapshot the accessibility tree.</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/g3hnhwumw2vpmos3/aHR0cHM6Ly9wbnBtLmlvL2Jsb2cvcmVsZWFzZXMvMTEuMQ==" 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="1854952348">pnpm 11.1 - Named registries, new useful commands</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/9qhzhdudr879dliz/aHR0cHM6Ly90YWlsd2luZGNzcy5jb20vYmxvZy90YWlsd2luZGNzcy12NC0z" 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="1854952349">Tailwind CSS 4.3 - Scrollbars, new colors, and more</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/3ohphdu3g8wz3dsp/aHR0cHM6Ly9hc3Ryby5idWlsZC9ibG9nL2FzdHJvLTYzMC8=" 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="1854952350">Astro 6.3 - Experimental advanced routing, first-class Hono 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;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">🤭 </strong><strong style="font-family:Helvetica, Arial, sans-serif"><u style="font-family:Helvetica, Arial, sans-serif">Fun</u></strong>
</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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/n2hohquv04drvns0/aHR0cHM6Ly94LmNvbS9fY29sZW11cnJheS9zdGF0dXMvMjA1NDAwOTA3MDMwMzE5MTA1NA==" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1854952351"><img src="https://thisweekinreact.com/emails/issues/281/meme.jpg" alt="alt" 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;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"></p>
<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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/owhkhwuwdezo85tq/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="1854952284"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/wnh2h6uq6dzgqqil/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="1854952353"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/reh8h9umzp8xmwf6/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="1854952354"><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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8" 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8" 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/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8/8ghqh3uon849okfl/aHR0cHM6Ly90aGlzd2Vla2lucmVhY3QuY29tL3Nwb25zb3I=" style="font-family:Helvetica, Arial, sans-serif;text-decoration:none;border-bottom:1px solid #0875c1;color:#0875c1" url-id="1854952356">Advertise</a>
</td></tr></table>
</div>
</div>
<!--[if mso]>
</td></tr></table>
</center>
<![endif]-->
<!-- -->
<img src="https://76518bdd.open.convertkit-mail4.com/4zu8w8z46oaehpew2lxuxh6964ok3b5hwlve8" alt="" style="font-family:Helvetica, Arial, sans-serif">
</body>
</html>