State of JavaScript 2026

January 2, 2026

Three shifts defined JavaScript in 2025: security vulnerabilities exposed RSC's attack surface (React2Shell hit CVSS 10.0; 39% of cloud environments vulnerable), supply chain attacks evolved into self-replicating worms (Shai-Hulud's second wave hit ~800 packages; npm phishing attack hit 2.6B weekly downloads), and Rust-based tooling went mainstream (Turbopack default in Next.js 16; Vite+ unifying Vite, Vitest, Oxc, Rolldown).

Infographic showing two opposing trends in the JavaScript ecosystem in 2025: on the left, major security crises including a critical "React2Shell" vulnerability, large-scale phishing attacks affecting billions of weekly downloads, and supply-chain malware infecting hundreds of packages; on the right, major performance gains driven by native tooling, including a 10× faster TypeScript build, Rust-based tooling like Turbopack in Next.js 16 with up to 10× faster updates, and a React compiler improving app speeds by about 2.5×.
JavaScript in 2025: Security Turmoil Meets a Performance Revolution

TypeScript 7 native port announced with 10x build speedup. Anthropic acquired Bun after Claude Code reached $1B run-rate revenue. React Compiler 1.0 went stable (2.5x faster interactions on Meta Quest Store). React Foundation announced under Linux Foundation. React Native completed its New Architecture transition and shipped Hermes V1 as default engine. Vitest 4.0 stabilized browser mode; Angular 21 adopted it as default. ECMAScript 2025 shipped Set methods, Iterator helpers, and Import Attributes. WinterCG moved to Ecma as WinterTC (announced Jan 2025; W3C group closed Apr 3).

Actions for 2026: Patch React/Next.js for React2Shell (CISA KEV listed), patch Metro dev server for Metro4Shell (CISA KEV, deadline February 26), rotate npm tokens and enable phishing-resistant MFA, test `@typescript/native-preview` before TypeScript 7.0 (early 2026), review React Compiler adoption, plan Node.js security updates (January 7, 2026).


JavaScript 2025 Timeline

January 2025

January 21
release

React Native 0.77

React Native 0.77 shipped with display: contents, boxSizing, mixBlendMode, Android 16KB page support, and a Swift template for iOS. New Architecture enabled by default (since 0.76).

February 2025

February 19
release

React Native 0.78

React Native 0.78 brought full React 19 support, simplified React Compiler enablement, and native XML drawable support on Android.

March 2025

March 11
announcement

TypeScript 7 Announced

Microsoft announced TypeScript 7, a native port of the compiler to Go. Anders Hejlsberg: "The native implementation will drastically improve editor startup, reduce most build times by 10x, and substantially reduce memory usage."
March 17
milestone

SpiderMonkey Object Allocator

SpiderMonkey's new object allocator achieved 2.3x speedup in micro-benchmarks.
March 31
milestone

Microsoft AppCenter Retired

April 2025

April 2025
release

React Native 0.79

React Native 0.79 shipped with Metro v0.82 delivering 3x+ faster cold starts through deferred hashing, uncompressed JavaScript bundles in APKs (Discord reported ~12% faster TTI on Android), and stable exports/imports fields in package.json.
April 30
release

Expo SDK 53

Expo SDK 53 shipped with React Native 0.79 and React 19. New Architecture enabled by default in all projects (not just new ones).

May 2025

May 6
release

Node.js 24

Node.js 24 released with npm v11 and a shell safety improvement: deprecating args when { shell: true } for spawn()/execFile() to prevent unsafe argument concatenation.
May 22
release

TypeScript Native Preview on npm

@typescript/native-preview landed on npm, the first public preview of TypeScript's native port.
May 28-30
event

App.js Conf 2025

App.js Conf 2025 in Krakow, Poland. 500 React Native developers attended on-site across the three-day event.

June 2025

June 4
release

Jest 30

Jest 30 shipped with slimmed core and 50% speedup at Happo.
June 6
security

React Native Aria Supply Chain Attack

17 @react-native-aria and @gluestack-ui packages compromised (June 6-8) via a leaked npm token without 2FA. Over 1M combined weekly downloads affected. RAT payload hidden via whitespace obfuscation.
June 12
release

