---
id: video/qlFEdXPjX6A
type: video
title: "What's New: AL Language (2025 release wave 2)"
summary: "AL language changes in Business Central 2025 release wave 2: allowing customizations options, field mask type, document extended data type, report tooltips, truncate method, record ID formats, namespace metadata column, AI test type, and VS Code cancellation token propagation. Feature status is not stated in the video."
tier: official
language: en
tags:
  - al language
  - allowing customizations
  - mask type
  - extended data types
  - report tooltips
  - record id formatting
  - namespace support
  - ai tests
  - deprecation
  - vs code
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T22:53:51.306Z"
  flags: []
generated:
  at: "2026-10-07T22:53:51.340Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: 7acc9a549ec82087e6a0f98af5d3e489f41cdf06575fa65f50fa175c92365f87
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=41s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 41
    quote: we deprecated the always option and extended it with two new as read only as read write
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=125s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 125
    quote: We have a new property on fields called mask type. The mask type has two options for now. The none and the concealed.
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=141s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 141
    quote: On the extended data types, we added a new option called document. Document is intended for you to to tell the client that this
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=371s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 371
    quote: If you work with a lot of data here, you have now a new option to use the truncate method on tables.
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=528s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 528
    quote: But now if you use format two or format 9, you will get the fully qualified name of a table that is namespaced.
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=568s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 568
    quote: As part of the namespace work, we also introduce the AL namespace colum in the metadata tables.
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=613s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 613
    quote: Here for tests, we added a new test type AI test. This is to indicate that this test is all about validating AI behaviors.
  - kind: video
    url: https://www.youtube.com/watch?v=qlFEdXPjX6A&t=686s
    title: "What's New: AL Language (2025 release wave 2)"
    date: "2025-10-01T00:00:00Z"
    commit: null
    t: 686
    quote: We've now taken the cancellation token here and propagated it all the way to the server. So when I click cancel the whole operation
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: qlFEdXPjX6A
channel: yt-microsoft
source_name: Microsoft Dynamics 365 Business Central (YouTube)
url: https://www.youtube.com/watch?v=qlFEdXPjX6A
published_at: "2025-10-01T00:00:00Z"
duration_s: 720
captions: full
audience:
  - developer
  - functional consultant
chapters:
  - t: 0
    title: Introduction and Allowing Customizations
  - t: 27
    title: Allowing Customizations Property and Classification
  - t: 125
    title: Mask Type, Document Extended Data Type, and Code Cup Rules
  - t: 176
    title: Page Features and UI Rendering
  - t: 333
    title: Report Tooltips and Table Methods
  - t: 442
    title: Sequential GUID, Data Transfer Objects, Text Constants, and Record ID
  - t: 553
    title: Namespace Support and External Business Events
  - t: 626
    title: AI Test Type and Cancellation Token in VS Code
features:
  - name: Allowing Customizations Property Updates
    status: unclear
    t: 27
    verified: false
    status_source: video
  - name: Mask Type Property on Fields
    status: unclear
    t: 125
    verified: false
    status_source: video
  - name: Document Extended Data Type Option
    status: unclear
    t: 141
    verified: false
    status_source: video
  - name: Code Cup Rule for Auto Format Properties
    status: unclear
    t: 166
    verified: false
    status_source: video
  - name: Summary Fact Box Control
    status: unclear
    t: 219
    verified: false
    status_source: video
  - name: Report Tooltips
    status: unclear
    t: 333
    verified: false
    status_source: video
  - name: Truncate Method on Tables
    status: unclear
    t: 371
    verified: false
    status_source: video
  - name: Lock Timeout Duration Method
    status: unclear
    t: 406
    verified: false
    status_source: video
  - name: Record Reference Field Access Methods
    status: unclear
    t: 421
    verified: false
    status_source: video
  - name: Create Sequential GUID Method
    status: unclear
    t: 442
    verified: false
    status_source: video
  - name: Update Audit Fields Property on Data Transfer Objects
    status: unclear
    t: 457
    verified: false
    status_source: video
  - name: Text Constant Methods
    status: unclear
    t: 478
    verified: false
    status_source: video
  - name: Record ID Formatting Enhancements
    status: unclear
    t: 500
    verified: false
    status_source: video
  - name: AL Namespace Column in Metadata Tables
    status: unclear
    t: 568
    verified: false
    status_source: video
  - name: External Business Event Deprecation
    status: unclear
    t: 595
    verified: false
    status_source: video
  - name: User Control Obsolescence
    status: unclear
    t: 613
    verified: false
    status_source: video
  - name: AI Test Type
    status: unclear
    t: 626
    verified: false
    status_source: video
  - name: Required Test Isolation Property
    status: unclear
    t: 626
    verified: false
    status_source: video
  - name: Cancellation Token Propagation in VS Code
    status: unclear
    t: 659
    verified: false
    status_source: video
objects_mentioned:
  - table Flight Data
  - table Flight Lock Entry
  - page install code unit
quotes:
  - t: 41
    text: we deprecated the always option and extended it with two new as read only as read write
    check: exact
  - t: 125
    text: We have a new property on fields called mask type. The mask type has two options for now. The none and the concealed.
    check: exact
  - t: 141
    text: On the extended data types, we added a new option called document. Document is intended for you to to tell the client that this
    check: exact
  - t: 371
    text: If you work with a lot of data here, you have now a new option to use the truncate method on tables.
    check: exact
  - t: 528
    text: But now if you use format two or format 9, you will get the fully qualified name of a table that is namespaced.
    check: exact
  - t: 568
    text: As part of the namespace work, we also introduce the AL namespace colum in the metadata tables.
    check: exact
  - t: 613
    text: Here for tests, we added a new test type AI test. This is to indicate that this test is all about validating AI behaviors.
    check: exact
  - t: 686
    text: We've now taken the cancellation token here and propagated it all the way to the server. So when I click cancel the whole operation
    check: exact
