<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-banner-rounded.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/eyes.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/monty-python-scratch.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/fb-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/li-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/tw-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/em-share-icon.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/coderabbit-logo.png">
<link rel="preload" as="image" href="https://bytes.dev/images/content/not-sure-report.jpg">
<link rel="preload" as="image" href="https://bytes.dev/images/content/cool-bits.png">
<link rel="preload" as="image" href="https://bytes.dev/images/bytes-icon.png">
<title>Bytes: The Git War of 2026</title>
<meta name="color-scheme" content="light dark">
<meta name="supported-color-schemes" content="light dark">
<link href="https://fonts.googleapis.com/css2?family=Fira+Mono&family=Outfit:wght@400;500;700;900&family=Paytone+One" rel="stylesheet">
<style>@media (prefers-color-scheme: dark) {
.email-wrapper {
color: #F9F4DA !important;
background-color: #0F0D0E !important;
}
hr {
border-color: #262422 !important;
}
mark {
background-color: #231F20 !important;
color: #F9F4DA !important;
}
pre {
background-color: #231F20 !important;
border: 1px solid #231F20 !important;
color: #F9F4DA !important;
}
.bg-alt {
background-color: #231F20 !important;
}
.unsubscribe-link {
color: #504C48 !important;
}
.token.punctuation {
color: #f9f4da !important;
}
}
@media screen and (min-width: 600px) {
.mobile-break {
display: none;
}
}</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<table class="email-wrapper" border="0" cellspacing="0" width="100%" style="background-color: #FFF; border-collapse: collapse; color: #231F20; font-family: Outfit, sans-serif; font-size: 18px; width: 100%;"><tbody><tr>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
<td width="600px" style="border-collapse: collapse !important; width: 600px; word-break: normal;"><div style="max-width:600px;padding-top:80px">
<div style="text-align:center"><img width="600" style="max-width: 100%; padding-bottom: 40px;" src="https://bytes.dev/images/bytes-banner-rounded.png" alt="Bytes"></div>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Today’s issue:</strong> Developer trends from the 70s, TkDodo reclaims his lead, and the new React API that has us asking questions.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Welcome to <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/reh8h9um634xzvu2h6/aHR0cHM6Ly9ieXRlcy5kZXYvYXJjaGl2ZXMvNTE0" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043076">#514</a>.</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="80" src="https://bytes.dev/images/content/eyes.png" alt="Eyeballs logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">The Main Thing</h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/monty-python-scratch.jpg" alt="The Black Knight kneels after losing his arms in Monty Python and the Holy Grail" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">"Tis but a scratch." - GitHub<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;">The Git War of 2026</h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">GitHub is having the kind of run I had during my senior year of college: I got mono, got dumped by my girlfriend, and caught swine flu in the same month (your loss, Lexy). It was bad when Actions went down a few weeks ago, but during its latest eight-hour outage, <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/8ghqh3uor2z9n5hkh9/aHR0cHM6Ly9jdXJzb3IuY29tL2NoYW5nZWxvZy9vcmlnaW4tY29kZS1ob3N0aW5n" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043078">Cursor</a>, <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/vqh3hmuowvlgrnughl/aHR0cHM6Ly93d3cuY2xvdWRmbGFyZS5jb20vcHJvZHVjdHMvYXJ0aWZhY3RzLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043079">Cloudflare</a>, and <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/l2heh6ulxner73c6h0/aHR0cHM6Ly9jb2RlLnN0b3JhZ2Uv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043080">The Pierre Computer Company</a> all launched competing products, officially kicking off “The Git War of 2026.”</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Why is this happening?</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">According to <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/m2h7h6u34qvez3smhq/aHR0cHM6Ly9naXRodWIuYmxvZy9uZXdzLWluc2lnaHRzL2NvbXBhbnktbmV3cy90aGUtYXVndXN0LTE3LW91dGFnZS1hbmQtdGhlLXdvcmstYWhlYWQv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043081">their postmortem</a>, GitHub is now processing 3 billion commits and merging 130M PRs a month, which has led to their systems failing under the load. Basically what you’d expect from giving developers infinite slop cannons. Normally, “we can’t scale fast enough” is a great sign for your business, but when developers can’t get work done, they’re going to start looking elsewhere.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Let’s meet the new competitors:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Origin:</strong> After poaching one of GitHub’s architects, Cursor built a <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/dphehmuepov5n8amh4/aHR0cHM6Ly9jdXJzb3IuY29tL2Jsb2cvZ2l0LWF0LWFueS1zY2FsZQ==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043082">new architecture for Git hosting</a> that is supposed to make their Git forge faster and more reliable than GitHub. Although it has a UI for reviewing code, it’s currently BYO CI/CD, so you still need a GitHub Actions alternative.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Code Storage:</strong> The Pierre Computer Co. (another team of former GitHubbers) took an API-only approach to building <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/l2heh6ulxner73c6h0/aHR0cHM6Ly9jb2RlLnN0b3JhZ2Uv" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043080">their Git storage solution</a> that is already being used by Lovable and Bolt. It’s hipster code storage for companies with users who are generating code.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><strong style="font-weight: 600;">Artifacts:</strong> Cloudflare’s <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/e0hph0u7rl64o4b8h2/aHR0cHM6Ly9ibG9nLmNsb3VkZmxhcmUuY29tL2FydGlmYWN0cy1naXQtZm9yLWFnZW50cy1iZXRhLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043083">“versioned storage that speaks Git”</a> is basically a “self-host your own GitHub on Cloudflare.” It provides all the building blocks, like versioned storage, pipelines, events, and CI, that you need to allow your agents to go wild.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><strong style="font-weight: 600;">Bottom Line:</strong> None of these, in their current form, are really replacements for GitHub. On the surface, it looks like the vultures are swarming, but I don’t think GitHub will mind a few more competitors to help share the load.</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse; margin-top: 40px; text-align: center;"><tbody><tr><td style="border-collapse: collapse !important; padding-top: 12px; word-break: normal;">
<a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/7qh7h2u9n6qz53szh6/aHR0cHM6Ly9mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA_dT1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTE0" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1880043084"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/fb-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/owhkhwuwq6podxhvhr/aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NoYXJpbmcvc2hhcmUtb2Zmc2l0ZS8_dXJsPWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY1MTQ=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1880043085"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/li-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/z2hgh7uelknwxniph0/aHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQvP3RleHQ9R2l0SHViJTIwb3V0YWdlcyUyMGtpY2slMjBvZmYlMjB0aGUlMjBHaXQlMjBXYXIlMjBvZiUyMDIwMjYuJnVybD1odHRwcyUzQSUyRiUyRmJ5dGVzLmRldiUyRmFyY2hpdmVzJTJGNTE0" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1880043086"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/tw-share-icon.png"></a><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/p8hehqu4q2mxo6cqh3/bWFpbHRvOj9zdWJqZWN0PVlvdSUyMGxpa2UlMjBjb3JuYnJlYWQlM0YmYm9keT1UaG91Z2h0JTIweW91JTI3ZCUyMGxvdmUlMjB0aGlzJTIwd2VlayUyN3MlMjBCeXRlcyUwQS0tLSUwQUdpdEh1YiUyMG91dGFnZXMlMjBraWNrJTIwb2ZmJTIwdGhlJTIwR2l0JTIwV2FyJTIwb2YlMjAyMDI2LiUwQWh0dHBzJTNBJTJGJTJGYnl0ZXMuZGV2JTJGYXJjaGl2ZXMlMkY1MTQ=" rel="noopener" style="color: #12b5e5; font-weight: 600; padding-left: 5px; text-decoration: none;" target="_blank" url-id="1880043087"><img alt="" style="display: inline-block; max-width: 100%; width: 32px;" width="25" src="https://bytes.dev/images/em-share-icon.png"></a>
</td></tr></tbody></table>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="150" src="https://bytes.dev/images/content/coderabbit-logo.png" alt="CodeRabbit logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;"><span>Our Friends <br class="mobile-break">(With Benefits)</span></h2>
</div>
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; max-width: 100%; padding: 24px; padding-bottom: 12px;">
<img src="https://bytes.dev/images/content/not-sure-report.jpg" alt="A man shrugs while reporters hold microphones toward him" width="600" style="border-radius: 5px; max-width: 100%;"><p style="font-family: Outfit, sans-serif; font-size: 17px; font-style: italic; line-height: 1; margin: 0; padding-bottom: 4px; padding-left: 24px; padding-right: 24px; padding-top: 10px; text-align: center;">App developers when you ask them about security<!-- --> </p>
</div>
<h3 style="font-size: 24px; margin-bottom: 0; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/x0hph3ueqpo300t5hl/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYWQtYnl0ZXMtMDEx" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043088">Automated security review for every PR</a></h3>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">CodeRabbit just launched a new product called Security that gives you continuous code security that’s powered by actual reasoning instead of brittle regex rules.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Their security agents are able to think like an AI-driven attacker and hunt for real vulnerabilities across your entire codebase. Then they:</p>
<ul>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Prioritize real risks based on exploitability and blast radius, instead of spamming you with false positives.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Explain the problems in plain English.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Secure your code with drafted fixes ranked by risk, right in the PR. All you have to do is merge.</p>
</li>
</ul>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">It runs a security review on every PR before merge, plus you can schedule deep scans across your full codebase to run at set intervals.</p>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5; padding-left: 24px; padding-right: 24px;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/x0hph3ueqpo300t5hl/aHR0cHM6Ly9jb2RlcmFiYml0LmxpbmsvYWQtYnl0ZXMtMDEx" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043088">Get 10 free code scans to try it out</a> and see why Jensen Huang said, “We’re using CodeRabbit all over NVIDIA.”</p>
<hr style="border: 0; border-bottom: 5px solid; border-color: #f5f5f5; margin-bottom: 100px; margin-top: 100px;">
<div style="text-align:center;margin-bottom:36px">
<img width="110" src="https://bytes.dev/images/content/cool-bits.png" alt="Cool Bits logo" style="max-width: 100%;"><h2 style="font-family: Paytone One, sans-serif; font-size: 28px; margin-top: 10px; text-transform: uppercase;">Cool Bits</h2>
</div>
<ol>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">TkDodo saw his “most CoolBits” lead shrinking, so he decided to get back in the game and write about <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/6qhehoul95zoegcohk/aHR0cHM6Ly90a2RvZG8uZXUvYmxvZy9yZWxpYWJsZS1xdWVyeS1wcmVmZXRjaGluZy13aXRoLXRhbnN0YWNrLXJvdXRlcg==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043089">reliable query prefetching with TanStack Router</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Boshen added <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/kkhmh2unx5rmv0blh7/aHR0cHM6Ly9veGMucnMvYmxvZy8yMDI2LTA4LTE4LXJlYWN0LWNvbXBpbGVyLXN1cHBvcnQ=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043090">support for the React Compiler to OXC</a>, meaning your dreams of having a bare-metal Rust dev environment in Vite are finally a reality.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">If your React Native app feels slow, open Expo Observe, which monitors real-user metrics like cold starts and time-to-interactive, and will tell you exactly which build caused the regression. <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/58hvh8ug6nq72ra6h4/aHR0cHM6Ly90cnkuZXhwby5kZXYvb2JzZXJ2ZS1nYS1ieXRlcw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043091">You get 100k events a month for free, so try it today</a>. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Vercel Labs created its own <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/25h2h9u3m86dwmb3h4/aHR0cHM6Ly9meC5zaA==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043092">minimalist agent harness</a> called <code style="font-size: 15px;">fx</code>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Rapha Amorim <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/qvh8h8udk4znpltlhk/aHR0cHM6Ly9yYXBoYS5sYW5kL2ludHJvZHVjaW5nLW9qLw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043093">created <code style="font-size: 15px;">oj</code></a>, a bundler with Vite’s API and performance that uses way less memory.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">It only took 60 years, but System R developers are finally having their moment now that everyone is talking about WALs (write-ahead logs) and object storage, including Chroma, who wrote <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/9qhzhdud5609r7s9h3/aHR0cHM6Ly93d3cudHJ5Y2hyb21hLmNvbS9lbmdpbmVlcmluZy93YWwz" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043095">a very long post</a> about how they built theirs.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Agents are writing more of your code, and that’s fine — the trouble is your release process still moves at human speed. <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/3ohphdu3p20zl6frhn/aHR0cHM6Ly9zcnYuYnV5c2VsbGFkcy5jb20vYWRzL2xvbmcveC9USE1RUzNTUFRUVFRUVERST0NGQ1dUVFRUVFRHVVo2SzJWVFRUVFRUTjNGVjVCRVRUVFRUVExTVktKSUZLSTQ1MjdBV04yWkJDMlNDNE1JREdIM01QRVFKWlE0RT9jaWQ9MzkxNjY2" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043096">LaunchDarkly’s CodeControl</a> enables teams to roll changes out gradually and helps automatically revert issues in production. [sponsored]</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">Formisch, a framework-agnostic, type-safe, modular form library (try saying that 10 times fast), just <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/n2hohquv7xmrp8t6hg/aHR0cHM6Ly9mb3JtaXNjaC5kZXYvYmxvZy9mb3JtaXNjaC12MS8=" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043097">released version 1.0</a>.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;"><a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/48hvh7umxpvgepuxh7/aHR0cHM6Ly9idW4uY29tL2Jsb2cvYnVuLXYxLjQjd2hhdC1zLW5ldw==" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043098">Bun 1.4 is out</a>, featuring better Node.js compatibility, significantly less memory usage, and a bunch of new built-in APIs.</p>
</li>
<li>
<p style="font-family: Outfit, sans-serif; font-size: 19px; line-height: 1.5;">React added a <a href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/wnh2h6uq0kngp4i7hx/aHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0LWRvbS9icm93c2Vy" style="color: #12b5e5; font-weight: 600; text-decoration: underline;" url-id="1880043099">new API to detect whether your code is running in the browser</a>: <code style="font-size: 15px;">use(browser(reason?))</code>. I’m Ron Burgundy?</p>
</li>
</ol>
<div style="text-align:center;padding-bottom:80px;padding-top:80px">
<div class="bg-alt" style="background-color: #f5f5f5; border-radius: 16px; margin-bottom: 40px; padding: 24px;"><div style="margin-top:-40px">
<img src="https://bytes.dev/images/bytes-icon.png" alt="Bytes" width="55px" style="max-width: 100%; width: 55px;"><h5 style="font-size:18px;font-weight:400;margin-bottom:24px">Want us to say nice things <br> about your company?</h5>
<div style="margin-bottom:16px"><a style="background-color: #FCBA28; border: 1px solid #231F20; border-radius: 100px; color: #231F20; font-size: 14px; font-weight: 600; padding: 8px 14px; text-decoration: none;" href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/reh8h9um634xrvf2h6/aHR0cHM6Ly9ieXRlcy5kZXYvYWR2ZXJ0aXNl" url-id="1880043100">Sponsor Bytes</a></div>
<div style="margin-bottom:20px"><a style="color: #FCBA28; font-size: 14px; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/08hwhgu2l9vz5khlh5/aHR0cHM6Ly9ieXRlcy5kZXYvc2hhcmU=" url-id="1880043101">or share it</a></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; padding-left: 24px; padding-right: 24px;">Built with ❤️ by<!-- --> <a style="color: #ed203d; font-weight: 600; text-decoration: underline;" href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/8ghqh3uor2z9v5hkh9/aHR0cHM6Ly9maXJlc2hpcC5kZXY=" url-id="1880043102">Fireship</a></p>
</div></div>
<p style="font-family: Outfit, sans-serif; font-size: 14px; line-height: 1.5; opacity: 0.5; padding-left: 24px; padding-right: 24px;">50 W Broadway Ste 333 PMB 51647 Salt Lake City, Utah 84101</p>
<div style="font-family:Papyrus, cursive"><a class="unsubscribe-link" href="https://c5e21242.click.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl/vqh3hmuowvlg7nughl/aHR0cHM6Ly9ieXRlcy5kZXYvdW5zdWJzY3JpYmU=" style="color: #9B9890;" url-id="1880043103">Unsubscribe from Bytes</a></div>
</div>
</div></td>
<td style="border-collapse: collapse !important; word-break: normal;"></td>
</tr></tbody></table>
<span style="display: none"><a href="https://c5e21242.unsubscribe.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl">Unsubscribe</a></span>
<!-- -->
<img src="https://c5e21242.open.convertkit-mail.com/0vu0e0g2zzb9h9pmr72flhvwd09xqhnhnvdl" alt="">
</body>
</html>