- TypeScript 7.0 goes native: the Go-based compiler is GA with roughly 10x faster type-checking (VS Code ~125s → ~11s) and new
--checkersparallelism. - CSS levels up: Gap Decorations reach stable Chromium and
field-sizing: contenthits Baseline as Firefox 152 completes cross-browser support. - React & Next.js: React Compiler 1.0 auto-memoizes at build time, and Next.js 16.3 Preview brings Instant Navigations for SPA-fast server routing.
- Patch alert: PostgreSQL fixed 11 CVEs across all branches and MySQL 8.4.10 LTS rolled up its quarterly security release — apply both.
Web Development — Top of the Day
1. TypeScript 7.0 ships — the native Go compiler is GA
The rewritten compiler is now stable, with roughly 10x faster type-checking — VS Code’s codebase fell from ~125s to ~10.6s — plus lower memory and new --checkers parallelism. (v7.0 — July 8, 2026)
npm install -D typescript@7.0
npx tsc --checkers 8 # parallel type-checking on big repos2. CSS Gap Decorations reach stable Chromium
The new column-rule / row-rule properties draw lines in the gaps of grid and flex layouts natively, with animatable width and color. (Chrome 149 — June 2, 2026)
.grid {
display: grid;
gap: 20px;
column-rule: 2px solid #ccc;
row-rule: 1px dashed #999;
}3. field-sizing: content reaches Baseline
Firefox 152 completed cross-browser support, so <textarea>, <input> and <select> auto-grow to fit their content with a single line. (Baseline — June 2026)
textarea {
field-sizing: content;
max-block-size: 10lh;
}4. Next.js 16.3 Preview — Instant Navigations
A new opt-in model (cacheComponents: true) makes server-driven navigations feel SPA-instant: every server await becomes a choice to Stream, Cache or Block. (16.3 Preview — June 25, 2026)
// next.config.ts
export default { cacheComponents: true };5. React Compiler 1.0 is stable
The build-time compiler auto-memoizes components and hooks, so hand-written useMemo / useCallback / memo become largely unnecessary. Reported ~12% faster loads and up to 2.5x faster interactions. (v1.0 — Oct 7, 2025)
npm install -D --save-exact babel-plugin-react-compiler@latest6. HTML gains declarative keyboard nav + invoker commands
The new focusgroup attribute gives arrow-key roving focus with zero JS, and the Invoker Commands API (command / commandfor) — now Baseline — lets buttons open and close popovers and dialogs declaratively. (Baseline Dec 2025 / Chrome 150)
<button commandfor="menu" command="toggle-popover">Menu</button>
<div id="menu" popover>Hello</div>7. Node.js 26.5.0 streams text from Blobs
The new blob.textStream() streams text without buffering the whole Blob, and an --experimental-import-text flag lets ESM import text files directly. (v26.5.0 — July 8, 2026)
const blob = new Blob(["hello\nworld"]);
for await (const chunk of blob.textStream()) console.log(chunk);8. Tailwind CSS v4.3 adds first-party scrollbar utilities
Style scrollbar width, thumb and track straight from your markup — no plugin, no custom CSS. (v4.3 — May 8, 2026)
<div class="scrollbar-thin scrollbar-thumb-sky-700 scrollbar-track-sky-100 overflow-auto">…</div>Core Tech — Latest Updates
</> HTML
1. Lazy-loading now works on <video> and <audio>
The loading attribute accepts loading="lazy" on media elements, deferring download until the element nears the viewport. (Chrome 148 — May 5, 2026)
<video loading="lazy" controls>
<source src="clip.mp4" type="video/mp4">
</video>2. The focusgroup attribute
A declarative container that manages roving arrow-key focus across child controls (supports wrap), replacing manual roving tabindex. (Chrome 150 — June 2026)
<div focusgroup="wrap" aria-label="Formatting">
<button>Bold</button><button>Italic</button>
</div>3. Invoker Commands API is now Baseline
Buttons control popovers and dialogs declaratively via commandfor (target id) + command (e.g. show-modal), with no click handlers. (Baseline — Dec 2025)
<button commandfor="dlg" command="show-modal">Open</button>
<dialog id="dlg"><button commandfor="dlg" command="close">Close</button></dialog></> CSS
1. Gap Decorations — rules between grid/flex items
Style layout gutters with column-rule / row-rule (plus row-rule-inset); the rules are animatable. (Chrome 149 — June 2, 2026)
.grid {
display: grid;
gap: 20px;
column-rule: 2px solid red;
row-rule: 1px dashed gray;
row-rule-inset: 10px;
}2. field-sizing: content reaches Baseline
Form controls auto-resize to fit content; Firefox 152 completed cross-browser support. (Baseline — June 2026)
textarea { field-sizing: content; }3. The :open pseudo-class lands in Safari
Safari 26.5 shipped :open, which matches open-state elements — <details>, <dialog>, an expanded <select> and picker inputs. (Safari 26.5 — May 11, 2026)
select:open { border: 1px solid skyblue; }details[open]-style matching.</> JavaScript
1. Upsert reaches Stage 4 — Map.prototype.getOrInsert
The Upsert proposal (getOrInsert, getOrInsertComputed) is finished and slated for the spec. (Stage 4 — TC39 2026.01.20)
const cache = new Map();
cache.getOrInsertComputed("user:1", (key) => loadUser(key));2. Iterator Sequencing reaches Stage 4 — Iterator.concat
A standard way to lazily chain multiple iterators and iterables into one. (Stage 4 — TC39 2025.11.18)
function* a(){ yield 1; yield 2; }
for (const x of Iterator.concat(a(), [3, 4])) console.log(x);3. Iterator.prototype.includes advances to Stage 3
Membership testing directly on iterators using SameValueZero, with an optional skip count. (Stage 3 — March 2026)
[1, 2, 3, 4, 5].values().includes(3); // true</> TypeScript
1. TypeScript 7.0 is GA — the native Go compiler
The compiler was ported to Go: ~10x faster type-checking (VS Code 125.7s → 10.6s), lower memory, and new --checkers / --builders parallelism. (v7.0 — July 8, 2026)
tsc --checkers 8 # parallel type-checking
tsc --singleThreaded # deterministic run for debugging2. TypeScript 7.0 RC preceded GA
The Release Candidate of the Go-based compiler, ~10x faster than 6.0 and positioned as day-to-day usable. (RC — June 18, 2026)
npm install -D typescript@rc && npx tsc --version3. TypeScript 6.0 — the last JS-based release
Final release on the existing JavaScript codebase, with strict on by default and legacy options removed to ease migration to 7.0. (v6.0 — March 23, 2026)
{ "compilerOptions": { "strict": true } }</> React
1. React 19.2.7 patch — Server Actions FormData fix
The latest 19.2 patch fixes missing FormData entries in Server Actions (companions 19.1.8 and 19.0.7 shipped the same day). (v19.2.7 — June 1, 2026)
npm install react@19.2.7 react-dom@19.2.72. useEffectEvent is stable (React 19.2)
A Hook to pull event-like logic out of Effects so non-reactive values (like theme) don’t re-trigger them. (v19.2 — Oct 1, 2025)
const onConnected = useEffectEvent(() => showNotification('Connected!', theme));
useEffect(() => {
const c = createConnection(url, roomId);
c.connect();
return () => c.disconnect();
}, [roomId]); // theme is NOT a dependency3. React Compiler v1.0 is stable
First stable release of the build-time compiler that auto-memoizes components and hooks; compatible with React 17+. (v1.0 — Oct 7, 2025)
npm install -D --save-exact babel-plugin-react-compiler@latest</> shadcn/ui
1. Base UI is now the default component base
New projects default to Base UI instead of Radix (the community picked it ~2-to-1). Radix is fully supported via -b radix. (July 2026 changelog)
pnpm dlx shadcn init # Base UI (default)
pnpm dlx shadcn init -b radix # Radix2. React Aria joins as a first-class base
React Aria becomes a selectable primitive base alongside Base UI and Radix, with full docs and theme support. (July 2026 changelog)
pnpm dlx shadcn@latest init --base aria3. Chat interface components + @shadcn/helpers
New chat primitives (MessageScroller, Message, Bubble, Attachment) for streamed replies and saved-thread restore, plus a helpers utilities package. (June–July 2026 changelog)
pnpm dlx shadcn@latest add message-scroller message bubble</> Tailwind CSS
1. First-party scrollbar utilities
Style scrollbars natively — width (scrollbar-thin), colors (scrollbar-thumb-*, scrollbar-track-*) and layout (scrollbar-gutter-stable). (v4.3 — May 8, 2026)
<div class="scrollbar-thin scrollbar-thumb-sky-700 scrollbar-track-sky-100 overflow-auto">…</div>2. zoom-* utilities
Utilities for the CSS zoom property — zoom-75, zoom-100, zoom-125 and arbitrary zoom-[1.1]. (v4.3 — May 8, 2026)
<div class="zoom-125">Zoomed in 125%</div>3. tab-* (tab-size) utilities
Control rendered tab width with tab-2, tab-4, tab-8 or arbitrary tab-[12px]. (v4.3 — May 8, 2026)
<pre class="tab-2">function indent() { return 'tabbed'; }</pre><pre> / code blocks without inline styles.</> Bootstrap
1. Bootstrap v5.3.8 — accessibility + dropdown fixes
Fixed the color-contrast() Sass function for WCAG 2.1, a spinner distortion in multiline flex, and a dropdown focus regression. Still the latest release. (v5.3.8 — Aug 25, 2025)
.btn-brand { color: color-contrast(#0d6efd); } // WCAG 2.1 compliant2. Bootstrap v5.3.7 — tooltip/popover trigger fix
Fixed popovers and tooltips configured with trigger: "hover click", plus a simpler box-shadow mixin. (v5.3.7 — June 17, 2025)
new bootstrap.Tooltip('#el', { trigger: 'hover click' }); // now correct3. Bootstrap v5.3.6 — .visually-hidden focus fix
Overflowing children can no longer become focusable, and the docs were ported to Astro. (v5.3.6 — May 5, 2025)
<span class="visually-hidden">Screen-reader-only text</span></> Node.js
1. Node.js 26.5.0 (Current) — streaming Blob text + text imports
Adds blob.textStream(), an --experimental-import-text flag, ReadableStream.tee() exposure, and per-iteration event-loop delay sampling. (v26.5.0 — July 8, 2026)
const blob = new Blob(["hello\nworld"]);
for await (const chunk of blob.textStream()) console.log(chunk);2. Node.js 24.18.0 (Active LTS)
The latest release on the 24.x Active LTS branch. (v24.18.0 — June 23, 2026)
nvm install 24.18.0 && node -v # v24.18.03. Node.js 22.23.1 (Maintenance LTS)
A patch release on the 22.x LTS line. (v22.23.1 — June 23, 2026)
node -v # v22.23.1</> Express
1. Express 5.2.1 — query-parser revert
Reverted an erroneous breaking change from 5.2.0 in the extended query parser; the team confirmed there was no actual vulnerability. (v5.2.1 — Dec 1, 2025)
// GET /search?filter[color]=red
app.get("/search", (req, res) => res.json(req.query.filter)); // { color: "red" }2. Express 5.2.0 — security release
Upgraded body-parser to 2.1.1 to address a CVE, replaced deprecated req.connection with req.socket, and adopted the node: protocol for querystring. (v5.2.0 — Dec 1, 2025)
app.use((req, res, next) => { console.log(req.socket.remoteAddress); next(); });3. Express 4.22.2 — query-array parsing fix (4.x)
Fixed req.query array parsing for repeated keys and unified array-cap behavior across notations; bumped qs and body-parser. (v4.22.2)
// GET /items?a=1&a=2&a=3 -> ["1","2","3"]
app.get("/items", (req, res) => res.json(req.query.a));</> MySQL
1. MySQL 8.4.10 LTS — quarterly security patch
An 8.4 LTS maintenance release tied to Oracle’s June 2026 Critical Patch Update; rolls up the quarter’s security, InnoDB and replication fixes. (v8.4.10 — June 16, 2026)
SELECT VERSION(); -- expect 8.4.10 after upgrade2. MySQL 9.7 — InnoDB redo-log writer threads auto-tuned
innodb_log_writer_threads is now derived automatically from binlog state and logical CPU count instead of a fixed default. (v9.7.0 — April 21, 2026)
SHOW VARIABLES LIKE 'innodb_log_writer_threads';3. MySQL 9.7 — SCRAM-SHA-1 deprecated for SASL LDAP auth
SCRAM-SHA-1 for SASL-based LDAP authentication is deprecated in favor of SCRAM-SHA-256; two replication variables were removed. (v9.7.0 — April 21, 2026)
SET GLOBAL authentication_ldap_sasl_auth_method_name = 'SCRAM-SHA-256';</> Next.js
1. Instant Navigations (16.3 Preview)
With cacheComponents: true, every server await is a choice to Stream (<Suspense>), Cache ('use cache') or Block; ships an instant() Playwright helper. (16.3 Preview — June 25, 2026)
// next.config.ts
export default { cacheComponents: true };2. Partial Prefetching (16.3 Preview)
Next.js prefetches a single reusable loading shell per route instead of one request per visible link (partialPrefetching: true). (16.3 Preview — June 25, 2026)
export default { cacheComponents: true, partialPrefetching: true };3. Turbopack: Rust React Compiler + persistent build cache
Turbopack adds a native Rust port of the React Compiler (20–50% faster compile), a persistent filesystem cache for next build (up to ~5.5x faster cached builds), and big dev-mode memory savings. (16.3 Preview — June 29, 2026)
export default {
reactCompiler: true,
experimental: { turbopackFileSystemCacheForBuild: true },
};Other Languages, Frameworks & Databases
1. PostgreSQL security batch (18.4 / 17.10 / 16.14 / 15.18 / 14.23)
A cumulative update fixing 11 security vulnerabilities (several CVSS 8.8, including a libpq lo_* stack overwrite and a pg_createsubscriber SQL injection) plus 60+ bugs; flags PostgreSQL 14 EOL on Nov 12, 2026. (May 14, 2026)
SELECT version(); -- 18.4 / 17.10 / 16.14 / 15.18 / 14.232. Supabase — Branching 2.0 (Launch Week 15)
Branches (isolated project copies) can now be created, reviewed and merged from the dashboard, CLI or Management API — Git integration is now optional. LW15 also shipped persistent Edge Function storage and ~97% faster cold starts. (July 16, 2026)
supabase branches create feat-new-checkout
supabase db push # apply migrations to the branch3. Redis 8.8 — new Array data type + native rate-limiter
Adds an index-addressable Array type with server-side aggregation and ring buffers, an INCREX windowed rate-limiter, and an XNACK streams command. (v8.8 — June 2, 2026)
INCREX ratelimit:user42 1 UBOUND 100 EX 60 # atomic windowed rate limit4. Drizzle ORM v1.0.0-rc.4
The v1 rework (new RQBv2 relational query builder, JIT row mappers) is now in release candidates ahead of the first stable 1.0. (rc.4 — June 27, 2026)
import { drizzle } from 'drizzle-orm/node-postgres';
const db = drizzle(process.env.DATABASE_URL);
const rows = await db.select().from(users);5. MongoDB 8.3
New data-transformation aggregation expressions (enhanced $convert), expanded search and vector search, and security hardening; on Atlas and self-managed. (May 7, 2026)
db.orders.aggregate([
{ $project: { total: { $convert: { input: "$amount", to: "double" } } } }
]);6. Vue — 3.5.38 stable, 3.6 Vapor Mode still in beta
v3.5.38 is the current stable line; the 3.6 Vapor Mode (a no-Virtual-DOM compile strategy) continues iterating through betas. (v3.5.38 — June 11, 2026)
import { ref } from 'vue';
const count = ref(0);7. Angular v22
v22 is the current major (patch 22.0.6), continuing the signals-first direction; v23 is expected around Dec 2026. (v22 — June 3, 2026)
const count = signal(0);
const double = computed(() => count() * 2);8. Python 3.14.6
The latest maintenance release of the current production branch; Python 3.15 is in alpha with GA planned for Oct 1, 2026. (v3.14.6 — June 10, 2026)
greeting = t"Hello {name}" # PEP 750 t-strings, a Template not a str9. Java — JDK 26 GA
The current feature release ships HTTP/3 in the HTTP Client, Structured Concurrency (preview) and the Applet API removal; JDK 25 remains the LTS. (JDK 26 — March 17, 2026)
void main() {
IO.println("Hello from JDK 26");
}10. C / C++ — C++26 is feature-complete
WG21 completed the C++26 feature set at the March 2026 ISO meeting — Contracts, Reflection and std::execution (senders/receivers) headline — and it now heads to final balloting. (March 2026)
int square(int n)
post(r: r >= 0) // C++26 contract
{ return n * n; }11. Data science — Polars 1.41.2
The latest release of the Rust-based DataFrame engine, continuing its streaming-engine work; no newer pandas/numpy release in this window. (v1.41.2 — May 29, 2026)
import polars as pl
df = pl.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
print(df.select((pl.col("a") + pl.col("b")).alias("sum")))12. DevOps — Deno 2.9, Docker Desktop 4.80.0, etcd v3.7.0
Deno 2.9 adds deno desktop for native apps and Node 26 compatibility; Docker Desktop 4.80.0 bundles Engine 29.6.1 + Kubernetes 1.36.1 and removes legacy macOS osxfs; etcd v3.7.0 — the datastore behind every Kubernetes cluster — was announced. (June–July 2026)
docker sbx run ubuntu # new sandbox command in Docker Desktop 4.80
Discussion