---
id: video/eUkx_VCcyoU
type: video
title: "What's New: AL Language (2025 release wave 1)"
summary: "AL language changes in Business Central 2025 release wave 1: moving fields and tables between apps, resources in apps with size limits, a user control host page type, report enhancements, new string, text and JSON methods, YAML read and write, and test handling of HTTP calls."
tier: official
language: en
tags:
  - al language
  - resources
  - pages
  - reports
  - strings
  - json
  - yaml
  - testing
  - http client
  - call stack
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T22:58:25.360Z"
  flags: []
generated:
  at: "2026-10-09T00:29:02.995Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: a7b7e758dc8fa6aed5ecb111bb5bc7d11932d2088de546d0271dd371e845e98b
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=26s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 26
    quote: in this release we have opened up for the use of the move to and move from properties on tables and Fields
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=179s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 179
    quote: the new limits for a single resource is 16 mbes the maximum size of all the resources in the entire app is 250 megabytes
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=224s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 224
    quote: we have added the ability to override the card page ID this can be especially helpful for the scenarios where there is no card
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=285s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 285
    quote: there are a few limitations that we are still working on but go ahead and try it out to see if it fits your
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=488s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 488
    quote: we added the call stack function that allows you to get the current callstack without throwing an exception
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=499s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 499
    quote: improved readability by introducing the keyword continue this is actually a bc ideas that has now been implemented
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=684s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 684
    quote: the read from and write to yaml functionality has been backported to runtime version 143 so if you haven't started already then even the
  - kind: video
    url: https://www.youtube.com/watch?v=eUkx_VCcyoU&t=824s
    title: "What's New: AL Language (2025 release wave 1)"
    date: "2025-04-01T15:00:55.000Z"
    commit: null
    t: 824
    quote: we do not recommend you using this in production but for test purposes with connecting to local Services self- signed certificates and so on
links:
  learn: []
  objects: []
  features:
    - feature/573313
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: eUkx_VCcyoU
channel: yt-microsoft
source_name: Microsoft Dynamics 365 Business Central (YouTube)
url: https://www.youtube.com/watch?v=eUkx_VCcyoU
published_at: "2025-04-01T15:00:55.000Z"
duration_s: 886
captions: full
audience:
  - developer
  - functional consultant
  - partner
chapters:
  - t: 0
    title: Move of Fields and Tables Between Applications
  - t: 46
    title: Resources in Apps - Enhancements and Limits
  - t: 224
    title: Page Extensions and User Control Host Page Type
  - t: 285
    title: Report Enhancements - Tooltips, Excel Layouts, and Triggers
  - t: 401
    title: Report Preview and View from Stream
  - t: 467
    title: String Handling - Negative Numbers, Call Stack, Continue Keyword, and Multi-line Strings
  - t: 559
    title: Text and JSON Object Improvements
  - t: 704
    title: Role Explorer Inheritance and Teaching Tips
  - t: 801
    title: Testing Enhancements and HTTP Client Handling
