Kévin Dunglas

@dunglas.dev

⚒️ FrankenPHP.dev, Mercure.rocks, @api-platform.com, @symfony.com 🧑‍💻 Founder of @les-tilleuls.coop, a developer co-op

Ignore the propaganda in that Qwen ad for a second. The core question for the Left remains valid: boycotting AI is a dead end. AI and robotics give us the tools to build the work-free, post-scarcity utopia envisioned by Lafargue and Bookchin.

Just improved Caddy performance by fixing header casing on the hot path! 🚀 When using Go's net/http, make sure to use canonical HTTP header casing (e.g. Content-Type instead of content-type). Non-canonical keys trigger string formatting and allocations on every lookup. github.com/caddyserver/...

caddyhttp: use canonical header key casing to avoid re-canonicalization by dunglas · Pull Request #7911 · caddyserver/caddy

Summary http.Header.Get/Set re-canonicalize the passed key and allocate a new string whenever it isn't already in canonical MIME header form. Three call sites in the codebase were passing non-c...

github.com

FrankenPHP 1.12.5 is a security release. Upgrade if you run the official Docker images or the session extension as a shared module. Fixed: the default Docker welcome page ran phpinfo() (env vars, php.ini, system paths, all exposed). Now a static page with nothing to leak.

Bild

🔒 Vulcain 1.4.2 is out, a security release. Fixes 3 vulnerabilities in Preload/Fields directive handling: • High: quadratic response rebuild (DoS) • Medium: unbounded JSON-pointer recursion • Low: HTTP/2 push-counter race Upgrade: github.com/dunglas/vulc...

Release v1.4.2 · dunglas/vulcain

Security release fixing three vulnerabilities in request-directive handling, all reported by Alexandre Daubois (Les-Tilleuls.coop). Users on 1.4.1 and earlier should upgrade. 🔒 Security Fixes High...

github.com

FrankenPHP 1.12.4 is out, a security hardening release. Underscore header spoofing is now blocked at the server layer (Caddy 2.11.4), bundled Mercure 0.24.2 security fixes land, plus worker-mode crash and race fixes. Every user should upgrade. github.com/php/frankenp...

Release v1.12.4 · php/frankenphp

FrankenPHP 1.12.4 is a hardening and stability release. It pulls in upstream security fixes from Caddy 2.11.4 and Mercure 0.24.2, closes a class of HTTP header spoofing, and fixes several crashes a...

github.com

Mercure 0.24.2 is out: a security hardening release. Rejects SSE field injection (CWE-93) via id/type, blocks reserved-namespace forgery, fixes a Last-Event-ID leak, caps element counts against DoS. Upgrade your hub. github.com/dunglas/merc...

Release v0.24.2 · dunglas/mercure

Community Mercure 0.24.2 is a security hardening release. It closes an SSE field-injection vector (CWE-93), blocks forgery of the hub's reserved subscription-event topics, fixes a metadata leak in ...

github.com

This is exactly why we built FrankenPHP's extension infrastructure! Check out FrankenScriptling: a new extension that lets you use the Scriptling scripting language (Python-like) inside PHP. Since Scriptling is in Go, FrankenPHP makes embedding it seamless. Love seeing this! 🐘🐹

Building Frankenscriptling: Running Scriptling Inside FrankenPHP

A dive into embedding a Python-like scripting language into PHP via a Go-based web server. Because why not.

medium.com

Mercure 0.24.1 is out, riding on Caddy 2.11.3. We contributed native OTLP metrics push to Caddy upstream. Drop metrics { otlp } in your Caddyfile, set the OTEL_* env vars, and hub metrics land in any OTLP collector. github.com/dunglas/merc...

Release v0.24.1 · dunglas/mercure

Community Mercure 0.24.1 picks up Caddy 2.11.3, including our upstream contribution that adds OTLP metrics push to Caddy. The Helm chart now also surfaces a JSON values schema and a signed .prov pr...

github.com

🚀 FrankenPHP 1.12.3 is out! ⚡️ 7-8% throughput bump from a refreshed PGO profile 🔒 Fixes CVE-2026-45062 (CVSS 8.1) unsafe Unicode handling flaw. Upgrade if on v1.11.2 - v1.12.2! ⚙️ Adds per-thread max_requests & cross-platform thread force-kill. Release notes: github.com/php/frankenp...

Release v1.12.3 · php/frankenphp

This release fixes CVE-2026-45062 (high, CVSS 8.1): unsafe Unicode handling in CGI path splitting let an attacker have a non-.php file executed as PHP via a crafted URL, in any deployment where att...

github.com

Mercure 0.24 is out 🚀 Native OpenTelemetry tracing for the Hub: publish, subscribe, subscriptions, and transport history spans nest under Caddy's tracing directive, with zero allocations when disabled. github.com/dunglas/merc...

Release v0.24.0 · dunglas/mercure

Community Mercure 0.24 adds native OpenTelemetry tracing for the Hub's core operations, lets you point at a JWK Set on disk instead of running a separate HTTP endpoint, and ships a Helm chart that ...

github.com

🚀 Mercure v0.23.5 just landed! We've brought major Helm chart hardening for Kubernetes (NetworkPolicies, readOnlyRootFS, and tighter PodSecurity). I wrote a blog post covering all the new security and performance details. Check it out: dunglas.dev/2026/05/merc... #Kubernetes #Helm

Mercure 0.23.5: Helm chart hardening - Kévin Dunglas

Mercure v0.23.5 just landed, and the dominant theme is the Helm chart. If you run hubs on Kubernetes, especially in HA or multi-tenant mode, this release tightens defaults and adds the kind of policy ...

dunglas.dev

🚀 Mercure 0.23 is out! 🩺 Transport-aware Health Checks: K8s now detects actual broken connections, not just a live Caddy process. 🛥️ Helm: HTTProute support + deployment annotations. 🏢 Enterprise transports fully supported. 🔗 github.com/dunglas/merc...

Release v0.23.0 · dunglas/mercure

Community Transport-aware health checks come to Mercure. Kubernetes (and any other orchestrator) can now detect when a hub's transport connection is actually broken, not just that the Caddy process...

github.com

We've just finalized our next-gen AI-powered security audit tool at @les-tilleuls.coop! We used it to discover and patch a critical vulnerability in Mercure as well as in several of our clients' projects. The Mercure fix also made topic matching 38% faster! ⚡️

Dimanche, Lille a rendez-vous avec l'histoire : devenons la première grande ville française à expérimenter 🌱✊ l'Écologie Sociale et 🗣️ le communalisme. Un seul bulletin permet l'alternative : "Lille insoumise, écologiste et populaire" menée par Laouharia Addouche. @offensive.eco #DimancheJeVoteLFI

Bild