---
id: post/demiliani-com/12142
type: post
title: "Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects."
summary: 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.
tier: community
language: en
tags:
  - appsourcecop
  - breaking changes
  - al extensions
  - code validation
  - internals
  - obsoleted objects
  - onprem scope
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:00:27.979Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: fd90bd8f1efb9f1139613c8961d5eafc10b109e052d7eb31ac76015947daae51
evidence:
  - kind: blog
    url: https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/
    title: "Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects."
    date: "2025-07-22"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/
    title: "Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects."
    date: "2025-07-22"
    commit: null
    t: null
    quote: By default, all these objects are not validated by AppSourceCop nor by the AppSource technical validation process.
  - kind: blog
    url: https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/
    title: "Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects."
    date: "2025-07-22"
    commit: null
    t: null
    quote: AppSource validation is not checking for those problems…
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: "12142"
source_id: demiliani-com
source_name: Stefano Demiliani
url: https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/
published_at: "2025-07-22T09:39:17.000Z"
author: Stefano Demiliani
full_text: false
words: 695
quotes:
  - text: By default, all these objects are not validated by AppSourceCop nor by the AppSource technical validation process.
    why_it_matters: Explains the core problem that unvalidated obsolete, internal, and OnPrem symbols can have breaking changes slip through
  - text: AppSource validation is not checking for those problems…
    why_it_matters: Emphasizes why developers must manually configure these new settings to catch such breaking changes
code_objects_mentioned: []
systems:
  - development
versions_mentioned: []
preview:
  embeddable: true
  frame_url: https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/embed/
  image: https://demiliani.com/wp-content/uploads/2025/07/appsourceobsoletionchecks_11.png
  image_alt: null
  image_w: 888
  image_h: 372
  site_name: Stefano Demiliani
  favicon: https://demiliani.com/wp-content/uploads/2022/09/sd_wordpress_logo.png?w=32
  probed_at: "2026-10-07T11:51:53.744Z"
---

# Dynamics 365 Business Central: checking for breaking changes on obsoleted, internal and OnPrem objects.

[Read the post](https://demiliani.com/2025/07/22/dynamics-365-business-central-checking-for-breaking-changes-on-obsoleted-internal-and-onprem-objects/) · Stefano Demiliani (Stefano Demiliani, MVP) · 2025-07-22 · 695 words · tier community · reviewed (checked by Opus)

> 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.

## 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.
