Update: at time of writing Eleventy core (0.x, 1.x, 2.x, 3.x, 4.x prereleases) and our official plugins are still unaffected.

(Compromised package count was updated to 834 from 533 in the latest @socket.dev update)

⚠️ Major Update on the Shai Hulud v2 campaign:

We’ve confirmed 834 malicious packages and now see spillover into Maven Central. The package org.mvnpm:posthog-node:4.18.1 contains the same Bun-based payload used in the npm compromise.

Updated analysis →
socket.dev/blog/shai-hu... #Java

— Socket (November 25, 2025 at 6:43:46 PM UTC)

There is an ongoing npm security event.

At time of writing, Eleventy core and our official suite of plugins are unaffected.

🚨 A new wave of the Shai-Hulud supply chain attack has hit npm, impacting packages across widely used projects from AsyncAPI, ENS, Postman, PostHog, and Zapier. Attackers added a malicious preinstall script following account compromise. The investigation is ongoing:

socket.dev/blog/shai-hu...

— Socket (November 24, 2025 at 1:38:09 PM UTC)

I can track web development eras like tree rings, but each ring is move-fast-and-break-things devs saying “we don’t care about Y and you shouldn’t either—here are a bunch of tools that disregard Y” and indie folks saying “no thanks, I do care about Y—those tools aren’t useful if they don’t take Y into account.”

Later it becomes “as an industry we have always thought Y was very important—we should build *new* tools that embrace Y, I wish someone would have said something before”

Rinse & repeat.

@11ty/gray-matter@2.0.1

Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and many other

The Ruby ecosystem is going through some pretty hefty turmoil in an attempt to rescue and restore the integrity of their community.

I’m even seeing some good efforts in PHP-land to better distance itself from the vacuum of stable leadership in WordPress too.

Is there any such movement in JavaScript (the same problems exist)? The biggest pattern I’m seeing is a *huge* centralization in project funding!

The absolute UX *drama* of the new tinted (vs. clear) Liquid Glass preference in the macOS 26.1 System Settings. Why separate from the Reduce Transparency accessibility toggle? Why so prominent in the Appearance section? Why do users need to know about Liquid Glass at all? Mistakes were made here 😅

as “industry” survey season rolls around again it’s important to remember that the results from these things reflect the biases of the most popular dev communities that promote them (and then we get to all pretend like the results are meritocratic)

I now believe it’s better to not participate at all

Thinking about dark/light mode pickers that have three options: Auto/Dark/Light.

If the default is “Auto” — in what scenario might someone want to move away from Auto (which would visually be a noop to the same theme?)

I’m using Light mode as my system preference, but it seems unlikely that I would swap from Auto (Light mode) to Light mode (not Auto) on a specific site

Thinking about dark/light mode pickers that have three options: Auto/Dark/Light.

If the default is “Auto” — in what scenario might someone want to move away from Auto (which would visually be a noop to the same theme?)

“AirTag Found Moving With You”

The ominous alert. Fight or flight — adrenaline. After surveilling my surroundings I was frightened to discover that AirTags weren’t the only things moving with me. There were multiple *people* shadowing my movements as well. I was on a bus.

TIL that CSS attr() cannot be used to compute anything in `url()` as the spec considers these to be “attr()-tainted” (for very valid security reasons): https://drafts.csswg.org/css-values-5/#attr-security

Thought maybe there was a way forward for global custom CSS-only favicons via new advancements in attr() https://developer.chrome.com/blog/advanced-attr (but alas, no — which, in hindsight — seems valid and fair)