---
id: video/4mD9R50V134
type: video
title: "What's New: Smarter Pipelines (2025 release wave 2)"
summary: "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."
tier: official
language: en
tags:
  - pipelines
  - directory.app.props.json
  - centralized settings
  - dotnet tools
  - al command line
  - app.json management
  - multi-project repos
  - build automation
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T22:52:41.702Z"
  flags: []
generated:
  at: "2026-10-07T22:52:41.742Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: 24ff9eb3ffbd11fc13a609eb476d299c6f9884de0d1c1241167dbb875b977c1c
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=17s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 17
    quote: Managing pipelines for a larger repo with many AL projects can be a pain which is something we have now addressed with this couple
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=66s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 66
    quote: 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,
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=108s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 108
    quote: 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.
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=557s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 557
    quote: Properties are expanded during package creation, which means that in the generated packages, there are no difference. They are the same no matter whether
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=621s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 621
    quote: we decided to piggyback on a feature called net tools which is the net installation that provides you the ability to download tools packages
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=661s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 661
    quote: for now you need the pre-release we plan to release it so you will get a released version today it's pre-release
  - kind: video
    url: https://www.youtube.com/watch?v=4mD9R50V134&t=684s
    title: "What's New: Smarter Pipelines (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 684
    quote: The caveat with the net tools packages is that you can only add one alias. So we have decided that the AL alias points
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: 4mD9R50V134
channel: yt-microsoft
source_name: Microsoft Dynamics 365 Business Central (YouTube)
url: https://www.youtube.com/watch?v=4mD9R50V134
published_at: "2025-10-01T00:00:00Z"
duration_s: 848
captions: full
audience:
  - developer
  - administrator
  - functional consultant
chapters:
  - t: 0
    title: Introduction and overview of pipeline challenges
  - t: 47
    title: "The problem: managing versions across 200+ app.json files"
  - t: 108
    title: "Solution: directory.app.props.json file structure"
  - t: 204
    title: "Live demo: using props files with multiple projects"
  - t: 383
    title: How props files work with ALC and Visual Studio Code
  - t: 540
    title: Summary of directory.app.props.json feature
  - t: 599
    title: Introducing dotnet tool installation for command line tools
  - t: 684
    title: "Live demo: using AL command line tool across platforms"
  - t: 809
    title: Conclusion and future plans
features:
  - name: directory.app.props.json file
    status: unclear
    t: 108
    verified: false
    status_source: video
  - name: AL command line tool via dotnet tools
    status: unclear
    t: 599
    verified: false
    status_source: video
  - name: Variable substitution in app.json
    status: unclear
    t: 314
    verified: false
    status_source: video
  - name: Property override in individual projects
    status: unclear
    t: 342
    verified: false
    status_source: video
  - name: AL tool with subcommands
    status: unclear
    t: 699
    verified: false
    status_source: video
  - name: AL-Go integration planned
    status: unclear
    t: 831
    verified: false
    status_source: video
objects_mentioned:
  - other directory.app.props.json
  - other app.json
  - other ALC
quotes:
  - t: 17
    text: Managing pipelines for a larger repo with many AL projects can be a pain which is something we have now addressed with this couple
    check: exact
  - t: 66
    text: 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,
    check: exact
  - t: 108
    text: 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.
    check: exact
  - t: 557
    text: Properties are expanded during package creation, which means that in the generated packages, there are no difference. They are the same no matter whether
    check: exact
  - t: 621
    text: we decided to piggyback on a feature called net tools which is the net installation that provides you the ability to download tools packages
    check: exact
  - t: 661
    text: for now you need the pre-release we plan to release it so you will get a released version today it's pre-release
    check: exact
  - t: 684
    text: The caveat with the net tools packages is that you can only add one alias. So we have decided that the AL alias points
    check: exact
---

# 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.

[Watch on YouTube](https://www.youtube.com/watch?v=4mD9R50V134) · Microsoft Dynamics 365 Business Central (YouTube) · 2025-10-01 · 14:08 · tier official · reviewed (checked by Opus)

## 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.

## Chapters

- [0:00](https://www.youtube.com/watch?v=4mD9R50V134&t=0s) Introduction and overview of pipeline challenges
- [0:47](https://www.youtube.com/watch?v=4mD9R50V134&t=47s) The problem: managing versions across 200+ app.json files
- [1:48](https://www.youtube.com/watch?v=4mD9R50V134&t=108s) Solution: directory.app.props.json file structure
- [3:24](https://www.youtube.com/watch?v=4mD9R50V134&t=204s) Live demo: using props files with multiple projects
- [6:23](https://www.youtube.com/watch?v=4mD9R50V134&t=383s) How props files work with ALC and Visual Studio Code
- [9:00](https://www.youtube.com/watch?v=4mD9R50V134&t=540s) Summary of directory.app.props.json feature
- [9:59](https://www.youtube.com/watch?v=4mD9R50V134&t=599s) Introducing dotnet tool installation for command line tools
- [11:24](https://www.youtube.com/watch?v=4mD9R50V134&t=684s) Live demo: using AL command line tool across platforms
- [13:29](https://www.youtube.com/watch?v=4mD9R50V134&t=809s) Conclusion and future plans

## Features

| Feature | Status | At |
|---|---|---|
| directory.app.props.json file | status not stated, demoed | [1:48](https://www.youtube.com/watch?v=4mD9R50V134&t=108s) |
| AL command line tool via dotnet tools | status not stated, demoed | [9:59](https://www.youtube.com/watch?v=4mD9R50V134&t=599s) |
| Variable substitution in app.json | status not stated, demoed | [5:14](https://www.youtube.com/watch?v=4mD9R50V134&t=314s) |
| Property override in individual projects | status not stated, demoed | [5:42](https://www.youtube.com/watch?v=4mD9R50V134&t=342s) |
| AL tool with subcommands | status not stated, demoed | [11:39](https://www.youtube.com/watch?v=4mD9R50V134&t=699s) |
| AL-Go integration planned | status not stated | [13:51](https://www.youtube.com/watch?v=4mD9R50V134&t=831s) |

## 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](https://www.youtube.com/watch?v=4mD9R50V134&t=108s)
- other "app.json" at [1:06](https://www.youtube.com/watch?v=4mD9R50V134&t=66s)
- other "ALC" at [7:01](https://www.youtube.com/watch?v=4mD9R50V134&t=421s)

## Quotes

- [0:17](https://www.youtube.com/watch?v=4mD9R50V134&t=17s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=66s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=108s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=557s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=621s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=661s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=684s) "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](https://www.youtube.com/watch?v=4mD9R50V134&t=661s) 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](https://www.youtube.com/watch?v=4mD9R50V134&t=831s) 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.
