A developer’s dual-monitor workstation displays code and cloud deployment diagrams in a modern office.
Microsoft has added a Business Central roadmap entry (ID 573357) that tackles a familiar problem for AL developers: you restore symbols and find a dependency has quietly moved to a newer minor release. The item is titled "Dynamics 365 Business Central: Development - Restrict global symbol resolution to a minor version." It describes global symbol downloads that stay within the major and minor version declared in a project's app.json, while still picking up the newest available patch for every dependency.

Put simply, if you target a given major.minor line, symbol restoration should stay on that line. You still get patch updates, but nothing jumps to the next minor release without you asking for it.

What the roadmap entry says​

Here is what the entry contains:

  • Roadmap ID: 573357
  • Product: Dynamics 365 Business Central
  • Status: Launched
  • Release ring: General Availability
  • Platform: Web
  • Cloud instance: Worldwide (Standard Multi-Tenant)
  • General availability date: October 2026
  • Stated behavior: global symbol downloads stay inside the major and minor version in app.json, and select the newest available patch for all dependencies
  • Stated business value: more predictable symbol restoration, reproducible builds, and testing against the intended Business Central minor version, with compatible patch updates still arriving

A caveat about timing: the entry says "Launched," but its GA month is October 2026, and today is October 1. Microsoft's roadmap also says its dates are estimates and that all information is subject to change. Don't assume every developer workstation has this behavior yet. Check your own tooling first.

Section summary: This is a change to how symbols are resolved at development time. It is pinned to the major.minor version in app.json and still allows patch updates. The roadmap lists it as launched with GA in October 2026.

Where "global symbols" come from​

The feature builds on a fairly recent change to AL development. Microsoft MVP Stefano Demiliani has described how starting from AL Language Extension version 17, now you have a new command called AL: Download Symbols from Global Sources. The command allows downloading app packages directly from Microsoft's public NuGet feeds.

Before that, the routine was different. As Business Central blogger Yun Zhu puts it, previously, you had to have a running Docker container or a Sandbox environment just to click "Download Symbols" and start coding. The developer blog dvlprlife says Business Central 2026 Wave 1 (v28), together with AL Language extension v17, lets you pull symbols straight from Microsoft's public NuGet feed (or your own), with no environment, no launch.json, no tenant required.

Version selection is driven by app.json. The command looks at app.json for the application version and checks Microsoft's built-in feeds first, then any custom feeds configured in settings.json. The existing settings include al.nugetFeeds for extra NuGet v3 feeds, al.useOnlyCustomFeeds to skip Microsoft's feeds entirely, and al.symbolsCountryRegion for localized packages.

Yun Zhu has a write-up that labels this new restriction as part of Business Central 2026 release wave 2 (BC29), which makes it the follow-up to the BC28 global-sources feature.

Section summary: "Global symbol resolution" means the NuGet-based symbol download that came with AL Language v17 and BC28. The new roadmap item controls which versions that process is allowed to choose.

Why minor-version drift matters​

In Business Central, a dependency version in app.json is normally a minimum, not an exact pin. Microsoft's own documentation contrasts project references, which use the full identity and version, with application references, where a minimum version is enough. If the resolver simply takes the newest package that meets the minimum, the version you get depends on what has been published to the feed lately.

A community tool shows the issue clearly. The open-source "BC Symbols Downloader" VS Code extension from axiansinfoma documents that for each package the highest version on the requested major line that is >= the app.json version is chosen (BC dependency versions are minimums). That rule makes sense, but it allows a jump from one minor release to the next. Your project declares one minor line, and you restore symbols from a later one.

To be clear, that third-party extension is not Microsoft's AL tooling, and its documented rule does not describe how Microsoft's command behaves. It is useful only as an example of the major-line resolution approach that the new roadmap item rules out for global symbol downloads.

Here's how that goes wrong in practice:

  1. Your extension targets a specific Business Central minor release, because that is what your customers or your test environment run.
  2. A developer restores symbols on a new machine weeks later and gets a newer minor package.
  3. The code compiles against objects, procedures, or signatures that the intended target doesn't have.
  4. The build passes locally and then fails, or behaves differently, against the version you actually deploy to.

According to the roadmap, locking resolution to major.minor while still accepting the newest patch is meant to close that gap.

How this fits with CI/CD tooling​

Pipelines have their own version of this problem. Microsoft's AL-Go for GitHub documentation already handles major.minor matching for build artifacts. It notes that when the artifact selection is set to latest, you get the latest artifacts with the same major.minor as your application dependency. The same documentation warns about its updateDependencies setting: not every app version in Business Central artifacts actually ships in Business Central SaaS, which can cause dependency resolution failures during AppSource validation.

Keep these separate. Nothing in roadmap item 573357 says it changes AL-Go, its artifact selection, or updateDependencies. The comparison matters because it shows Microsoft applying the same "stay on the minor line, take the latest patch" approach to developer symbol downloads that AL-Go already uses for build artifacts. That consistency helps teams whose local and pipeline builds currently resolve dependencies in different ways.

Section summary: AL-Go already supports major.minor-aware artifact selection. This roadmap item applies a similar boundary to global symbol downloads, but the two are separate mechanisms.

What the roadmap doesn't say​

The roadmap description leaves out several details, and they are worth knowing before you change your processes:

  • No setting name or command is published. The entry says the behavior can be configured but doesn't name the setting or say where it lives. Check the AL Language extension changelog and Microsoft Learn rather than guessing.
  • No minimum AL Language extension version is given.
  • Dependency coverage isn't spelled out. The description says "all dependencies," but it doesn't say whether every download route or custom feed behaves the same way.
  • Runtime isn't affected. This concerns development-time symbol resolution. Nothing suggests changes to production environments, installed extensions, or tenant app-update policies.

Practical next steps for AL teams​

While Microsoft's documentation catches up, these are reasonable checks. They are general good practice, not setup steps published by Microsoft:

  1. Check your app.json declarations. Make sure the application version and dependency versions show the major.minor line you intend to target.
  2. Update the AL Language extension and read its release notes for the new option and any version requirement.
  3. Restore symbols with AL: Download Symbols from Global Sources and record exactly which package versions end up in .alpackages.
  4. Compare local and pipeline results. If AL-Go or another pipeline resolves to a different minor version than developer machines, sort out that difference first.
  5. Test against the real target. Correct symbols help, but you still need to validate against the Business Central environment your customers actually run.

The bottom line​

This is a small change that matters a lot if you've lost an afternoon to a build that compiled on one machine and not another. Restricting global symbol resolution to the declared minor version, while still allowing new patches, makes the "no environment needed" symbol workflow from BC28 more predictable. What's missing for now is the exact setting name and version requirement. Until Microsoft documents those, check the behavior in your own tooling instead of relying on the roadmap entry alone.

 

References

  1. Dynamics 365 Business Central: Development - Restrict global symbol resolution to a minor version Microsoft 365 Roadmap 2026-09-30T23:31:03.389585Z
  2. GitHub - axiansinfoma/code-extension-al-symbols: VS Code Extension to fetch Business Central symbols from nuget instead of a live environment. · GitHub github.com
  3. Dynamics 365 Business Central: download symbols from Microsoft’s public NuGet source. demiliani.com