bcquality/microsoft/knowledge/appsource/release-must-update-app-version.md
Michael Dieringer a4d85c3e9e Add 18 more community AL/BC patterns across appsource, data-modeling, error-handling, security, style, testing, ui, upgrade, and web-services
Second contribution from CURABIS ApS, generalized from patterns observed across real AppSource/PTE development. Cross-checked against the current microsoft/knowledge corpus before opening; several originally-drafted candidates were dropped as duplicates of existing files.
2026-09-21 22:42:49 +02:00

1.6 KiB

bc-version domain keywords technologies countries application-area
all
appsource
version
release
app-json
semver
al-go
appsource
al
w1
all

Update the app version at every release

Description

At every release — a branch merged to main, a tagged release build, or an AppSource submission — the app's version is consciously updated, not left to the pipeline alone.

Version part Owner When
Major Developer decision Breaking change (schema, API, removed objects)
Minor Developer decision Every release with new functionality
Build / Revision AL-Go pipeline Automatic — never hand-edited

The version number is the only identity a deployed app has. Two customer environments running "the same" version with different code is an undiagnosable support case; an AppSource submission with an unchanged major.minor is a rejected submission. AL-Go increments build numbers on every CI run, which creates the illusion that versioning is handled — but major.minor is a human statement about compatibility, and no pipeline can make it.

Best Practice

Before the release merge:
  app.json:       "version": "1.3.0.0"    (new functionality -> minor bump)
  AL-Go settings: "repoVersion": "1.3"     (where used)
Then: feature branch -> main via PR, tag, release.

Feature branches never touch the version; only the release does.

Anti Pattern

Branch merged to main and released.
app.json still says "version": "1.2.0.0" -- same as the previous release.
Two different code states now share one version identity.