|Classes of Matthias Sommerfeld||IDNA Convert||UPGRADING.md||Download|
Upgrading from previous versions
The minimum PHP version is now 8.1.
We changed the behaviour of the encoding step a bit to be more in line with the actual RFCs. This means that the NAMEPREP step is now performed on ANY label
being passed to the
Also, we added the flag
BC break: When stating the IDNA version (2003 or 2008) one must always use an integer. From now on strict type checking is in place.
In older version labels containing characters prohibited according to NAMEPREP were silently ignored. Now we are throwing an
We changed the behaviour of the Punycode algorithm to now include all basic ASCII characters in the output when using
The library has been broken down into various specific classes, thus more closely following SOLID principles.
As such the single class
Also, the handling of host names (simple labels like
| Method | |
There's no "strict mode" anymore, this is achieved by the separate methods above. The IDN version is selected when instantiating the class, no more setting during runtime.
Also, the encoding (for the Unicode side of things) is now always UTF-8. Use
All actual subclasses like that for NamePrep and the actual Punycode transformation are put in their own namespaces under
All examples are updated to reflect the new usage. See the ReadMe for more details.
Finally, the minimum PHP version is now 7.2.
The library has been handed over to actively maintained GitHub and Packagist accounts. This led to a change in the namespace.
Replace all occurrences of
BC break: As of version 1.0.0 the class closely follows the PSRs PSR-1, PSR-2 and PSR-4 of the PHP-FIG. As such the classes' naming has been changed, a namespace has been introduced and the default IDN version has changed from 2003 to 2008 and minimum PHP engine version raised to 5.6.0.
As of version 0.8.0 the class fully supports IDNA 2008. Thus, the aforementioned parameter is deprecated and replaced by a parameter to switch between the standards. See the updated example 5 in the ReadMe.
BC break: As of version 0.6.4 the class per default allows the German ligature ß to be encoded as the DeNIC, the registry for .DE allows domains containing ß.
ATTENTION: As of version 0.6.0 this class is written in the OOP style of PHP 5. Since PHP 4 is no longer actively maintained, you should switch to PHP 5 as quickly as possible. We expect no compatibility issues with the upcoming ~~PHP 6~~ PHP 7 as well.