Description
The debug info API was created to allow formats such as DWARF and PDB to add information to a given Binary View, such as function symbols and types. Much of the design was centered around a new set of objects seperate from the "live" objects that exist within the context of a Binary View, this allows bulk ingestion of functions and other things that would have (at the time) possibly resulted in unneeded analysis.
While this API does work currently, it is unnecessary after the addition of module level workflows. The removal of the debug info API is a step towards simplifying the API surface area, meaning that enhancements to the module level pipeline will be available to these providers (i.e. DWARF, PDB and IDB).
Another benefit to moving the providers over to module level workflow's is the flexibility offered. No longer would you have to model your debug info into the debug info api, you will be given the Binary View as it is, allowing you to do things previously unavailable such as creation of sections and segments.
For other examples of things the Debug info API does not model:
Before we deprecate the Debug Info API we must move the IDB, DWARF and PDB plugins away from the debug info api and use the workflow API.
Another discussion to be had is the application of a provenance system, however that is really a separate discussion that does not need to be tied to this IMO.