v4.0.0 - 18 July 2026 #50
fivefilters
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
What's Changed
Readability.php 4.0 is a ground-up rewrite: a fresh port of Mozilla's Readability.js v0.6.0 built on PHP 8.4's new DOM API and HTML parser. This is the first stable release of the 4.0 series and includes everything from v4.0.0-beta.1.
Highlights
Dom\HTMLDocument(the spec-compliant Lexbor parser bundled with PHP), replacing HTML5-PHP and the legacy libxml path. No more entity workarounds (substituteEntities,summonCthulhuand friends are gone).langandpublishedTimeoutput,maxElemsToParse,classesToPreserve,allowedVideoRegex,linkDensityModifieranddebugoptions, andReaderable::isProbablyReaderable().parse()returns a readonlyArticlevalue object (title,content,textContent,excerpt,byline,siteName,dir,lang,publishedTime,image,images, …). Options are passed as named constructor arguments:new Readability(fixRelativeURLs: true).Uri\WhatWg\Urlwhen available, with rowbot/url as the fallback on PHP 8.4, matching thenew URL()behavior Readability.js relies on.psr/log ^1.0 || ^2.0 || ^3.0androwbot/url ^3.1.7 || ^4.0so the library co-installs cleanly alongside a wider range of applications, with CI now also testing the lowest allowed versions (Widen dependency constraints for better co-installability #49).Upgrading from 3.x
The API has changed — see UPGRADE.md for the full migration guide, and the CHANGELOG for the complete list of changes.
Upgrading from v4.0.0-beta.1
The only changes since beta.1 are the widened dependency constraints and lowest-deps CI coverage noted above — no code changes.
Full Changelog: v3.3.3...v4.0.0
This discussion was created from the release v4.0.0 - 18 July 2026.
Beta Was this translation helpful? Give feedback.
All reactions