Microsoft has rolled out several updates to AppSourceCop, the AL code analyzer used to validate extensions for AppSource. These changes aim to strike a better balance between flexibility for developers and protection against breaking changes that could impact customers or future upgrades.

Here’s a quick overview of what’s new and what’s changed:


Rule Adjustments That Make Life Easier

AS0018 – Handling Event Name Conflicts

You can now rename or remove events in extension objects if they clash with events in the base object. This update resolves a common pain point and gives developers more room to work without compromising stability.

Updated rule AS0018 to allow removing or renaming events in extension objects when the event name conflicts with the name of the events defined in the target object.

AS0034 & AS0039 – InherentEntitlements Can Be Modified

These rules now allow changes to the InherentEntitlements property on tables. This gives partners more control over how entitlements are structured, without triggering validation errors.

Updated rules AS0034 and AS0039 to allow modifying the InherentEntitlments on tables.

AS0106 – Conflicting Global Variables

Protected global variables that conflict with built-in members (like a Language variable in a report) can now be removed. This helps clean up code and avoid unintended behavior.

Updated rule AS0106 to allow removing protected global variables conflicting with built-in members. For instance, variables named Language on reports which conflict with the built-in Language method.


Stricter Validation Where It Matters

AS0034 – Compressed Property Is Now Strictly Enforced

Changing the Compressed property on a table is now considered a breaking change. Whether you’re switching from true to false or vice versa—or even adding the property with a non-default value—it will trigger an error. This ensures extensions remain updatable and avoids silent failures during deployment.

Updated rule AS0034 to be more strict about the Compressed property, because changing it could lead to extensions not being able to update. Now it will be an error to change the property from true to false and vice versa. The default value is true, so adding the property with false will similarly be considered a breaking change.


New Configuration Options for Validation

AppSourceCop now supports configuration settings that let you validate breaking changes on objects marked as:

  • Obsolete
  • OnPrem
  • Internal

By default, these objects are skipped during validation. With the new settings, you can opt in to stricter checks, helping teams maintain cleaner and more future-proof codebases.

For details, check out the AppSourceCop Configuration documentation.

Adding new AppSourceCop configuration settings enabling validation of breaking changes on objects which are Obsolete, marked with OnPrem, or marked with Internal accessibility. By default, these objects are not validated by AppSourceCop nor by the AppSource technical validation process. For more info, see AppSourceCop Configuration.


New Rules to Watch

AS0134 – Versioning of External Business Events

This rule flags breaking changes to the version attribute of external business events. It’s set to Warning by default, so it won’t block submissions, but it’s a useful heads-up for developers managing integrations.

New rule AS0134 to detect breaking changes of the version attribute parameter of external business events. The rule will not fail AppSource submissions as the default severity is Warning.

AS0135 – Proper Obsoletion of External Events

Before removing an external business event, it must be correctly obsoleted. This rule enforces best practices for deprecation and ensures smoother transitions for consumers of your events.

New rule AS0135 to validate that external business events are correctly obsoleted prior to removal.


Final Thoughts

These updates reflect Microsoft’s ongoing effort to make AppSource validation more intelligent and developer-friendly, while still protecting customers from disruptive changes. If you’re building or maintaining AL extensions, now’s a good time to revisit your AppSourceCop configuration and make sure you’re aligned with the latest rules.

Categorized in: