Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects.
AL extensions for Business Central can have obsoleted, internal, or OnPrem-scoped objects where breaking changes are not detected by default during AppSource validation. Microsoft added AppSourceCop configuration settings (validateObsoleteSymbols, validateInternalSymbols, validateOnPremSymbols) to enable breaking change validation on these previously excluded symbols.

post Stefano Demiliani
"By default, all these objects are not validated by AppSourceCop nor by the AppSource technical validation process."
Key points
- AppSourceCop does not validate breaking changes on obsoleted objects, internal symbols, or OnPrem-scoped methods by default
- Breaking changes to internal symbols with internalsVisibleTo can silently break dependent extensions without being caught
- Three new AppSourceCop.json configuration parameters enable validation of these excluded symbol types
- validateInternalSymbols is particularly important for extensions using internalsVisibleTo that other apps depend on
Quotes
- “By default, all these objects are not validated by AppSourceCop nor by the AppSource technical validation process.” (Explains the core problem that unvalidated obsolete, internal, and OnPrem symbols can have breaking changes slip through)
- “AppSource validation is not checking for those problems…” (Emphasizes why developers must manually configure these new settings to catch such breaking changes)
Context
- Features: AppSourceCop analyzer, AppSourceCop.json configuration, validateObsoleteSymbols setting, validateInternalSymbols setting, validateOnPremSymbols setting, internalsVisibleTo property, breaking change detection
Source: Stefano Demiliani, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.