There are a lot of projects that haven't yet upgraded to use the new IDL spec, which also means they can't be used in the new declare_program! macro.
Summary of changes
Add ability to convert legacy IDLs to the new IDLs.
The conversion is not perfect, as the new IDL stores much more information than the legacy ones. Thus, projects should preferably aim to generate new IDLs by upgrading their Anchor version rather than this method to get the full benefits of the new IDL spec.
Problem
There are a lot of projects that haven't yet upgraded to use the new IDL spec, which also means they can't be used in the new
declare_program!
macro.Summary of changes
Add ability to convert legacy IDLs to the new IDLs.
The conversion is not perfect, as the new IDL stores much more information than the legacy ones. Thus, projects should preferably aim to generate new IDLs by upgrading their Anchor version rather than this method to get the full benefits of the new IDL spec.
Related: https://github.com/coral-xyz/anchor/issues/2972