features:
  - name: Move To and Move From Properties
    status: unclear
    t: 5
    verified: false
    status_source: video
  - name: Resources in Apps
    status: unclear
    t: 46
    verified: false
    status_source: video
  - name: List Resources Function
    status: unclear
    t: 97
    verified: false
    status_source: video
  - name: Get Resource as Text and Get Resource as Json
    status: unclear
    t: 118
    verified: false
    status_source: video
  - name: Override Card Page ID
    status: unclear
    t: 224
    verified: false
    status_source: video
  - name: User Control Host Page Type
    status: unclear
    t: 244
    verified: false
    status_source: video
  - name: Report Tooltips
    status: ga
    t: 301
    verified: false
    status_source: roadmap
    roadmap_ids:
      - "573313"
  - name: Excel Layout Multiple Data Sheets
    status: unclear
    t: 321
    verified: false
    status_source: video
  - name: Obsolete Report Layouts
    status: unclear
    t: 381
    verified: false
    status_source: video
  - name: Report Pre-rendering and Post Report Triggers
    status: unclear
    t: 401
    verified: false
    status_source: video
  - name: Access Target Format in Reports
    status: unclear
    t: 416
    verified: false
    status_source: video
  - name: View from Stream
    status: unclear
    t: 436
    verified: false
    status_source: video
  - name: Negative Numbers in Increment String
    status: unclear
    t: 467
    verified: false
    status_source: video
  - name: Call Stack Function
    status: unclear
    t: 488
    verified: false
    status_source: video
  - name: Continue Keyword
    status: unclear
    t: 499
    verified: false
    status_source: video
  - name: Multi-line Strings
    status: unclear
    t: 529
    verified: false
    status_source: video
  - name: To Text on Simple Types
    status: unclear
    t: 559
    verified: false
    status_source: video
  - name: JSON Object Get Text Method
    status: unclear
    t: 581
    verified: false
    status_source: video
  - name: JSON Object Type-specific Get Methods
    status: unclear
    t: 641
    verified: false
    status_source: video
  - name: Read and Write YAML
    status: unclear
    t: 669
    verified: false
    status_source: video
  - name: About Title and About Text Inheritance
    status: unclear
    t: 704
    verified: false
    status_source: video
  - name: HTTP Client Handler for Testing
    status: unclear
    t: 801
    verified: false
    status_source: video
  - name: Server Certificate Validation Override
    status: unclear
    t: 824
    verified: false
    status_source: video
objects_mentioned:
  - other app.json
  - other JsonToken
  - other JsonValue
  - other HTP client
quotes:
  - t: 26
    text: in this release we have opened up for the use of the move to and move from properties on tables and Fields
    check: exact
  - t: 179
    text: the new limits for a single resource is 16 mbes the maximum size of all the resources in the entire app is 250 megabytes
    check: exact
  - t: 224
    text: we have added the ability to override the card page ID this can be especially helpful for the scenarios where there is no card
    check: snapped
  - t: 285
    text: there are a few limitations that we are still working on but go ahead and try it out to see if it fits your
    check: exact
  - t: 488
    text: we added the call stack function that allows you to get the current callstack without throwing an exception
    check: exact
  - t: 499
    text: improved readability by introducing the keyword continue this is actually a bc ideas that has now been implemented
    check: fuzzy
  - t: 684
    text: the read from and write to yaml functionality has been backported to runtime version 143 so if you haven't started already then even the
    check: exact
  - t: 824
    text: we do not recommend you using this in production but for test purposes with connecting to local Services self- signed certificates and so on
    check: exact
---

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

> AL language changes in Business Central 2025 release wave 1: moving fields and tables between apps, resources in apps with size limits, a user control host page type, report enhancements, new string, text and JSON methods, YAML read and write, and test handling of HTTP calls.

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

## Overview

This 15-minute video from the Business Central channel, published 2025-04-01, walks through the AL language updates in 2025 release wave 1. It covers moving fields and tables between apps with move to and move from properties, resources in apps, page and report changes, and language additions such as the continue keyword and multi-line strings.

It also covers JSON and text improvements, YAML read and write, role explorer inheritance of about title and about text, and testing features. The testing features include an HTTP client handler and a server certificate validation override, both for tests and not for production.

## Key points

- Move to and move from properties can now be used on tables and fields to move them between applications.
- Resources in apps are open to everyone, with a resource root folder set in app.json. Limits: 16 MB per resource, 250 MB for all resources, 250 characters per resource name, 256 resources per app.
- Get resource as text needs the encoding specified for correct output; the default is MS DOS. A list resources function supports simple pattern matching.
- The user control host page type holds one user control and nothing else, for example a PowerBI report or a browser. Only one user control is allowed, it cannot have actions, and some limitations are still being worked on.
- Reports gain tooltips, a property for multiple Excel data sheets that layouts can override, obsolete report layouts, pre-rendering and post report triggers, and access to the target format. View from stream previews a report without downloading it.
- New language features: the continue keyword, multi-line strings prefixed with @, a call stack function that does not throw an exception, negative numbers in increment string, and to text on simple types.
- JSON objects get direct text and type-specific get methods. The text method does not check whether the property exists and can throw, but a default value can be given. YAML read and write is backported to runtime version 143.

## Chapters

