Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 23/09/2026PHP, on a Whim #3: Who Is Allowed to Implement This? carthage.software/en/blog/arti...carthage.softwarePHP, on a Whim #3: Who Is Allowed to Implement This? · Seifeddine GmatiWhim lets classes and interfaces list the types allowed to inherit from them using a `for` clause. This post looks at what sealed families actually restrict, why direct children matter, how Whim enfor... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 18/09/2026PHP, on a Whim #2: Stop Calling Everything an Array carthage.software/en/blog/arti...carthage.softwarePHP, on a Whim #2: Stop Calling Everything an Array · Seifeddine GmatiCreating solutions for nonexistent problems. 002
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 17/09/2026PHP, on a Whim #1: What If Files Had Attributes? carthage.software/en/blog/arti...carthage.softwarePHP, on a Whim #1: What If Files Had Attributes? · Seifeddine GmatiCreating solutions for nonexistent problems. 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 14/09/2026PHP, on a Whim #0: A Language for PHP’s “What Ifs” carthage.software/en/blog/arti...carthage.softwarePHP, on a Whim #0: A Language for PHP’s “What Ifs” · Seifeddine GmatiCreating solutions for nonexistent problems. 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 10/09/2026Mago 1.48.0 is out! 🚀 Sharper type inference, safer formatting, tighter PHP compatibility, and MANA 1.1 brings richer extension hooks. Thanks to everyone who contributed and reported issues ❤️ github.com/carthage-sof...github.comRelease Mago 1.48.0 · carthage-software/magoMago 1.48.0 Mago 1.48.0 ships MANA 1.1 with richer analyzer hooks, sharper type inference, safer formatting, and tighter PHP checks. ✨ Features Analyzer array_pad shapes: infers exact list shapes ... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/09/2026Mago 1.47.6 is out! 🚀 Sharper PHP analysis, better nullsafe and property narrowing, improved array precision, and formatter fixes. github.com/carthage-sof...github.comRelease Mago 1.47.6 · carthage-software/magoMago 1.47.6 Mago 1.47.6 strengthens property and control-flow narrowing, preserves collection precision, and fixes formatter comment and string handling. 🐛 Bug Fixes Analyzer Nested isset: marks r... 020
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 02/09/2026If you use Mago at work, please consider asking your company to sponsor its development. Corporate support helps us keep Mago fast, reliable, and sustainable for everyone. ❤️ github.com/carthage-sof...github.com 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 02/09/2026🎉 Mago 1.47.5 is out! Better conditional and nullsafe narrowing, class-string handling, constructor analysis, formatter stability, and faster wide array shapes. github.com/carthage-sof...github.comRelease Mago 1.47.5 · carthage-software/magoMago 1.47.5 Mago 1.47.5 improves conditional and nullsafe narrowing, class-string handling, constructor analysis, and wide-shape performance. 🐛 Bug Fixes Analyzer Suppressed guards: narrows types ... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 19/08/2026Mago 1.47.2 #php #mago github.com/carthage-sof...github.comRelease Mago 1.47.2 · carthage-software/magoMago 1.47.2 Mago 1.47.2 prevents invalid UTF-8 reporting crashes, preserves formatter semantics, and fixes several analyzer false positives. 🐛 Bug Fixes Analyzer Static class-string calls: preserv... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 18/08/2026mago.carthage.software/1.47.0/en/ex...mago.carthage.softwareExtensions · MagoExtend Mago with external linter rules and analyzer plugins. 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 18/08/2026Mago 1.47 is out! 🚀 Build custom extensions in any language with Mago’s Extension API and first-party PHP SDK, Sponsored by CHECK24.de ❤️ 1.47.0: github.com/carthage-sof... 1.47.1 packaging fix: github.com/carthage-sof...github.comRelease Mago 1.47.0 · carthage-software/magoMago 1.47.0 Extensions in any language, fully funded by CHECK24 Thanks to CHECK24 (@check24-opensource) for fully funding Mago's new Extension API and PHP SDK. ✨ Features Extensions Extension API:... 152
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 11/08/2026Mago is getting custom extensions, soon! Sponsored by check24.de 💛 github.com/carthage-sof...github.comfeat: worker extensions by azjezz · Pull Request #2192 · carthage-software/magoSponsored by check24 ❤️ More details soon :) closes #848 closes #2164 closes #1663 closes #39 011
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 05/08/2026github.com/carthage-sof...github.comWorkflow-command injection in the GitHub Actions reporting format### Summary Mago's GitHub Actions reporting format (`--reporting-format=github`) wrote analyzed file paths and issue text into GitHub workflow commands without escaping them. A file path contain... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 05/08/2026Mago 1.46.0 🚀 🔒 Security: workflow-command injection in the GitHub reporting format. Update if you run Mago with --reporting-format=github in CI. ✨ New redundant-static lint, --stats shorthand 🐛 Lots of generics and narrowing fixes github.com/carthage-sof...github.comRelease Mago 1.46.0 · carthage-software/magoMago 1.46.0 This release fixes a workflow-command injection in the GitHub reporting format (GHSA-f256-xqf4-x8pr), adds a redundant-static linter rule and a --stats shorthand, corrects a batch of ge... 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 24/07/2026#php #mago github.com/carthage-sof...github.comRelease Mago 1.45.0 · carthage-software/magoMago 1.45.0 This release teaches the analyzer to build keyed array shapes from get_object_vars(), adds @param-closure-this support and an auto-fix for overly-wide return types, introduces a linter ... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 19/07/2026Release: Mago 1.44.0 #php #mago github.com/carthage-sof...github.comRelease Mago 1.44.0 · carthage-software/magoMago 1.44.0 A faster release with stronger dependent-type analysis, richer guard and linter configuration, and fixes across the CLI, formatter, analyzer, and semantics. ✨ Features Analyzer Overrid... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 07/07/2026github.com/carthage-sof...github.comRelease CEL-PHP 2.0.0 · carthage-software/cel-phpCEL-PHP 2.0.0 cel-php 2.0 is a major release that aligns the evaluator with the CEL specification and cel-go. Highlights: numeric comparisons and null equality (proposal 210), optional values (prop... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 05/07/2026github.com/carthage-sof...github.comRelease ext-typst 0.2.0 · carthage-software/ext-typstext-typst 0.2.0 A packaging and reliability release: musl binaries now build and ship, pie install resolves on arm64 Linux, the extension registers as typst, and the IDE stubs are installable strai... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 05/07/2026github.com/carthage-sof...github.comRelease Mago 1.43.0 · carthage-software/magoMago 1.43.0 A fix-focused release clearing false positives across the analyzer, codex, linter, and formatter. is_callable narrowing, strict in_array, type-alias recursion, ::class array keys, no-de... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 24/06/2026Mago 1.40.0 is out 🚀 New linter & formatter options, sharper analysis, and more! #php #mago github.com/carthage-sof...github.comRelease Mago 1.40.0 · carthage-software/magoMago 1.40.0 A big release driven by community reports: three new formatter settings, a new suspicious-explode-arguments linter rule and a final-controller auto-fix, an inspect-baseline CLI command,... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 23/05/2026Oops 🙃 PSL shipped HTTP/2 with missing content-length validation. Request smuggling vector in Psl\H2\ServerConnection. Caught it internally before anyone in the wild did. Fixed in 6.1.2 + 6.2.1. $ composer update php-standard-library/psl github.com/php-standard... #phpgithub.comHTTP/2 server-side missing content-length validation enables request smuggling## Impact `Psl\H2\ServerConnection` does not validate that the total bytes received in DATA frames match the `content-length` header declared in the HEADERS frame, in violation of RFC 9113 §8.1.... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 23/05/2026🚀 PSL 6.2 is out Three new networking stacks: - HTTP Client (HTTP/1.1 + HTTP/2, ALPN, pooled, multiplexed) - SMTP (RFC 5321 with DKIM, STARTTLS, 5 auth mechanisms) - DNS + DNSSEC (DoT, DoH, full trust-chain validation) And more! php-standard-library.dev/6.2.0/ github.com/php-standard... #phpgithub.comRelease Hevlaska 6.2.0 · php-standard-library/php-standard-libraryPSL 6.2.0 A massive release — three new networking stack components (HTTP, SMTP, DNS), the EitherOrBoth type with full-outer-join iterators, a major IO toolkit expansion, and broad covariance impro... 030
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 23/05/2026🐘 Mago 1.29.0 is out! ✨ Readable closure & anon-class names ✨ Regex-pattern issue ignores ✨ WordPress security rules 🐛 Generic template inference fixes github.com/carthage-sof... #php #magogithub.comRelease Mago 1.29.0 · carthage-software/magoMago 1.29.0 A maintenance release with two themes: tightening generic template inference (the #1859 false-positive cluster) and giving closures + anonymous classes stable, human-readable names. New... 031
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/05/2026看看我们全新的文档站点: mago.carthage.software/latest/zh/mago.carthage.softwareMago氧化版 PHP 工具链。一款用 Rust 编写的静态分析器、linter 和格式化器。 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/05/2026Découvrez notre nouvelle documentation: mago.carthage.software/main/fr/mago.carthage.softwareMagoLa chaîne d'outils PHP oxydée. Un analyseur statique, un linter et un formateur écrits en Rust. 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/05/2026Check out our new docs site: mago.carthage.software/main/en/mago.carthage.softwareMagoThe oxidized PHP toolchain. A static analyzer, linter, and formatter written in Rust. 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/05/2026Mago 1.25.2 is out! 🎉 github.com/carthage-sof... #php #magogithub.comRelease Mago 1.25.2 · carthage-software/magoMago 1.25.1 This release is a bug-fix pass focused on the linter and analyzer, plus a full rewrite of the documentation site. Several false positives reported against 1.25.1 are fixed (no-redundant... 110
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 30/04/2026🦊 Mago 1.25.0 is out! ✨ 7 new linter rules 🧩 default `@template` types 🛠️ `extends` config inheritance 🚀 perf work tracked on CodSpeed 🔐 install script auto-verifies release attestations via gh 👀 and more github.com/carthage-sof... #php #mago #rustgithub.comRelease Mago 1.25.0 · carthage-software/magoMago 1.25.0 Mago 1.25.0 is a big release. Seven new linter rules (no-dead-store, no-redundant-variable, no-redundant-else, no-negated-ternary, no-unused-static, no-unused-global, no-unused-closure-... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 22/04/2026Also shipping: mago-twig-syntax, a lossless Twig 3 lexer, AST, and parser. 🍃 Not wired into Mago yet: it's the testing ground for first-class Twig (and later Blade) support across the linter, formatter, and analyzer. #php #mago #twig github.com/carthage-sof...github.commago/crates/twig-syntax at main · carthage-software/magoMago is a toolchain for PHP that aims to provide a set of tools to help developers write better code. - carthage-software/mago 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 22/04/2026Mago 1.24.0 is out. 🎉 Mostly analyzer correctness: recursive literal-scalar widening through by-ref out types, fixes around isset/array_key_exists, list destructuring, and __call on non-final classes. #php #mago github.com/carthage-sof...github.comRelease Mago 1.24.0 · carthage-software/magoMago 1.24.0 Mago 1.24.0 is mostly an analyzer-correctness release: recursive literal-scalar widening in by-reference out-types, wider mixed-operand detection on templated concatenations, and target... 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 14/04/2026Mago 1.20.0 🚀 ~3x faster psl analysis, 6 new lint rules, glob excludes, a hang watcher for pathological inputs, and more! #php #mago github.com/carthage-sof...github.comRelease Mago 1.20.0 · carthage-software/magoMago 1.20.0 Mago 1.20.0 is a big release focused on analysis accuracy, speed, and diagnostics. Highlights include new new<X> and template-type<Object, ClassName, TemplateName> utility types, detect... 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 02/04/2026github.com/carthage-sof...github.comRelease Mago 1.18.0 · carthage-software/magoMago 1.18.0 Mago 1.18.0 is a packed release with 5 new features, 17 bug fixes across all tools, and improvements to the docblock parser. Highlights include full callable-string type support with fu... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 26/03/2026Mago 1.16.0 is out! 🎉 20+ false positive fixes across loops, type narrowing, switch statements, integer ranges, and more. Plus duplicate enum value detection and improved function stubs. github.com/carthage-sof...github.comRelease Mago 1.16.0 · carthage-software/magoMago 1.16.0 Mago 1.16.0 is a significant release focused on analyzer accuracy. This release fixes over 20 false positives across loop analysis, type narrowing, integer range tracking, switch fall-t... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 19/03/2026PSL 6.1 is here! 🚀 New components: Compression, HPACK, H2, and Cache. github.com/php-standard... #php #h2 #hpackgithub.comRelease Hevlaska 6.1.0 · php-standard-library/php-standard-libraryPSL 6.1.0 In PSL 5.x, we focused on the foundational networking stack-TCP, TLS, Unix sockets, UDP, and connection pooling. It was all about getting the low-level plumbing right. With the 6.x series... 000
Reposted by Seifeddine / ⵙⵢⴼ 🐘 🦀Enzo Innocenzi @innocenzi.dev · 18/03/2026Banger release of the PHP standard library by @azjezz.bsky.social: instead of being a single package, we can now require only what we need as standalone packages. Huge! See: github.com/php-standard... php-standard-library.dev/6.0.0/php-standard-library.devPSL - PHP Standard LibraryA consistent, centralized, well-typed set of APIs for PHP covering async, collections, networking, I/O, cryptography, terminal UI, and more. 0113
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 18/03/2026PSL 6.0 is out. 🎉 PHP Standard Library is now split into 61 standalone packages. Install only what you need: $ composer require php-standard-library/async No more pulling in 60 packages when you just need one. github.com/php-standard-library/php-standard-library/releases/tag/6.0.0 #php #pslgithub.comRelease Hevlaska 6.0.0 · php-standard-library/php-standard-libraryPSL 6.0.0 PSL 6.0 is the biggest release in the project's history. New home, new packages, new capabilities. A new home PSL has moved. The repository, the organization, the website - everything has... 022
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/03/2026PSL 5.0 docs are live: psl.carthage.softwarepsl.carthage.software 010
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/03/2026PSL 5.0 ships a full terminal UI framework. Buffered rendering, layouts, widgets, keyboard/mouse events. You can build TUI apps, dashboards, and even games entirely in PHP. github.com/azjezz/psl/b... 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/03/2026Binary protocol parsing in PSL 5.0: file:///Users/azjezz/Downloads/carbon(6).png 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/03/2026Encryption in PSL 5.0: Symmetric, asymmetric, signing, AEAD, KDF, key exchange, stream ciphers. All built on libsodium. file:///Users/azjezz/Downloads/carbon(5).png 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 04/03/2026PSL 5.0 is out! The biggest release of the PHP Standard Library yet. 10 new components: Crypto, Binary, Terminal, Process, TLS, UDP, CIDR, Socks, Ansi, and Interoperability. Plus a complete networking stack rewrite. github.com/azjezz/psl/r... #PHPgithub.comRelease Crown 5.0.0 · azjezz/pslPSL - Crown 5.0 PSL 5.0 - nicknamed Crown - is the biggest release of the PHP Standard Library to date, introducing 10 new components, a complete networking stack rewrite, and significant performan... 121
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 17/02/2026Mago is free and open source. If it's saving you time, consider sponsoring to keep development going 💛 github.com/sponsors/azj...github.comSponsor @azjezz on GitHub SponsorsSenior Engineer building the next generation of PHP tooling in Rust. Creator of Mago & the PHP Standard Library (PSL). Your sponsorship directly supports my full-time open source work. 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 17/02/2026Need help with your PHP codebase? Static analysis, tooling, performance, or architecture? we can help. Reach out: azjezz@carthage.software carthage.software/en/carthage.softwareCarthage Software — Software engineers who get things done.Software engineers who get things done.. We build and maintain open source tools that developers actually use. Linters, static analyzers, and libraries that make PHP development faster and safer. 100
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 17/02/2026Mago 1.9.0 is out! 🎉 - PHP 8.5 deprecation detection (casts, backtick syntax, switch semicolons) - sprintf() and array_map() return type providers - Generator type inference for closures - New formatter options - 16 bug fixes github.com/carthage-sof... #php #magogithub.comRelease Mago 1.9.0 · carthage-software/magoMago 1.9.0 This release brings PHP 8.5 deprecation detection, new return type providers for sprintf() and array_map(), generator type inference, several new formatter options, and a large number of... 120
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 07/02/2026Mago 1.6.0 is here! 🎉 New analyzer checks, path-scoped ignores, new linter rules, formatter fixes & more. github.com/carthage-sof...github.comRelease Mago 1.6.0 · carthage-software/magoMago 1.6.0 This release brings new analyzer checks for class design enforcement, new linter rules for file organization, path-scoped ignore/exclusion support, formatter fixes, and numerous bug fixe... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/02/2026Building Mago solo takes mass amounts of caffeine ☕ If it helps your team, consider sponsoring or reaching out for consulting: → github.com/sponsors/azj... → carthage.softwaregithub.comSponsor @azjezz on GitHub SponsorsSenior Engineer building the next generation of PHP tooling in Rust. Creator of Mago & the PHP Standard Library (PSL). Your sponsorship directly supports my full-time open source work. 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 03/02/2026Mago 1.4.0: New Parser. 3x faster. Fault-tolerant. Ready for LSP. 🚀 Plus method call assertions, new fixers, and 20+ bug fixes. 🐞 github.com/carthage-sof... #PHP #Mago #StaticAnalysisgithub.comRelease Mago 1.4.0 · carthage-software/magoThis release brings significant improvements including method call assertions, a new parser configuration section, fault-tolerant parsing, new linter fixers, and numerous bug fixes addressing false... 110
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 25/01/2026...and 1.2.1 because I released at 4 AM and broke something 🙈 github.com/carthage-sof...github.comRelease Mago 1.2.1 · carthage-software/mago🙈 Oops Turns out releasing at 4 AM after a break isn't the best idea. Sorry about that! 🐛 Bug Fix Static method closure types: Fixed incorrect return type inference for first-class callables on in... 000
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 25/01/2026🚀 Mago 1.2.0 is here! ✨ Unused private methods & properties detection ✨ Undefined type reference errors ✨ New no-isset linter rule ✨ Distribution config files (mago.dist.toml) 🐛 Tons of bug fixes github.com/carthage-sof...github.comRelease Mago 1.2.0 · carthage-software/magoFirst of all, I want to apologize for the delayed release — I've been on a break the past couple of weeks. Thank you all for your patience! 🙏 This release brings significant improvements to the ana... 111
Seifeddine / ⵙⵢⴼ 🐘 🦀 @carthage.software · 13/01/2026Mago 1.1.0 is out! 🎉 - Formatter presets (PSR-12, PER-CS, & more) - @'mixin annotation support - Docblock type mismatch detection - Pest PHP lint rules - Tons of bug fixes github.com/carthage-sof... #PHP #Mago #StaticAnalysisgithub.comRelease Mago 1.1.0 · carthage-software/magoMago 1.1.0 This release includes a significant number of new features, bug fixes, and improvements across the formatter, analyzer, linter, and codex. Note: This release includes a breaking change i... 000