Skip to content

3.0.0

Closed Mar 2, 2023 100% complete

With the upcoming release of NADI 3.0.0, there might be breaking changes for existing users of Next Active Directory Integration 2.x.

NADI 3.0.0 contains required refactorings to make NADI work with future PHP versions and 3rd-party plug-ins and packages.

Timeline

Date Description Status
Begin of December, 2022 A minor release of NADI 2.3.x wll int…

With the upcoming release of NADI 3.0.0, there might be breaking changes for existing users of Next Active Directory Integration 2.x.

NADI 3.0.0 contains required refactorings to make NADI work with future PHP versions and 3rd-party plug-ins and packages.

Timeline

Date Description Status
Begin of December, 2022 A minor release of NADI 2.3.x wll introduce a new admin notification pointing to this milestone changelog ✔️ Notification has been introduced with 2.3.6 on 2022-12-07
Mid of December 2022, ~ 2022-12-15 Release of v3 premium extensions for support plan customers ✔️ Each PE has been updated on 2022-12-07
2023-03-01 Release of NADI 3.0.0 ✔️ Release on 2023-03-02

Prepare

You can check out the various v3-rc* releases and try them in your test environment.

Noteworthy changes

Usage of namespaces

NADI 2.x relied upon PSR-0. Each class had been prefixed with NextAdInt_ and 3rd party PHP libraries (e.g. Twig) have been loaded into the global namespace. This proceeding introduced a lot of issues with third-party plug-ins: If another WordPress plug-in also bundles a 3rd party library (e.g. Twig) in a different version, WordPress crashed (#165).

Without changing NADI's internal structure, we would not have been able to fix this issue.

Therefore, NADI 3.0.0 drops the old NextAdInt_-PSR-0 style: Everything is now located inside the Dreitier\Nadi\ or Dreitier\ namespace. We use strauss to put each dependency - like Twig - in its own Dreitier\Nadi\ namespace. Version and namespace conflicts can no longer occur.

How this affects you

Who What to do
Users without having 3rd party plug-ins which rely on NADI This change should not affect you.
Users with custom plug-ins Change the corresponding class references to their namespace equivalent.
Owners of NADI Premium Extensions Upgrade your Premium Extensions to a v3 version. . All Premium Extensions are compatible since 2022-12-07.

Upgrade to monolog 2.8.0

Accompanying with the usage of namespaces, we had to upgrade monolog to 2.8.0 to fix some incompatibilities (#169).

How this affects you

Who What to do
Everyone The default output format of logs/nadi-debug.log slightly changes. If you are collect the logs into your logging solution, you have to upgrade your regexes
Users without having 3rd party plug-ins which rely on NADI This change should not affect you.
Users with custom plug-ins Instead of using next_ad_int()->logger->warn(...), use next_ad_int()->logger->warning(...)
Owners of NADI Premium Extensions Upgrade your Premium Extensions to a v3 version. All Premium Extensions are compatible since 2022-12-07.

Support for PHP 7.4 is dropped

EOL of PHP 7.4 has been on 2022-12-31. With that date we dropped any support for PHP 7.4.
Minimum requirement is now PHP 8.0. (#170). PHP 8.0 is also required for monolog 2.8.0, because of transitive dependencies.

How this affects you

Who What to do
Users with PHP 8.x Nothing, everything is fine
Users with PHP 7.x Upgrade your environment directly to PHP 8.1. You can get in touch with us at hello AT dreitier DOT com if you need professional help to getting the migration done.

Removal of brute-force protection

This has been a long deprecated feature and is removed with 3.0.0. There are better solutions out there like WordPress Brute Force Protection.

How this affects you

This just affects you, if you had brute-force protection enabled.

Removal of migration tool for ADI v1.

ADI v1 is no longer in use or maintained.

How this affects you

This should not affect anyone.

This milestone is closed.

No open issues remain. View closed issues or see open milestones in this repository.