New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Convert Simple Type Values to Text Using New ToText Method

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 17th of the new functionality in the Development section is convert simple type values to text using new ToText method.

To easily convert the value of simple types to text, you can now use the ToText method on the type—for example, on a Label type.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

Microsoft have added the ToText method to simple types (BigInteger, Boolean, Byte, Date, DateTime, Decimal, Duration, Guid, Integer, Label, Time, Version) for easy conversion to text.

For advanced formatting options, you should continue to use FORMAT.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Use New IncStr Parameter to Change Integers by More Than 1 in String Variables

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 16th of the new functionality in the Development section is use new IncStr parameter to change integers by more than 1 in string variables.

For some time you’ve been able to increase a positive number or decrease a negative number inside a string variable by 1 using the IncStr method on Text types. This is useful when handling iterations, for example, involving number series. If you needed to make a change of more than 1, however, you had to write extensive custom logic. To help in these scenarios, the IncStr method now supports a new optional increments parameter to change more than 1.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

A new overload of the IncStr method is added to support an arbitrary increase or decrease of a number in a string variable. This allows for incrementing number series or other similar series by more than one position in one go.

When decreasing a positive number, use a try function to catch cases where the string can’t be decreased further. Format-wise, when decreasing, leading zeros will be added as applicable.

The example shows incrementing the integer 99 in the AText string variable to 109 in a single call, by using the new IncStr method overload with an increment parameter of 10.

Increment integers in string variables by more than 1 using the new IncStr overload

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Self-Service App Key Vault Onboarding for Appsource Apps

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 15th of the new functionality in the Development section is self-service App Key Vault onboarding for AppSource apps.

AppSource apps for Business Central can read secrets from Azure Key Vault owned by the publishing partner. However, in order for this feature to be available to a partner’s AppSource app, they have had to go through a manual process and reach out to us, which could lead to waiting times—and Azure Key Vault availability required a new version of the app after registration. To streamline the process, Microsoft have now made onboarding to Azure Key Vault part of the AppSource submission itself, which also implies that the app can immediately use its Azure Key Vault.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

Partners who want to register a key vault for their app no longer need to send an email to us and wait until Microsoft register their Entra Tenant Id with their app.

Instead they must:

  • Grant read permission to Microsoft’s Dynamics 365 Business Central ISV Key Vault Reader app.
  • Create a special secret in their respective key vault named AllowedBusinessCentralAppIds. This secret should contain the appIds of every app that will have access to the given key vault. For multiple apps, separate by a comma ‘,’.

Follow this path to reduce the registration waiting time and make registration faster and easier.

Note that AppSource apps that already have registered their Entra Tenant Id should also introduce the special secret before submitting higher versions of their apps. The absence of this reserved AllowedBusinessCentralAppIds secret will likely result in a submission failure in the future.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Use New Properties on a Report Layout

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 14th of the new functionality in the Development section is use new properties on a report layout.

The new properties added to report layouts significantly enhance the flexibility and functionality of your reporting. The ObsoleteState property allows developers to mark layouts as deprecated, ensuring a smoother transition and better management of future updates. Meanwhile, the ExcelLayoutMultipleDataSheets property enables more complex and customized Excel reports without compromising existing layouts. These enhancements streamline your reporting processes, reduce the risk of errors, and ultimately save time and resources for your business.

Enabled for: Users, automatically
Public Preview: –
General Availability: Apr 2025

Feature Details

The following new properties are available for report layouts:

  • ObsoleteState
  • ExcelLayoutMultipleDataSheets

With the ObsoleteState property, a developer can signal that a layout is deprecated and will be removed in a later release. The property is shown on the Report Layouts page.

With the ExcelLayoutMultipleDataSheets property, a developer can override the global property defined on the report object to the layout context. For reports where the global property ExcelLayoutMultipleDataSheets wasn’t set (and therefore interpreted as False), a developer can add Excel layouts that use the ExcelLayoutMultipleDataSheets feature without adding the risk of breaking existing Excel layouts that users added.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Work with Multiline Strings in AL

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 13th of the new functionality in the Development section is work with multiline strings in AL.

When developing AL, very long strings are sometimes used. Previously these had to be written in one line, making it hard to easily read content. In this release, Microsoft have added support for writing out strings spanning multiple lines, allowing developers to format the string content in a more human readable form. This especially helps when working with more structured string content, like JSON content.

Enabled for: Users, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

You can now write a string in AL that spans multiple lines by prefixing it with @. This allows you to write the string in a more human readable form—for example, when the content is a structured format like JSON content.

When using this option, remember that any added white space (such as trying to indent lines) will become part of the string, and is therefore not recommended.

Below is an example of using this capability when assigning a JSON template structure to a text variable. Notice the use of @ at the beginning of the string to indicate a multiline string.

Example of using the new multiline string feature in AL

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Validate Certificates on External Web Service Endpoints Called from AL HttpClient

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 12th of the new functionality in the Development section is validate certificates on external web service endpoints called from AL HttpClient.

