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.