---

# What's New: AL Language (2025 release wave 2)

> AL language changes in Business Central 2025 release wave 2: allowing customizations options, field mask type, document extended data type, report tooltips, truncate method, record ID formats, namespace metadata column, AI test type, and VS Code cancellation token propagation. Feature status is not stated in the video.

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

## Overview

This 12-minute What's New session covers AL language updates for 2025 release wave 2. It starts with the allowing customizations property, where the always option is deprecated and replaced by "as read only" and "as read write", plus a "to be classified" option for incomplete classification.

It then covers field and page features (mask type, the document extended data type, summary fact boxes), report tooltips, and new table and record methods such as truncate and lock timeout. It also covers namespace-related changes (record ID formats, AL namespace column in metadata tables, external business event deprecation) and testing and tooling updates (AI test type, required test isolation, cancellation token in VS Code).

## Key points

- Allowing customizations: the always option is deprecated. Use 'as read only' (same behavior as always), 'as read write', or 'to be classified' for incomplete classification.
- Fields get a mask type property with 'none' and 'concealed' to hide data in the UI. It differs from the extended data type masked.
- Extended data types gain a 'document' option so media renders in portrait mode. A new code cup rule enforces auto format type and expression properties.
- Summary fact boxes are added automatically on card, list and document pages. Hide one by referencing the summary system part and setting visibility to false.
- The truncate method on tables deletes data more efficiently but has limits, such as no use on media tables. Check the documentation first. Setting lock timeout to zero waits indefinitely and is not recommended.
- Record ID formats 2 and 9 return fully qualified names for namespaced tables. The new AL namespace column in metadata tables helps find namespaced tables.
- New AI test type and a required test isolation property on codeunits. VS Code now sends the cancellation token to the server, so publish operations can be cancelled.

## Chapters

- [0:00](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=0s) Introduction and Allowing Customizations
- [0:27](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=27s) Allowing Customizations Property and Classification
- [2:05](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=125s) Mask Type, Document Extended Data Type, and Code Cup Rules
- [2:56](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=176s) Page Features and UI Rendering
- [5:33](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=333s) Report Tooltips and Table Methods
- [7:22](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=442s) Sequential GUID, Data Transfer Objects, Text Constants, and Record ID
- [9:13](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=553s) Namespace Support and External Business Events
- [10:26](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=626s) AI Test Type and Cancellation Token in VS Code

## Features

| Feature | Status | At |
|---|---|---|
| Allowing Customizations Property Updates | status not stated, demoed | [0:27](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=27s) |
| Mask Type Property on Fields | status not stated, demoed | [2:05](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=125s) |
| Document Extended Data Type Option | status not stated, demoed | [2:21](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=141s) |
| Code Cup Rule for Auto Format Properties | status not stated | [2:46](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=166s) |
| Summary Fact Box Control | status not stated, demoed | [3:39](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=219s) |
| Report Tooltips | status not stated, demoed | [5:33](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=333s) |
| Truncate Method on Tables | status not stated | [6:11](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=371s) |
| Lock Timeout Duration Method | status not stated | [6:46](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=406s) |
| Record Reference Field Access Methods | status not stated | [7:01](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=421s) |
| Create Sequential GUID Method | status not stated | [7:22](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=442s) |
| Update Audit Fields Property on Data Transfer Objects | status not stated | [7:37](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=457s) |
| Text Constant Methods | status not stated, demoed | [7:58](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=478s) |
| Record ID Formatting Enhancements | status not stated, demoed | [8:20](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=500s) |
| AL Namespace Column in Metadata Tables | status not stated, demoed | [9:28](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=568s) |
| External Business Event Deprecation | status not stated | [9:55](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=595s) |
| User Control Obsolescence | status not stated | [10:13](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=613s) |
| AI Test Type | status not stated | [10:26](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=626s) |
| Required Test Isolation Property | status not stated | [10:26](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=626s) |
| Cancellation Token Propagation in VS Code | status not stated, demoed | [10:59](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=659s) |

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

- table "Flight Data" at [8:33](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=513s)
- table "Flight Lock Entry" at [8:33](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=513s)
- page "install code unit" at [10:59](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=659s)

Not found in BC28-30: table "Flight Data", table "Flight Lock Entry", page "install code unit".

## Quotes

- [0:41](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=41s) "we deprecated the always option and extended it with two new as read only as read write"
- [2:05](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=125s) "We have a new property on fields called mask type. The mask type has two options for now. The none and the concealed."
- [2:21](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=141s) "On the extended data types, we added a new option called document. Document is intended for you to to tell the client that this"
- [6:11](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=371s) "If you work with a lot of data here, you have now a new option to use the truncate method on tables."
- [8:48](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=528s) "But now if you use format two or format 9, you will get the fully qualified name of a table that is namespaced."
- [9:28](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=568s) "As part of the namespace work, we also introduce the AL namespace colum in the metadata tables."
- [10:13](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=613s) "Here for tests, we added a new test type AI test. This is to indicate that this test is all about validating AI behaviors."
- [11:26](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=686s) "We've now taken the cancellation token here and propagated it all the way to the server. So when I click cancel the whole operation"

## Disclaimers in the video

- [6:26](https://www.youtube.com/watch?v=qlFEdXPjX6A&t=386s) other: The truncate method has some limitations. Among others, you cannot use it on media tables. I recommend everyone who thinks about using it to go check out the documentation

Presenters (as heard): unnamed presenter.