React Native 0.80

React Native 0.80 shipped with React 19.1.0, 1,167 commits from 127 contributors. Legacy Architecture officially frozen. Opt-in strict TypeScript API introduced. Faster iOS builds via prebuilds, smaller Android APKs via IPO optimization.
June 13
event

React Summit 2025

Mark Erikson published "The React Community in 2025" at React Summit, analyzing ecosystem tensions. Key thesis: "It is not so much Vercel and Next.js taking over React… as the React team taking over Next.js."
June 20
release

React Native Skia WebGPU

React Native Skia shipped Fabric reconciler (50% faster iOS animations, 200% faster Android), expanded to macOS, tvOS, and Node.js, and added WebGPU integration for 2D/3D composability with Skia Graphite backend support.

July 2025

July 18
security

eslint-config-prettier Compromised

eslint-config-prettier compromised (CVE-2025-54313) with malicious versions targeting Windows.
July 22
milestone

Callstack Acquired by Viking Global

Viking-affiliated funds acquired majority stake in Callstack (equity valued ~PLN 0.5B). Callstack is a major React Native consultancy, React Foundation founding member, and maintainer of React Native visionOS.
July 23
release

Reanimated 4 Stable

July 31
release

FlashList v2

Shopify released FlashList v2, a ground-up rewrite for the New Architecture. Precise rendering without size estimates, surpassed 2M monthly downloads.
release

Node.js 22.18.0

Node.js 22.18.0 enabled experimental type stripping by default, allowing .ts files to run without a build step.

August 2025

August 12
release

React Native 0.81

React Native 0.81 shipped with Android 16 (API 36) support, experimental precompiled iOS builds (up to 10x faster initial compile), and edge-to-edge display. Built-in JSC removed (Hermes now the recommended engine).
August 26
security

s1ngularity Attack

"s1ngularity" attack: malicious versions of Nx packages published via stolen npm token. Active for ~4 hours before removal. 2,349 credentials leaked including GitHub PATs, AWS, OpenAI, and Anthropic API keys.

September 2025

September 2-4
event

React Universe Conf 2025

At React Universe Conf 2025 (Sep 2-4) in Wroclaw, Poland, speakers teased React Native 1.0 as "on the horizon" after 10 years of development.
September 5
release

Shopify New Architecture Migration

Shopify published its New Architecture migration report. The flagship Shopify mobile app completed the migration, with 86% unified codebase across platforms.
Infographic explaining the Shai-Hulud supply-chain attack on npm, described as the first self-replicating worm in the ecosystem. It shows a four-stage process: infection via malicious preinstall scripts, theft of developer credentials, replication by publishing infected package versions using stolen credentials, and a destructive fallback attempting to delete user home directories. A sidebar lists impact statistics, including about 200 packages infected in an initial wave and 796 packages compromised in a later wave, affecting roughly 132 million monthly downloads.
Shai-Hulud: How a Self-Replicating Worm Turned npm Into an Attack Vector
September 8
security

npm Supply Chain Attack

Largest npm supply chain attack: 18+ packages including chalk, debug, ansi-styles, strip-ansi trojaned via phishing campaign using fake 2FA reset emails from npmjs.help. Malicious versions live for ~2 hours, affecting 2.6B weekly downloads.
September 14-15
security

Shai-Hulud Worm Emerged

Shai-Hulud worm emerged: patient zero package (rxnt-authentication) published September 14; ReversingLabs first detected the worm September 15. Sysdig's analysis estimated ~200 infected packages early on, with hundreds affected in the first wave.
September 10
release

Expo SDK 54

Expo SDK 54 shipped with React Native 0.81. Last SDK that allows disabling New Architecture. 75% of SDK 53 projects built on EAS were already using New Architecture.
September 26
milestone

Flipper Archived

October 2025

October 7-8
event

React Conf 2025

React Conf 2025. Linux Foundation announced intent to launch the React Foundation (founding members: Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion, Vercel). Meta committed 5-year partnership and $3M+ funding covering React and React Native. React Compiler 1.0 stable with automatic memoization, 2.5x faster interactions on Meta Quest Store.
October 8
release

React Native 0.82

React Native 0.82 became the first release that runs entirely on the New Architecture (opt-out ignored). Hermes V1 experimental support introduced. Legacy Architecture frozen in 0.80.
October 9-10
event

ViteConf 2025

ViteConf 2025. Vite+ announced, a unified toolchain bundling Vite, Vitest, Oxc, Rolldown.
October 15
release

Node.js 25

Node.js 25 shipped with V8 14.1, --allow-net permission flag, Web Storage enabled by default.
October 21
release

Next.js 16

Next.js 16 made Turbopack default Bundler (5-10x faster Fast Refresh, 2-5x faster builds).
October 22
release

Vitest 4.0

Vitest 4.0 stabilized browser mode with Playwright, visual regression testing, Playwright traces. Angular 21 adopted Vitest as default.

November 2025

Infographic detailing the React2Shell vulnerability (CVE-2025-55182), a critical remote code execution flaw in the React Server Components Flight protocol. It shows an unauthenticated attacker sending a malicious payload past defenses to an RSC Flight endpoint, resulting in remote code execution. The graphic highlights a CVSS 10.0 severity rating, inclusion in CISA's Known Exploited Vulnerabilities catalog, an estimated 39% of cloud environments exposed at disclosure, and affected versions including React 19.0–19.2, Next.js 14.3 and later, and other frameworks using React Server Components.
React2Shell: A Critical React Server Components RCE Threat
November 25
November 29
security

React2Shell Reported

React2Shell (CVE-2025-55182) reported to Meta Bug Bounty by Lachlan Davidson. CVSS 10.0 RCE in RSC Flight protocol. Meta security confirmed November 30; fix created December 1.

December 2025

December 2
announcement

TypeScript 7 Progress Update

TypeScript 7 progress update: native previews stable in editors, close to 10x speedup without --incremental. TypeScript 6.0 will be last JS-based release. Breaking changes in 7.0: --strict default, --target es5 removal, --baseUrl removal, --moduleResolution node10 removal. Both 6.0 and 7.0 targeting early 2026.
December 2-3
milestone

Anthropic Acquired Bun

December 3
security

React2Shell Patches Released

React2Shell patches released: React 19.0.1, 19.1.2, 19.2.1. Near-100% exploit reliability against unpatched systems. Affected: React 19.0-19.2, Next.js 14.3.0-canary.77+, 15.x, 16.x, all RSC frameworks. 39% of cloud environments vulnerable. WAF mitigations deployed by Cloudflare, AWS, Fastly, Google Cloud.
December 5
security

CISA KEV Listing

CISA added CVE-2025-55182 to KEV catalog; active exploitation confirmed.
December 10
release

Deno 2.6

Deno 2.6 integrated TypeScript's native port via --unstable-tsgo.
release

React Native 0.83

React Native 0.83 became the first release with zero breaking changes. React 19.2 with <Activity> component and useEffectEvent APIs. Long Tasks API and Intersection Observer API in canary.
December 11
security

More RSC Vulnerabilities Disclosed

More RSC vulnerabilities disclosed: CVE-2025-55184 (DoS, CVSS 7.5), CVE-2025-55183 (Source Code Exposure, CVSS 5.3).
November 4 / December 21
security

CVE-2025-11953 (Metro4Shell)

Critical RCE (CVSS 9.8) in @react-native-community/cli via Metro dev server's /open-url endpoint. JFrog published the vulnerability November 4; in-the-wild exploitation observed starting December 21, delivering a Rust-based payload. 2M weekly downloads affected. Fix: update to cli-server-api v20.0.0+ or bind dev server to localhost.

February 2026

February 5
security

Metro4Shell Added to CISA KEV

CVE-2025-11953 added to CISA KEV catalog (Date Added: 02/05/2026, Due Date: 02/26/2026).
February 11
release

React Native 0.84

React Native 0.84 made Hermes V1 the default JavaScript engine. RCT_REMOVE_LEGACY_ARCH set to ON by default (legacy code no longer compiled into binaries). precompiled iOS binaries ship by default. Node.js v22.11+ required.

