videoAL Developmentofficial - Microsoftreviewed - checked by Opus

What's New: Smarter Pipelines (2025 release wave 2)

Business Central 2025 release wave 2 pipeline improvements for repos with many AL projects: the directory.app.props.json file for centralizing app.json settings, and installing the AL command line tool as a dotnet tool. Both were demoed and the dotnet tool is currently pre-release.

  1. 0:00 Introduction and overview of pipeline challenges
  2. 0:47 The problem: managing versions across 200+ app.json files
  3. 1:48 Solution: directory.app.props.json file structure
  4. 3:24 Live demo: using props files with multiple projects
  5. 6:23 How props files work with ALC and Visual Studio Code
  6. 9:00 Summary of directory.app.props.json feature
  7. 9:59 Introducing dotnet tool installation for command line tools
  8. 11:24 Live demo: using AL command line tool across platforms
  9. 13:29 Conclusion and future plans
video Microsoft Dynamics 365 Business Central (YouTube) · 2025-10-01Watch on YouTube

Overview

The video addresses the pain of managing pipelines in a large repo with many AL projects. The example given is a repo with more than 200 app.json files, where each new major or minor version needs updates across all of them.

The first solution is directory.app.props.json, a file inspired by the MS build props file. It has a variables section and a properties section mapping to app.json properties. The second is installing the AL command line tools through dotnet tools, with an AL tool that exposes subcommands. Both are demoed, and the presenter says AL-Go for GitHub will pick them up later.

Key points

  • directory.app.props.json centralizes settings across many AL projects, with a variables section for reusable values and a properties section that maps to app.json properties.
  • Variables in the props file can be overridden by environment variables, for example setting the revision in a pipeline before compiling.
  • app.json files can use placeholders such as $(version), which are resolved from the props file at build time instead of causing an invalid version error.
  • An individual app.json can override a centralized property by including that property locally; a props file property is used only when it is absent in app.json.
  • The props file is found by name, searching upward from the project toward the root and using the first match; both VS Code and ALC respect it.
  • Properties are expanded during package creation, so generated packages are the same either way. Changes to the props file need a VS Code reload to take effect in the editor.
  • Only specific properties are supported for now, and more may be added.

Features

Feature Status At
directory.app.props.json file status not stated, demoed 1:48
AL command line tool via dotnet tools status not stated, demoed 9:59
Variable substitution in app.json status not stated, demoed 5:14
Property override in individual projects status not stated, demoed 5:42
AL tool with subcommands status not stated, demoed 11:39
AL-Go integration planned status not stated 13:51

AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

  • other “directory.app.props.json” at 1:48
  • other “app.json” at 1:06
  • other “ALC” at 7:01

Quotes

  • 0:17 “Managing pipelines for a larger repo with many AL projects can be a pain which is something we have now addressed with this couple”
  • 1:06 “In this repo, there is more than 200 app.json files. And whenever we create a new major, a new minor at doing a build,”
  • 1:48 “We came up with a new file inspired by the MS build props file. We have now created a file called directory.app.props.json.”
  • 9:17 “Properties are expanded during package creation, which means that in the generated packages, there are no difference. They are the same no matter whether”
  • 10:21 “we decided to piggyback on a feature called net tools which is the net installation that provides you the ability to download tools packages”
  • 11:01 “for now you need the pre-release we plan to release it so you will get a released version today it’s pre-release”
  • 11:24 “The caveat with the net tools packages is that you can only add one alias. So we have decided that the AL alias points”

Disclaimers in the video

  • 11:01 preview: for now you need the pre-release we plan to release it so you will get a released version today it’s pre-release
  • 13:51 coming-later: We of course plan to uptake this also in algo for GitHub. So if you are using that already, you will get get this functionality soon or in the future at least.

Presenters (as heard): Espos Kustavson.