code change · fixAL Developmentofficial - Microsoftreviewed - checked by Opus

#93 Fix lifecycle compatibility guidance

Knowledge articles and samples on error handling, events, interfaces, upgrade, testing, web services and breaking changes were corrected. API page defaults were clarified, version-specific API shapes now need separate page objects, and the web-services review example now follows APIVersion defaulting to beta.

Pull request · merged into main on 2026-07-14 by JesperSchulz · 32 files (+197 -100), 32 AL · fix · tier official · reviewed (checked by Opus)

What changed

  • Clarified examples and documentation for error collection with ErrorBehavior, event handling with IsHandled, and data transfer skipping triggers
  • Updated API versioning guidance to require separate page objects for version-specific shapes and aligned examples with APIVersion defaulting to beta
  • Corrected lifecycle guidance for obsoletions, public members, and test transaction models with improved samples
  • Fixed examples for SecretText exposure prevention, interface default implementations, and upgrade tag registration
  • Enhanced web services review examples and refined upgrade codeunit subtype documentation

AL objects touched

  • microsoft/knowledge/breaking-changes/deprecate-public-members-with-the-obsolete-lifecycle.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/breaking-changes/deprecate-public-members-with-the-obsolete-lifecycle.md: modified, not in the BC? snapshot
  • microsoft/knowledge/breaking-changes/do-not-expose-sensitive-data-through-public-api.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/breaking-changes/do-not-expose-sensitive-data-through-public-api.md: modified, not in the BC? snapshot
  • microsoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/breaking-changes/obsolete-table-fields-instead-of-deleting-them.md: modified, not in the BC? snapshot
  • microsoft/knowledge/error-handling/collect-validation-errors-with-errorbehavior.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/error-handling/collect-validation-errors-with-errorbehavior.md: modified, not in the BC? snapshot
  • microsoft/knowledge/events/do-not-add-ishandled-to-an-existing-event.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/events/prefer-reusing-or-extending-existing-events.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/events/publish-thin-onbefore-onafter-integration-events.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/events/use-ishandled-to-make-base-behaviour-overridable.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/interfaces/set-defaultimplementation-on-enum.md: modified, not in the BC? snapshot
  • microsoft/knowledge/testing/transactionmodel-attribute-governs-test-transactions.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/testing/transactionmodel-attribute-governs-test-transactions.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/testing/transactionmodel-attribute-governs-test-transactions.md: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/datatransfer-skips-triggers-and-subscribers.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/datatransfer-skips-triggers-and-subscribers.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/datatransfer-skips-triggers-and-subscribers.md: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/obsoletion-requires-reason-and-tag.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/obsoletion-requires-reason-and-tag.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/obsoletion-requires-reason-and-tag.md: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/register-upgrade-tags-with-subscribers.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/register-upgrade-tags-with-subscribers.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/register-upgrade-tags-with-subscribers.md: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/upgrade-codeunit-subtype.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/upgrade/upgrade-codeunit-subtype.md: modified, not in the BC? snapshot
  • microsoft/knowledge/web-services/set-required-api-page-properties.bad.al: modified, not in the BC? snapshot
  • microsoft/knowledge/web-services/set-required-api-page-properties.md: modified, not in the BC? snapshot
  • microsoft/knowledge/web-services/version-apis-by-adding-not-mutating-published-versions.good.al: modified, not in the BC? snapshot
  • microsoft/knowledge/web-services/version-apis-by-adding-not-mutating-published-versions.md: modified, not in the BC? snapshot
  • microsoft/skills/review/al-web-services-review.md: modified, not in the BC? snapshot

Context

  • Systems: development
  • From the description: “correct collectible-error, DataTransfer, upgrade-tag, obsoletion, and test-transaction guidance and samples”

Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).