JavaScript 2026 Watchlist

Infographic titled "Beyond the Mandates: Strategic Areas to Track in 2026" highlighting four focus areas in the JavaScript ecosystem: the toolchain race between Rust-based frontend tools such as Turbopack and Vite; a testing shakeup with Vitest gaining adoption, including as the default in Angular 21; AI-driven development using browser-controlling agents like Playwright MCP; and edge runtime standardization led by WinterTC at Ecma to enable write-once, deploy-anywhere serverless functions across platforms like Vercel, Cloudflare, and Deno.
Beyond the Mandates: Key JavaScript Strategy Areas to Watch in 2026

1. React Server Components Security

When: Now. Patched versions released December 3, 2025. CISA KEV listed December 5.
Context: React2Shell (CVE-2025-55182), a CVSS 10.0 RCE in RSC Flight protocol. Near-100% exploit reliability. Affects React 19.0-19.2, Next.js 14.3.0-canary.77+, 15.x, 16.x, all RSC frameworks. 39% of cloud environments vulnerable at disclosure.
Action: Update to React 19.0.1, 19.1.2, or 19.2.1. Update Next.js per security bulletin. Audit for CVE-2025-55184 (DoS) and CVE-2025-55183 (Source Code Exposure).


2. TypeScript 7.0 Migration

When: Early 2026. TypeScript 6.0 (last JS-based release) and 7.0 (native port) both targeting this window.
Context: TypeScript 7 native port delivers ~10x build speedup. Breaking changes: --strict default, --target es5 removal, --baseUrl removal, --moduleResolution node10 removal.
Action: Test @typescript/native-preview now. Audit codebase for deprecated patterns. Plan migration path from 5.x → 6.0 → 7.0.


3. Node.js Security Releases

When: January 7, 2026 (delayed from December 2025).
Context: Security releases for all active lines (20.x, 22.x, 24.x, 25.x). Node.js 25.x has 3 high-severity and 1 low-severity vulnerability.
Action: Plan update window. Test against patched versions when released.


4. npm Supply Chain Defenses

When: Now. Shai-Hulud's first wave (September) compromised hundreds of packages; the second wave (November) compromised ~800 packages (~132M monthly downloads). Two attacks hit the React Native ecosystem directly: 17 `@react-native-aria` packages compromised in June (1M+ weekly downloads); Metro4Shell (CVE-2025-11953) targeted dev servers with CVSS 9.8 RCE.
Context: Attack vector: phishing campaign using fake 2FA reset emails. Worm used preinstall scripts for credential theft, destructive fallback attempted home directory deletion.
Action: Enable phishing-resistant MFA (hardware keys). Rotate npm tokens and GitHub PATs. Use lockfile-only installs (npm ci). Consider Deno's `minimumDependencyAge` or Bun's `minimumReleaseAge`. Block webhook.site at network level. Audit @react-native-aria dependencies. Bind Metro dev server to localhost.


5. Vite+ Unified Toolchain

When: Public preview targeting early 2026. Announced October 2025 at ViteConf.
Context: VoidZero bundles Vite, Vitest, Oxc, and Rolldown into unified Rust-based toolchain. Addresses JavaScript's "fragmentation tax."
Action: Review when preview releases. Compare against Turbopack (default in Next.js 16). Choice depends on framework commitment.


6. Testing Tool Migration

When: Now. Vitest 4.0 stable October 2025. Angular 21 adopted Vitest as default.
Context: Vitest browser mode with Playwright now stable. Visual regression testing built-in. Jest 30 slimmed core but Vitest gaining framework adoption. Playwright 1.57 switched to Chrome for Testing. Chrome 137+ removed `--load-extension` support in branded Chrome; Cypress recommends Chrome for Testing or Chromium for extension-based workflows.
Action: Review Vitest for new projects. For Cypress users with extension-based workflows: switch to Chrome for Testing, Chromium, or Electron.


7. React Compiler Adoption

When: Now. React Compiler 1.0 stable October 2025.
Context: Automatic memoization at build time. 2.5x faster interactions on Meta Quest Store. Removes manual useMemo/useCallback/React.memo. Works with React 17+ via runtime package. React Native 0.78 simplified compiler enablement; enabled by default in Expo SDK 54.
Action: Add babel-plugin-react-compiler to build. Test incrementally. Remove manual memoization as compiler handles it.


8. Edge Runtime Standardization

When: Ongoing. WinterCG moved to Ecma as WinterTC (announced Jan 2025; W3C group closed Apr 3, 2025).
Context: Runtime Keys proposal standardizes runtime identification. Serverless functions API in development. Goal: write once, deploy to Cloudflare Workers, Vercel Edge Runtime, Deno, WinterJS.
Action: Test code across edge runtimes. Track WinterTC proposals for API convergence.


9. ECMAScript 2026 Features

When: ES2026 finalization mid-2026. Features landing in browsers throughout 2026.
Context: Likely ES2026: Uint8Array Base64 (Stage 4), Error.isError (Stage 4). In-flight: import defer (Stage 3), Math.sumPrecise (Stage 2.7). Temporal API shipped in Firefox 139.
Action: Track TC39 proposals. Test Temporal API in Firefox. Review import defer for startup performance optimization.


10. Framework Landscape

When: Track through 2026.
Context: Astro reports 3rd fastest growing on GitHub (citing Octoverse 2025), 3M monthly installs. Svelte 5 Runes shipped. TanStack Start at RC. Vue Router 4.5.0 added view transitions. Angular shipping signals and zoneless change detection. React Native completed its New Architecture transition (0.82 opt-out removed; 0.84 Hermes V1 default), teased 1.0 at React Universe Conf. React Foundation governance may shift ecosystem dynamics.
Action: Review frameworks based on project requirements. Track React Foundation impact on RSC adoption post-React2Shell. For React Native: ensure projects are on New Architecture and Hermes V1.


11. AI Tooling Integration

When: Accelerating through 2026. MCP servers shipping now.
Context: Playwright MCP enables AI agents to control browsers. Astro MCP server for AI tool integration. Next.js DevTools MCP support added. React Native Skia WebGPU enabled GPU compute for 2D/3D composability. `react-native-fast-tflite` provides JSI-powered on-device ML inference.
Action: Review MCP integration for developer tooling. Test Playwright MCP for automated testing workflows. Test React Native Skia WebGPU for compute-intensive mobile workloads.


12. Browser Engine Performance

When: Features shipping now. Track through 2026.
Context: V8 Explicit Compile Hints reduced parse/compile by 630ms average. Safari 26 WebGPU enables GPU compute in JavaScript. Memory64 WebAssembly in Chrome 133 and Firefox 134.
Action: Test V8 compile hints for large applications. Review WebGPU for compute-intensive workloads. Track WebAssembly Memory64 for >4GB use cases.


13. Metro4Shell (CVE-2025-11953)

When: Now. CISA KEV listed February 5, 2026. Federal patch deadline February 26.
Context: Critical CVSS 9.8 RCE in @react-native-community/cli via Metro dev server's /open-url endpoint. In-the-wild exploitation observed December 21, 2025, delivering a Rust-based payload. 2M weekly downloads affected.
Action: Update @react-native-community/cli-server-api to v20.0.0+. Bind Metro dev server to localhost. Review network exposure of all development servers.


14. React Native New Architecture

When: Completed. 0.82 removed opt-out (October 2025); 0.84 compiled out legacy code (February 2026).
Context: JSI replaces the Bridge, TurboModules replace NativeModules, Fabric replaces the old renderer. Hermes V1 is now the default engine. Shopify completed migration with 86% unified codebase. 1.0 teased at React Universe Conf.
Action: Migrate remaining Legacy Architecture dependencies. Update third-party libraries to New Architecture-compatible versions. Test Hermes V1 compatibility. Track React Native 1.0 timeline.

Enjoyed this article?

Subscribe to get more deep-dives in your inbox.

Continue Reading

Stay ahead of the curve

Weekly deep-dives into programming languages, frameworks, and the tools shaping software engineering.