---
id: release/al-15.1
type: release
title: AL Language extension 15.1
summary: "AL Language extension 15.1 for Business Central 2025 release wave 1 (BC26): no upload of it left in the marketplace gallery; 3 changelog entries, 1 GitHub issue linked."
tier: official
language: en
system: development
tags:
  - pass secrettext to control-addins
  - new method to add secrettext values to json objects - `writewithsecretsto`
  - github issues
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-09T15:15:21.588Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 8f9e1e5415ad3f6d6048f80cd4182be7f8164ab453663299364fd8f85b60178b
evidence:
  - kind: marketplace
    url: https://marketplace.visualstudio.com/items/ms-dynamics-smb.al/changelog
    title: AL Language extension changelog, version 15.1
    date: null
    commit: null
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
source_id: al-language-extension
extension: ms-dynamics-smb.al
version: "15.1"
wave: 2025 release wave 1
major: "26"
preview_at: null
released_at: null
published_at: null
prerelease: true
entry_count: 3
issues:
  - 7993
changes: []
---

# AL Language extension 15.1

> AL Language extension 15.1 for Business Central 2025 release wave 1 (BC26): no upload of it left in the marketplace gallery; 3 changelog entries, 1 GitHub issue linked.

[Changelog on the Visual Studio Marketplace](https://marketplace.visualstudio.com/items/ms-dynamics-smb.al/changelog) · Business Central 2025 release wave 1 · BC26

## Pass SecretText to control-addins

It is now possible to pass a value of type `SecretText` to control add-in procedures. This permits the integration of credentials with JavaScript-based authentication solutions.

## New method to add SecretText values to JSON objects - `WriteWithSecretsTo`

A new method was added to the `JsonObject` type, which allows developers to add SecretText values. To use it, the AL developer first creates a JSON object with placeholder values for their secret values. Then they provide paths to the values in the JPath format as well as the values themselves. Finally, the method produces a new `SecretText` value with the credentials replaced.

```
procedure CreateSecretBody(ApiKey: SecretText, SecretSalt: SecretText) : SecretText
var
    JsonBody: JsonObject;
    Secrets: Dictionary of [Text, SecretText];
    Result: SecretText;
begin
    // Create a debuggable body
    JsonBody.Add('type', 'Some type');
    JsonBody.Add('api_key', 'placeholder');
    JsonBody.Add('salt', 'placeholder');

    // Prepare the replacements
    Secrets.Add('$.api_key', ApiKey);
    Secrets.Add('$.salt', SecretSalt);

    // Produce the secret body
    JsonBody.WriteWithSecretsTo(Secrets, Result);
    exit(Result);
end
```

## GitHub Issues

- [#7993](https://github.com/microsoft/AL/issues/7993) Using HttpClient.UseServerCertificateValidation requires to use return value, but only in method usage.

Source: Visual Studio Marketplace, ms-dynamics-smb.al changelog, Microsoft's text unchanged. Dates from the gallery's upload records.