- [0:00](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=0s) Move of Fields and Tables Between Applications
- [0:46](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=46s) Resources in Apps - Enhancements and Limits
- [3:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=224s) Page Extensions and User Control Host Page Type
- [4:45](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=285s) Report Enhancements - Tooltips, Excel Layouts, and Triggers
- [6:41](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=401s) Report Preview and View from Stream
- [7:47](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=467s) String Handling - Negative Numbers, Call Stack, Continue Keyword, and Multi-line Strings
- [9:19](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=559s) Text and JSON Object Improvements
- [11:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=704s) Role Explorer Inheritance and Teaching Tips
- [13:21](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=801s) Testing Enhancements and HTTP Client Handling

## Features

| Feature | Status | At |
|---|---|---|
| Move To and Move From Properties | status not stated | [0:05](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=5s) |
| Resources in Apps | status not stated, demoed | [0:46](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=46s) |
| List Resources Function | status not stated, demoed | [1:37](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=97s) |
| Get Resource as Text and Get Resource as Json | status not stated, demoed | [1:58](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=118s) |
| Override Card Page ID | status not stated | [3:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=224s) |
| User Control Host Page Type | status not stated, demoed | [4:04](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=244s) |
| Report Tooltips | generally available (roadmap [Actions on reports and pages can now inherit tooltips](../features/573313.md)) | [5:01](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=301s) |
| Excel Layout Multiple Data Sheets | status not stated, demoed | [5:21](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=321s) |
| Obsolete Report Layouts | status not stated, demoed | [6:21](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=381s) |
| Report Pre-rendering and Post Report Triggers | status not stated | [6:41](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=401s) |
| Access Target Format in Reports | status not stated | [6:56](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=416s) |
| View from Stream | status not stated | [7:16](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=436s) |
| Negative Numbers in Increment String | status not stated | [7:47](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=467s) |
| Call Stack Function | status not stated | [8:08](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=488s) |
| Continue Keyword | status not stated, demoed | [8:19](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=499s) |
| Multi-line Strings | status not stated, demoed | [8:49](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=529s) |
| To Text on Simple Types | status not stated, demoed | [9:19](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=559s) |
| JSON Object Get Text Method | status not stated, demoed | [9:41](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=581s) |
| JSON Object Type-specific Get Methods | status not stated, demoed | [10:41](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=641s) |
| Read and Write YAML | status not stated | [11:09](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=669s) |
| About Title and About Text Inheritance | status not stated, demoed | [11:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=704s) |
| HTTP Client Handler for Testing | status not stated | [13:21](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=801s) |
| Server Certificate Validation Override | status not stated, demoed | [13:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=824s) |

A status with a roadmap link comes from the Microsoft 365 roadmap feature this part of the video covers (matched by Haiku; links Opus dropped are not used); other statuses need a status word in the video itself.

## 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 "app.json" at [0:46](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=46s)
- other "JsonToken" at [10:01](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=601s)
- other "JsonValue" at [10:01](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=601s)
- other "HTP client" at [14:04](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=844s)

## Quotes

- [0:26](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=26s) "in this release we have opened up for the use of the move to and move from properties on tables and Fields"
- [2:59](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=179s) "the new limits for a single resource is 16 mbes the maximum size of all the resources in the entire app is 250 megabytes"
- [3:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=224s) "we have added the ability to override the card page ID this can be especially helpful for the scenarios where there is no card"
- [4:45](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=285s) "there are a few limitations that we are still working on but go ahead and try it out to see if it fits your"
- [8:08](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=488s) "we added the call stack function that allows you to get the current callstack without throwing an exception"
- [8:19](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=499s) "improved readability by introducing the keyword continue this is actually a bc ideas that has now been implemented"
- [11:24](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=684s) "the read from and write to yaml functionality has been backported to runtime version 143 so if you haven't started already then even the"
- [13:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=824s) "we do not recommend you using this in production but for test purposes with connecting to local Services self- signed certificates and so on"

## Disclaimers in the video

- [4:45](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=285s) preview: there are a few limitations that we are still working on but go ahead and try it out to see if it fits your needs
- [13:44](https://www.youtube.com/watch?v=eUkx_VCcyoU&t=824s) other: we do not recommend you using this in production but for test purposes

Presenters (as heard): Stephen Belo.
