---
id: release/al-12.2
type: release
title: AL Language extension 12.2
summary: "AL Language extension 12.2 for Business Central 2023 release wave 2 (BC23): no upload of it left in the marketplace gallery; 7 changelog entries, 1 GitHub issue linked."
tier: official
language: en
system: development
tags:
  - promptdialog page
  - sparkle image
  - appsourcecop
  - pertenantextensioncop
  - uicop
  - github issues
  - miscellaneous
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-09T15:15:21.572Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: c859f63ac52e3112e0cef1a821cb3a8525a91f4651923409e75a56f19c2208c7
evidence:
  - kind: marketplace
    url: https://marketplace.visualstudio.com/items/ms-dynamics-smb.al/changelog
    title: AL Language extension changelog, version 12.2
    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: "12.2"
wave: 2023 release wave 2
major: "23"
preview_at: null
released_at: null
published_at: null
prerelease: true
entry_count: 7
issues:
  - 7467
changes: []
---

# AL Language extension 12.2

> AL Language extension 12.2 for Business Central 2023 release wave 2 (BC23): no upload of it left in the marketplace gallery; 7 changelog entries, 1 GitHub issue linked.

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

## PromptDialog page

Introducing the new page type **PromptDialog**, which allows developers to seamlessly integrate Copilot capabilities into their custom scenarios. Use this page to create generative AI experiences that look and feel unmistakably Copilot, including signature visuals, and built-in safety controls for customers. You can build these pages directly in AL using a special page syntax, which includes new area and action controls, as described in the code sample below. To get started, simply type `tpage` and pick the **Page of type Prompt Dialog** snippet.

```
page 50100 MyCopilotPage
{
    PageType = PromptDialog;
    PromptMode = Prompt; // Specify the starting prompt mode. Default value is Prompt.
    IsPreview = true;
    SourceTable = TempInputData;

    // Mandatory properties
    SourceTableTemporary = true;
    Extensible = false;

    layout
    {
        area(Prompt) { /*The input to Copilot. Accepts any control.*/ }

        area(Content) { /*The output of Copilot. Accepts any contol.*/ }

        area(PromptOptions) { /*The input options. Only accepts option fields.*/ }
    }

    actions
    {
        area(SystemActions)
        {
            // Pre-defined system actions (Generate, Regenerate, Attach, Ok, Cancel). Can only use system actions on this page.
            systemaction(Generate)
            {
                trigger OnAction()
                begin
                    // The code triggering the Copilot interaction.
                end;
            }

            systemaction(Ok)
            {
                Caption = 'Accept the suggestion'; // The Caption and Tooltip of system actions can be modified.
            }
        }
    }

    trigger OnInit()
    begin
        // The prompt mode can be changed at runtime.
        // CurrPage.PromptMode := PromptMode::Generate;
    end;
}
```

## Sparkle Image

Added a new option to the `Image` property, **Sparkle**, which you can use to highlight the presence of your AI-powered features. For example, place it on actions that open a prompt dialog page.

## AppSourceCop

- Added rule [AS0008](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0009) for reserved namespaces check.

## PerTenantExtensionCop

- Added rule [PTE021](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/pertenantextensioncop-pte0021) for reserved namespace check.

## UICop

- [AW0016](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/uicop-aw0016) - The page type **PromptDialog** accepts a rich text editor control as an immediate child of the `Content` area. For other page types the rich text editor control still needs to be inside a top level group.

## Github issues

- [#7467](https://github.com/microsoft/AL/issues/7467) Missing compiler error on declaring TableNo in an upgrade codeunit. - New error introduced.

## Miscellaneous

- Fixed an issue on resolving the correct line on GoToDefinition (F12) when debugging DAL files.
If you are running on CU1 on premise and are experiencing issues in line resolution while debugging a dependency app, make sure you run the Repair-NavApp command on the dependency app.
- The properties `ContextSensitiveHelpPage` and `HelpLink` are available for query objects.
- Fixed "go to definition" for field group changes in table extensions.
- Added various snippets related to fieldgroups.
- Fixed hovering over field group fields in table extensions.
- Fixed IntelliSense on fieldgroup names to suggest the available fieldgroups.

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