Laravel AI SDK 1.0 permet à un agent de suspendre un appel d'outil jusqu'à ce qu'un humain décide de la suite. C'est utile, et c'est aussi une boîte de dialogue. Quiconque a déjà vu des gens enchaîner les clics sur des b…
PHP 8.5 livre Uri\Rfc3986\Uri et Uri\WhatWg\Url, et la critique évidente, c'est qu'une seule classe propre aurait été plus simple. Kai soutient que cette séparation est la vraie correction : la plupart des bugs d'URL vie…
laravel/mcp 1.0 supprime les sessions côté serveur, et pour un langage bâti sur des requêtes qui ne partagent rien, cette partie de la mise à jour se résume surtout à un grep. Le travail qui mérite une vraie réflexion, c…
L'application partielle récoltera les applaudissements, mais je pense que la substance de PHP 8.6 est ailleurs : Time\Duration, clamp(), SortDirection, des erreurs JSON avec coordonnées et une couche de polling native. L…
Le Laravel AI SDK passe en v1.0.0, et la fonctionnalité qui m'intéresse n'est pas le streaming de chat. C'est la classification sur le petit modèle Jev : des réponses rapides et pas chères aux questions oui/non qui compo…
WordPress 7.1.2 corrige CVE-2026-87902, une faille critique d'inclusion de template autour de get_page_template(). L'exploit ne se déclenche que lorsque la structure du thème, pearcmd.php et register_argc_argv s'alignent…
Python 3.15 arrive le 1er octobre avec les imports paresseux de la PEP 810, et pour un développeur PHP, ça ressemble à l'autoloading de Composer sans la discipline d'écosystème qui a rendu l'autoloading sûr. Le mot-clé o…
Laravel 13 livre discrètement deux réponses opposées à une même question : où doit vivre la configuration ? Tu peux épingler les réglages de queue sur une classe de job avec un attribut PHP, ou router les jobs de façon c…
NVIDIA paierait 12,9 milliards de dollars pour Hugging Face, et la plupart d'entre nous ont un Dockerfile qui fait un curl vers hf.co au moment du build sans y réfléchir une seconde. On a déjà appris cette leçon avec Com…
L'équipe Swoole a rendu open source TypePHP, un compilateur AOT qui transforme un sous-ensemble typé de PHP en binaires natifs et revendique des accélérations allant jusqu'à 150x. Kai soutient que le chiffre en une est l…
PHP 8.6 arrive le 19 novembre 2026, et c'est une version légère : application partielle de fonctions, une classe Duration, et une trentaine de dépréciations. Mon argument : la montée de version ne coûte presque rien, alo…
La première tentative de GiveWP pour corriger CVE-2026-82222 détectait bien l'objet malveillant, puis renvoyait quand même la charge utile d'origine. Cette seule ligne résume toute la leçon de ce bug noté CVSS 10.0 : all…
Anthropic a racheté Bun parce que Claude Code tourne dessus, et l'opération va probablement rendre Bun meilleur. Kai soutient que la vraie leçon est ailleurs : la propriété d'un runtime par un seul acteur devient la norm…
La CVE-2026-85046, un bug de type confusion dans V8 exploité dans la nature, est classée dans le tiroir « actu navigateurs ». Mauvais tiroir. Si ton appli PHP génère des PDF avec Browsershot, fait tourner Dusk ou Panther…
Symfony 7.3 a donné aux voters un objet Vote et addReason() ; 7.4 et 8.0 ajoutent extraData plus deux fonctions Twig qui exposent toute la décision d'accès. L'ère booléenne de l'autorisation est discrètement terminée, et…
Le |> de PHP 8.5 tient en une règle : la valeur de gauche entre, elle ressort comme premier argument. La plainte la plus bruyante concerne les parenthèses qu'il faut mettre autour de chaque fonction fléchée à plusieurs a…
Un retour de terrain en français sur la migration d'un site Sulu vers FrankenPHP mesure 30 à 40 ms gagnées par requête, zéro connexion MySQL répétée et un vilain 404 en production. Kai soutient que ces chiffres modestes …
Laravel 13.27 peut enfin arrêter d'interpoler les valeurs liées dans les messages de QueryException, ce qui veut dire que tes logs, tes lignes failed_jobs et tes traces APM cessent de collecter des données clients par ac…
Onze versions de Laravel en moins de trois mois, et tout le monde parle du composant image. Je pense que ce sont les ajouts défensifs qui justifient la mise à jour : le masquage des bindings dans les exceptions de requêt…
Un mainteneur a failli merger une PR de mise à jour de dépendance qui modifiait discrètement sa config CI pour piller un runner auto-hébergé contenant des identifiants cloud. Kai défend l'idée que le pipeline fait partie…
FrankenPHP fusionne Nginx et PHP-FPM en un seul binaire basé sur Caddy, et son mode worker garde ton appli résidente entre les requêtes. Kai soutient que le piège de la persistance contre lequel tout le monde met en gard…
PHP 8.5 te donne un share curl qui survit entre deux requêtes FPM, et le titre du benchmark annonce 88 pour cent de temps de requête en moins. Je trouve que ce chiffre est le point le moins intéressant de l'affaire. La f…
Quatre lignes de PCNTL transforment un processus PHP tué en silence en une sortie propre, et toutes les équipes devraient les livrer. Sauf qu'un gestionnaire de signal garantit une seule chose : que l'élément en cours se…
Kubernetes v1.37 sort aujourd'hui avec SELinuxMount activé par défaut. Si tes nœuds tournent en SELinux enforcing et que deux pods aux labels différents partagent un PVC, l'un des deux ne démarre plus. Je pense que tu de…
La pagination par curseur, c'est ce que tout le monde cite, et c'est ce que tu auras fini avant midi. Ce qui a vraiment transformé une panne fintech de 18 heures en un samedi ennuyeux de 8 heures, c'est le checkpoint, le…
Qdrant 1.19 remplace ses flags mémoire éparpillés par un seul paramètre de tier bien propre et ajoute turbo4, un datatype 4 bits qui ne stocke aucune copie pleine précision. Kai défend l'idée que l'API mémoire ennuyeuse …
Un dump VLD sur PHP 8.3.6 montre que declare(strict_types=1) ne change rien au bytecode : même RECV, même VERIFY_RETURN_TYPE, un simple flag au niveau du fichier. Voilà qui enterre l'excuse de la performance et expose le…
Go 1.27 livre des méthodes génériques, un moteur JSON reconstruit sous l'ancienne API, des UUID dans la stdlib et de la crypto post-quantique, et les gens de Go se demandent si leur langage minimaliste vient de céder. Ka…
PHP 8.4 a fait entrer le lazy loading dans le moteur, et Symfony comme Doctrine ont arrêté de générer des classes de proxy. Le vrai gain, c'est que l'objet affiché dans ton debugger est enfin la classe que tu as écrite. …
Symfony 8.0 a supprimé le loader XML pour les services et les routes, déprécié les config builders fluides et misé sur YAML plus un format tableau typé. Kai défend ce grand ménage : un format de config se juge à ce que l…