This new feature enhances the security of HTTP calls in your AL applications by validating all server certificates used for outgoing web service calls. With certificate validation enabled by default, you can ensure a higher level of trust and security in your communications. If needed, you have the flexibility to selectively disable certificate validation for specific calls, and a new telemetry event helps you debug any failures. By providing robust security measures and debugging tools, this feature adds value by protecting your business from potential security threats and ensuring smooth, secure operations.

Enabled for: Users, automatically
Public Preview: –
General Availability: Apr 2025

Feature Details

To enhance security of HTTP calls from AL, the AL runtime now validates all server certificates used when calling a web service endpoint from the HttpClient datatype. Certificate validation is enabled by default. A server certificate is installed on the endpoint side—it’s not the certificate you attach to a request in AL.

If an app or per-tenant extension needs to selectively disable certificate validation, a new property has been added to the HttpClient datatype that allows the AL code to disable server certificate validation for the outgoing web service call.

If the publisher of an app or per-tenant extension needs to debug failing HTTP calls due to server certificates that fail to be validated, a new telemetry event has been added and will be emitted in case of certificate validation failures.

The ability to disable certificate validation is controlled by a feature management key to allow app and per-tenant extension publishers to modify their code. In version 27, certificate validation will be enabled by default without the ability to switch it off.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Search, Navigate and Use App Symbols as Context for GitHub Copilot

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 11th of the new functionality in the Development section is search, navigate and use app symbols as context for GitHub Copilot.

You can now search AL objects from downloaded symbol packages from within Visual Studio Code. This makes it much easier to find related objects, whether for inspection, troubleshooting, or as inspiration. It can even be used as context when using GitHub Copilot to get better suggestions based on existing code.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

You can now search objects from downloaded symbol packages via the ‘Open Symbol by Name’ functionality (Ctrl+T).

This makes it much easier to find objects, and open the source, if the symbols include source code.

It also empowers GitHub Copilot in Visual Studio Code. You can open the source for selected, related symbols to use as context for Copilot Studio when you write your own code, to get better suggestions.

The performance of searching workspace symbols has, furthermore, been improved to support the larger amount of available symbols.

Searching types (Ctrl+T) in Visual Studio Code now includes objects in symbol files

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Select Extensions to Open in Visual Studio Code from the Web Client

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 10th of the new functionality in the Development section is select extensions to open in Visual Studio Code from the web client.

Several releases ago, Microsoft introduced the powerful ability to open Visual Studio Code from within the web client, that is, a specific environment, to investigate or debug code. Microsoft now add the ability to proactively select the extensions to include in the project when opening Visual Studio Code. If the user has permissions to access source, that code will be available in the opened Visual Studio Code. Otherwise, it will be symbols that can be used for investigating functionality in AL Explorer or to code against.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

On the Extension Management page there’s now a Develop in VS Code action group with a number of new possibilities for developers. One of these is the Download in VS Code action that allows the user to select one or more extensions to open in Visual Studio Code.
In the opened Visual Studio Code project, there’s always access to symbols for those extensions, whereas access to source depends on IP protection settings for the involved extensions and user permissions.

Select extension to open in Visual Studio Code in the Extension Management page

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Read and Write YAML in AL Using JsonObject

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 9th of the new functionality in the Development section is read and write YAML in AL using JsonObject.

When using data-driven testing, especially for testing Copilot features, there can be a need to read YAML test data. Rather than building an entirely new YAML object model, the existing JSON support is extended so that YAML can be read into the JsonObject, manipulated as JSON with the JsonObject API, and possibly written out again as YAML.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

The existing JsonObject is extended so that YAML can be read into the JsonObject, manipulated as JSON with the JsonObject API, and possibly written out again as YAML.

Two new methods are added to read YAML into a JsonObject instance:

[Ok :=] ReadFromYaml(String)
[Ok :=] ReadFromYaml(InStream)

Two new methods are added to write a JsonObject instance as YAML:

[Ok :=] WriteToYaml(String)
[Ok :=] WriteToYaml(OutStream)

note Note

This was also backported to version 14.3 of the compiler, in 2024 release wave 2.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index

New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1: Use the New Continue Keyword for AL Loops

Microsoft Dynamics 365 Business CentralThis post is part of the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 series in which I am taking a look at the new functionality introduced in Microsoft Dynamics 365 Business Central 2025 Wave 1.

The 8th of the new functionality in the Development section is use the new continue keyword for AL loops.

To make AL loops easier to write and read, you can now use the continue keyword in AL loops to continue to the next iteration, just like you are used to in other major programming languages.

Enabled for: Admins, makers, marketers, or analysts, automatically
Public Preview: Apr 2025
General Availability: Apr 2025

Feature Details

Like in many other programming languages, AL now supports using continue in loops to trigger the next loop iteration. Before, only the break keyword was supported, but that canceled the whole loop, whereas the continue keyword skips the current loop iteration and proceeds with the next.
To address that members, such as methods or fields in AL, might already be named continue, the continue keyword in loops will not be supported if the context has a member called continue. This is to avoid a breaking change. The compiler will warn about this, but still allow declaring object types with the name continue.

Click to show/hide the New Functionality In Microsoft Dynamics 365 Business Central 2025 Wave 1 Series Index