PHP Domain Parser v6.0.0 Release Notes
Release Date: 2020-12-13 // over 3 years ago-
➕ Added
- ➕ Adding proper Interfaces
- ➕ Added
Domain::clear
to easily initialize an empty domain object - ➕ Added
Domain::slice
to easily slice a domain object - ➕ Added
ResolvedDomain
object to normalize Resolver results. - ➕ Added
Suffix
object to replace thePublicSuffix
object from v5. - Public Suffix List and IANA Top Level Domain List are fully decoupled
- ➕ Added
Idna
, IDN support has been completely revamped - ➕ Added internal
Stream
class, to improve path/stream resolution - 0️⃣ Resolver uses by default UTS#46 IDNA2008 algorithm to convert domain names
- Storage capability is now optional and can be based on PHP-FIG related interfaces to improve interoperability
Pdp\TopLevelDomains::getIANADomain
which throws on syntax error and if no effective TLD is found (behave likePdp\TopLevelDomains::resolve
in v5).
🛠 Fixed
- The
Pdp\Domain
class not longer directly exposes Effective TLD status. - Effective TLD resolver (
Pdp\Rules::resolve
andPdp\TopLevelDomains::resolve
) no longer accept IDNA options. Rules::getICANNDomain
,Rules::getPrivateDomain
will throw even if aPublicSuffix
is found but does not belong to the correct PSL section.Pdp\TopLevelDomains::resolve
acts likePdp\Rules::resolve
and only throw onTypeError
🗄 Deprecated
- None
✂ Removed
__toString
and__debugInfo
usage- 👌 Support for PHP7.4-
- ⚡️ Composer script for automatic updates of the remote databases
- ⚡️ CLI command
bin/update-psl
- 📦
Pdp\Cache
,Pdp\CacheException
: The package PSR-16 Cache implementation using the underlying filesystem. - 📦
Pdp\HttpClient
,Pdp\CurlHttpClient
andPdp\HttpClientException
: The package Http Client. - 📦
Pdp\Installer
,Pdp\Manager
: The package source manager and installer - 📦
Pdp\Logger
, The package logger implementation - 🗄
Pdp\Rules::ALL_DOMAINS
constant deprecated in version 5.3 - 🗄
Pdp\Domain::getDomain
deprecated in version 5.3 Pdp\Domain::resolve
Pdp\Domain::getPublicSuffix
replaced byPdp\ResolvedDomain::suffix
Pdp\Domain::getRegistrableDomain
replaced byPdp\ResolvedDomain::registrableDomain
Pdp\Domain::getSubDomain
replaced byPdp\ResolvedDomain::subDomain
Pdp\Domain::withPublicSuffix
replaced byPdp\ResolvedDomain::withSuffix
Pdp\Domain::getLabel
replaced byPdp\Domain::label
Pdp\Domain::isTransitionalDifferent
replaced byPdp\IdnaInfo::isTransitionalDifferent
Pdp\PublicSuffix
replaced byPdp\Suffix
- Accessing suffix information from the
Pdp\Domain
object is no longer possible you need to do it fromPdp\Suffix
Pdp\TopLevelDomains::contains
without replacement- Internal Converter classes (implementation details are no longer exposed).