The main feature added in this version is the “Provides:” header. This allows virtual packages to be defined:

/*
Plugin Name: Lib X
Provides: lib-x
*/

Now, dependant plugins can specify ‘lib-x’ as a dependency:

/*
Plugin Name: Cool Plugin
Depends: lib-x
*/

The first advantage is that dependencies are no longer tied to plugin file paths.

More importantly, you can now have dependency alternatives: there can be more than one plugin that provides the same functionality:

/*
Plugin Name: Lib Alt
Provides: lib-x
*/

When you activate Lib Alt, Lib X will automatically be deactivated.