Thursday, November 5, 2026
EN

Subscribe in your feed reader — pick your desks:

https://php-net.pro/en/news/feed.atom

php-net.pro · the dev news broadsheet

The Dev Dispatch

The Dev Dispatch · Editorial

The Editorial

long-form pieces by Kai — opinion, pushback welcome · 79 articles

DEV · The Editorial

GitLab's CVSS 10 Came In Through a File Format Hardly Anyone Opens

CVE-2026-110264 is an integer overflow in Onigmo that an anonymous visitor can reach through GitLab's Org-mode renderer. Patch today, obviously. The harder lesson is about defaults: every format a server renders for stra…

PHP · The Editorial

Your Patch Speed Is Set by Your Test Suite, Not by How Worried You Are

October 21 gave us a Laravel token guard bypass and two PHP flaws rated CVSS 9.2 on the same afternoon. Eight days on, the teams that shipped fast didn't care more than anyone else. They had a test suite they trusted and…

PHP · The Editorial

Patched the upload_progress bug? Keep the feature switched off anyway

The fix for the session.upload_progress memory bug was scheduled for 21 October, and most teams will upgrade and forget. That's the wrong ending. A default almost nobody uses turned into a critical exposure on stock PHP …

PHP · The Editorial

The PHP patch is the easy part. Finding every running PHP is the job

Two CVSS 9.2 flaws in the PHP engine, fixed in 8.5.12, 8.4.27, 8.3.36 and 8.2.35, and no complete workaround. The upgrade takes minutes. What most teams actually lack is a reliable list of every PHP process answering the…

PHP · The Editorial

Your app should report its PHP version long before an advisory asks

Two unauthenticated remote code execution bugs in the PHP runtime, CVE-2026-109618 and CVE-2026-109619, showed up on October 21, and suddenly lots of teams had no quick answer to a simple question: which binary is actual…

PHP · The Editorial

Your PHP Patch Counts Only Once the Old Workers Are Dead

Two PHP flaws rated 9.2 landed on October 21, and the fixed versions are easy to name. The harder question is whether you can prove which binary is answering requests on every vhost, staging box and forgotten container r…

PHP · The Editorial

If you ship Laravel, Symfony's patch notes are your release notes too

Symfony 6.4 has reached its 48th patch release, and this week's batch fixed security issues in Yaml and HttpFoundation along with a timezone bug in Clock. Laravel teams usually wait for their own framework to tell them s…

PHP · The Editorial

PECL has no removal date. Move your Dockerfiles to PIE anyway

The RFC that deprecated PECL broke nothing and set no deadline, so most of us will leave pecl install where it is. I think that's the wrong move. The gaps in PIE are real but small, and every Dockerfile that switches ear…

AI · The Editorial

Beam's best feature for PHP teams is the knob that lets it think less

Reflection's Beam arrives with 501B parameters, an Apache 2.0 license and SWE-Bench numbers that will fill every slide deck this month. The detail I care about is smaller: a reasoning-effort setting you can turn down. Mo…

AI · The Editorial

Three Vendors at $2/$10: Your LLM Model Is Now a Driver You Swap

Google, OpenAI and Anthropic all landed a strong model at $2 in and $10 out per million tokens within days of each other. Kai argues that this ends price as the deciding factor. The PHP code worth writing now is a thin p…

DEV · The Editorial

Your editor is a dependency, so give it a lockfile and a reviewer

PHP teams argue over every line in composer.lock, then let their editors update a dozen extensions in the background without anyone looking. This year showed that a trusted extension release can be enough to compromise a…

PHP · The Editorial

PHP 8.6 Gets Louder, and Every New Exception Is a Free Bug Report

PHP 8.6 keeps choosing a thrown error over a polite guess, and I think that is the best thing in the release. There is one exception: partial function application captures its arguments when it is created, and nothing wa…

PHP · The Editorial

PHP 8.5's best feature is the URL parser, not the pipe operator

Almost a year after PHP 8.5 shipped, everyone still talks about |>. I think the feature that will save you the most grief is the new URI extension, which finally parses URLs to RFC 3986 and WHATWG. Pipes make code pretti…

DEV · The Editorial

TypeScript 7's real lesson for PHP tooling is the missing API, not Go

Everyone is quoting the VS Code build dropping from 77.8 seconds to 7.5. I care more about what shipped without it: a stable programmatic API. For PHP, whose static analysis lives on its plugin ecosystems, that gap matte…

PHP · The Editorial

Symfony 8.2 lets you drop framework:, so drop it in the upgrade PR

Symfony 8.2 hands configuration back to the components: 29 new bundles, each with its own config root, and the old framework: keys keep working through aliases. That last part is generous, and it's exactly why I think yo…

PHP · The Editorial

Symfony 8.2's outbox should be your default, not your upgrade project

Symfony 8.2 brings plenty of new features, but the one I care most about is a single transport option: the transactional outbox. Once preventing dual writes takes one line of config, sending to the broker directly from i…

PHP · The Editorial

Give Mago your pre-commit hook, but don't hand it PHPStan's job yet

Mago, the Rust toolchain for PHP, formats, lints, analyzes and guards architecture from one binary, and its speed is real. Kai argues the smart move is to let it take over the fast, cheap checks right now, keep your plug…

DEV · The Editorial

React 19.3 finally treats UI updates like PHP-FPM treats requests

React 19.3 lets unrelated transitions render on their own instead of being tied together. PHP developers will recognise the idea, because it is how FPM workers have kept one slow request from stalling the rest for years.…

PHP · The Editorial

PHP 8.6 partials freeze their arguments early, so review them that way

Partial Function Application lands in PHP 8.6 and finally makes the pipe operator pleasant to use. It is also easy to misread. A partial evaluates its fixed arguments once, when you create it, and it drops most attribute…

← back to the front page