---
id: video/TY82NR2hGEg
type: video
title: "What's New: Business Central Developer Tools (2023 release wave 2)"
summary: "Business Central developer tools in 2023 release wave 2: AL namespaces with using directives and code actions, the AL Doc reference documentation tool, the AL language extension on Linux (in preview), secure text, page inspector explore options, debugger and profiler changes, and IntelliSense updates."
tier: official
language: en
tags:
  - al language extension
  - pre-release versions
  - linux support
  - wsl
  - namespaces
  - devops syntax highlighting
  - code actions
  - using directives
  - fully qualified names
  - al doc
  - reference documentation
  - xml comments
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-07T23:12:44.798Z"
  flags: []
generated:
  at: "2026-10-07T23:12:44.883Z"
  pipeline: 0.2.0
  prompts:
    extract-video: 1
    summarize-video: 2
  input_hash: 48866b9500344012e3006719df514c38a3510f5e6dbe75353dcd49fc57c63659
evidence:
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s
    title: "AL language extension for Linux: preview"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 116
    quote: One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=271s
    title: "DevOps syntax highlighting: preview"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 271
    quote: Another thing we added as a preview is syntax highlighting for DevOps.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3937s
    title: "AppSource per user pricing with direct sales: preview"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3937
    quote: That is as I'm talking now in public preview, but on October 9th, that will actually go into GA.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3947s
    title: "AppSource CSP support: preview"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3947
    quote: in the in the middle of a private preview with select partners on this, but that is
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=87s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 87
    quote: When you install the AL language extension you now have the option to install or switch to a pre-release version.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 116
    quote: One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=295s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 295
    quote: I'm going to talk to you about one of the major new features in the AL language, namespaces.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=467s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 467
    quote: You declare a namespace as the first line in a in a source file or the first non-comment line.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=785s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 785
    quote: you can only have one object of a kind with the same name in the module. Which means that kind name and
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=848s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 848
    quote: You should wait with name spacing your own code until all your dependencies are name spaced.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=888s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 888
    quote: Choose a unique name for your name spaces. And the good practice is to choose something that start with your company name, product, area,
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1030s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1030
    quote: Reference documentation provides details about programming elements associated with technologies and languages, including class libraries, object model
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1180s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1180
    quote: For a couple of a couple of years ago, we added XML documentation comment to the AL language
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1273s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1273
    quote: This tool has two purposes. It's one tool called AL Doc, but it allows us to create reference documentation for all our first-party apps
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1326s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1326
    quote: this new tool AL Doc. It resides in the V6 next to the ALC and it has two primary commands
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1763s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1763
    quote: it's great to see that we finally have namespace support in AL. And AL Doc will really help with getting up-to-date documentation on apps.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1815s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1815
    quote: you need to open VS Code, uh you need to create the project, figure out the details about the environment, the connection uh string,
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1902s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1902
    quote: But we have a new option now called explore page in Visual Studio Code
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=1913s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 1913
    quote: It will create a dummy project. It will create an app.json in that dummy project with references to the extensions that are required for
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2025s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2025
    quote: We also added a new feature in the previous release which was the AL Explorer
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2353s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2353
    quote: the options in the page inspector will only appear if you have the troubleshooting tools permission
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2397s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2397
    quote: Initially, you need to be patient. You know, downloading symbols can take time, so just wait until everything finishes up
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2444s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2444
    quote: you can even now also have a shared uh symbols path where you can reuse uh symbols, so you don't have to spend time
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2678s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2678
    quote: The default for now has been 100 ms. We're now giving you the option to go a little lower than that, 50 ms, or
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2735s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2735
    quote: You can declare namespaces to encapsulate your objects, add using statements to get easy access to objects in that namespace
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=2774s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 2774
    quote: This is a new variable and parameter data type type you can use to protect the data it holds from being debugged
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3087s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3087
    quote: Now, we made it possible for you to add fields to a field group that doesn't exist, thereby enabling the scenario where we want
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3171s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3171
    quote: We also have the rich text extended data type that enables you to add rich content capabilities to your fields.
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3185s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3185
    quote: It gives you the capability that you would expect from a rich text editor, like formatting, adding images, links
  - kind: video
    url: https://www.youtube.com/watch?v=TY82NR2hGEg&t=3199s
    title: "What's New: Business Central Developer Tools (2023 release wave 2)"
    date: "2023-12-28T10:01:41.000Z"
    commit: null
    t: 3199
    quote: it needs to be alone in its own group, so you cannot use it in a repeater or in in an existing group with
links:
  learn: []
  objects:
    - object/codeunit/457
    - object/table/18
    - object/page/21
    - object/page/22
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
video_id: TY82NR2hGEg
channel: yt-microsoft
source_name: Microsoft Dynamics 365 Business Central (YouTube)
url: https://www.youtube.com/watch?v=TY82NR2hGEg
published_at: "2023-12-28T10:01:41.000Z"
duration_s: 4112
captions: full
audience:
  - developer
  - partner
  - functional consultant
chapters:
  - t: 0
    title: Introduction and agenda overview
  - t: 87
    title: AL language extension pre-release versions and Linux support
  - t: 201
    title: "Live demo: AL development on Windows Subsystem for Linux"
  - t: 271
    title: DevOps syntax highlighting and transition to namespaces
  - t: 295
    title: "Namespaces in AL: concept, implementation, and code actions"
  - t: 627
    title: Namespace syntax, restrictions, and adoption strategy
  - t: 877
    title: Namespace best practices and AL Explorer discovery
  - t: 1002
    title: AL Doc reference documentation tool and XML comments
  - t: 1313
    title: AL Doc build command, DocFX integration, and live demonstration
  - t: 1675
    title: Documentation generation and troubleshooting improvements overview
  - t: 1877
    title: Page Inspector, field investigation, and AL Explorer
  - t: 2115
    title: Debugging, profiling, and symbol management
  - t: 2456
    title: Future ideas and error details with call stacks
  - t: 2678
    title: "AL language features: namespaces, variants, and secure text"
  - t: 2908
    title: Secure text data type protection and request security
  - t: 3050
    title: Field customization and extended data types
  - t: 3229
    title: Queries, Excel layouts, and AL inlay hints
  - t: 3460
    title: IntelliSense improvements and find all references
  - t: 3629
    title: AL Go configuration, GitHub Copilot Chat, and AI assistance
  - t: 3896
    title: AppSource transactability and developer resources
features:
  - name: AL language extension pre-release versions
    status: unclear
    t: 87
    verified: false
    status_source: video
  - name: AL language extension for Linux
    status: preview
    t: 116
    verified: true
    status_source: video
  - name: DevOps syntax highlighting
    status: preview
    t: 271
    verified: true
    status_source: video
  - name: Namespaces in AL language
    status: unclear
    t: 295
    verified: false
    status_source: video
  - name: Using directives for namespace imports
    status: unclear
    t: 507
    verified: false
    status_source: video
  - name: Fully qualified object names
    status: unclear
    t: 567
    verified: false
    status_source: video
  - name: Namespace code actions
    status: unclear
    t: 507
    verified: false
    status_source: video
  - name: AL Explorer group by namespace
    status: unclear
    t: 944
    verified: false
    status_source: video
  - name: AL Doc reference documentation tool
    status: unclear
    t: 1016
    verified: false
    status_source: video
  - name: XML documentation comments in AL
    status: unclear
    t: 1180
    verified: false
    status_source: video
  - name: AL Doc init command
    status: unclear
    t: 1326
    verified: false
    status_source: video
  - name: AL Doc build command
    status: unclear
    t: 1361
    verified: false
    status_source: video
  - name: DocFX integration for HTML generation
    status: unclear
    t: 1390
    verified: false
    status_source: video
  - name: GitHub Pages integration for documentation hosting
    status: unclear
    t: 1472
    verified: false
    status_source: video
  - name: Explore page in Visual Studio Code
    status: unclear
    t: 1902
    verified: false
    status_source: video
  - name: AL Explorer
    status: unclear
    t: 2025
    verified: false
    status_source: video
  - name: Explore field in Visual Studio Code
    status: unclear
    t: 2258
    verified: false
    status_source: video
  - name: Attach debugger from help and support
    status: unclear
    t: 2297
    verified: false
    status_source: video
  - name: Troubleshooting tools permission
    status: unclear
    t: 2353
    verified: false
    status_source: video
  - name: Shared symbols path
    status: unclear
    t: 2434
    verified: false
    status_source: video
  - name: "Future: CodeSpaces Integration"
    status: unclear
    t: 2473
    verified: false
    status_source: video
  - name: "Future: GitHub Source Integration"
    status: unclear
    t: 2486
    verified: false
    status_source: video
  - name: "Future: Bulk Symbol Download"
    status: unclear
    t: 2510
    verified: false
    status_source: video
  - name: Error Details with Call Stack
    status: unclear
    t: 2534
    verified: false
    status_source: video
  - name: Debug Console IntelliSense
    status: unclear
    t: 2545
    verified: false
    status_source: video
  - name: AL Profiler Sampling Interval Options
    status: unclear
    t: 2664
    verified: false
    status_source: video
  - name: Implicit Variant to Dictionary and List Conversion
    status: unclear
    t: 2745
    verified: false
    status_source: video
  - name: Secure Text Data Type
    status: unclear
    t: 2762
    verified: false
    status_source: video
  - name: Secure Request URI and Headers
    status: unclear
    t: 2908
    verified: false
    status_source: video
  - name: New Field Groups on Base Objects
    status: unclear
    t: 3061
    verified: false
    status_source: video
  - name: Allow in customization property
    status: unclear
    t: 3101
    verified: false
    status_source: video
  - name: Analysis mode control on list pages
    status: unclear
    t: 3143
    verified: false
    status_source: video
  - name: Barcode extended data type
    status: unclear
    t: 3156
    verified: false
    status_source: video
  - name: Rich text extended data type
    status: unclear
    t: 3156
    verified: false
    status_source: video
  - name: Queries in run objects for actions
    status: unclear
    t: 3244
    verified: false
    status_source: video
  - name: Query about title and about text
    status: unclear
    t: 3256
    verified: false
    status_source: video
  - name: Excel layout multiple data sheets
    status: unclear
    t: 3267
    verified: false
    status_source: video
  - name: AL inlay hints for parameters and return types
    status: unclear
    t: 3315
    verified: false
    status_source: video
  - name: Label hover value display
    status: unclear
    t: 3467
    verified: false
    status_source: video
  - name: Improved IntelliSense for overloaded methods
    status: unclear
    t: 3497
    verified: false
    status_source: video
  - name: IntelliSense for key parameters
    status: unclear
    t: 3547
    verified: false
    status_source: video
  - name: Find all references for triggers and methods
    status: unclear
    t: 3588
    verified: false
    status_source: video
  - name: AL Go default project folder setting
    status: unclear
    t: 3641
    verified: false
    status_source: video
  - name: AL compilation output folder
    status: unclear
    t: 3670
    verified: false
    status_source: video
  - name: GitHub Copilot Chat for AL
    status: unclear
    t: 3717
    verified: false
    status_source: video
  - name: AppSource per user pricing with direct sales
    status: preview
    t: 3925
    verified: true
    status_source: video
  - name: AppSource CSP support
    status: preview
    t: 3947
    verified: true
    status_source: video
  - name: AppSource entitlements mapping
    status: unclear
    t: 3965
    verified: false
    status_source: video
  - name: Entitlements documentation for license mapping
    status: unclear
    t: 3989
    verified: false
    status_source: video
  - name: Enhanced developer resources and documentation
    status: unclear
    t: 4015
    verified: false
    status_source: video
  - name: Performance tool kit
    status: unclear
    t: 4026
    verified: false
    status_source: video
  - name: BC Icons overview
    status: unclear
    t: 4037
    verified: false
    status_source: video
objects_mentioned:
  - codeunit environment information
  - table customer
  - codeunit Bing Maps GeoCode
  - page customer card
  - page customer list
  - table GL entry
  - other variant
  - other secure text
  - other set current keys
  - codeunit code unit
quotes:
  - t: 87
    text: When you install the AL language extension you now have the option to install or switch to a pre-release version.
    check: exact
  - t: 116
    text: One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux.
    check: exact
  - t: 295
    text: I'm going to talk to you about one of the major new features in the AL language, namespaces.
    check: exact
  - t: 467
    text: You declare a namespace as the first line in a in a source file or the first non-comment line.
    check: exact
  - t: 785
    text: you can only have one object of a kind with the same name in the module. Which means that kind name and
    check: exact
  - t: 848
    text: You should wait with name spacing your own code until all your dependencies are name spaced.
    check: exact
  - t: 888
    text: Choose a unique name for your name spaces. And the good practice is to choose something that start with your company name, product, area,
    check: exact
  - t: 1030
    text: Reference documentation provides details about programming elements associated with technologies and languages, including class libraries, object model
    check: exact
  - t: 1180
    text: For a couple of a couple of years ago, we added XML documentation comment to the AL language
    check: exact
  - t: 1273
    text: This tool has two purposes. It's one tool called AL Doc, but it allows us to create reference documentation for all our first-party apps
    check: exact
  - t: 1326
    text: this new tool AL Doc. It resides in the V6 next to the ALC and it has two primary commands
    check: exact
  - t: 1763
    text: it's great to see that we finally have namespace support in AL. And AL Doc will really help with getting up-to-date documentation on apps.
    check: exact
  - t: 1815
    text: you need to open VS Code, uh you need to create the project, figure out the details about the environment, the connection uh string,
    check: exact
  - t: 1902
    text: But we have a new option now called explore page in Visual Studio Code
    check: exact
  - t: 1913
    text: It will create a dummy project. It will create an app.json in that dummy project with references to the extensions that are required for
    check: exact
  - t: 2025
    text: We also added a new feature in the previous release which was the AL Explorer
    check: exact
  - t: 2353
    text: the options in the page inspector will only appear if you have the troubleshooting tools permission
    check: exact
  - t: 2397
    text: Initially, you need to be patient. You know, downloading symbols can take time, so just wait until everything finishes up
    check: exact
  - t: 2444
    text: you can even now also have a shared uh symbols path where you can reuse uh symbols, so you don't have to spend time
    check: exact
  - t: 2678
    text: The default for now has been 100 ms. We're now giving you the option to go a little lower than that, 50 ms, or
    check: exact
  - t: 2735
    text: You can declare namespaces to encapsulate your objects, add using statements to get easy access to objects in that namespace
    check: exact
  - t: 2774
    text: This is a new variable and parameter data type type you can use to protect the data it holds from being debugged
    check: exact
  - t: 3087
    text: Now, we made it possible for you to add fields to a field group that doesn't exist, thereby enabling the scenario where we want
    check: snapped
  - t: 3171
    text: We also have the rich text extended data type that enables you to add rich content capabilities to your fields.
    check: exact
  - t: 3185
    text: It gives you the capability that you would expect from a rich text editor, like formatting, adding images, links
    check: exact
  - t: 3199
    text: it needs to be alone in its own group, so you cannot use it in a repeater or in in an existing group with
    check: exact
  - t: 3332
    text: in this release, we're adding the ability to get inlay hints for AL parameter names and for return types.
    check: exact
  - t: 3588
    text: we have improved that to now also work on trigger and system methods and trigger events. That's a portal on page and table fields,
    check: exact
  - t: 3731
    text: let's have a look at the more recent GitHub Copilot Chat, which is an interactive chat experience inside of uh Visual Studio Code.
    check: exact
  - t: 3925
    text: We have the first wave of functionality with a per user pricing model that support direct sales channel in Microsoft AppSource.
    check: exact
  - t: 3937
    text: That is as I'm talking now in public preview, but on October 9th, that will actually go into GA.
    check: exact
  - t: 3947
    text: in the in the middle of a private preview with select partners
    check: fuzzy
  - t: 4015
    text: collaboration with partners that has led to updating much more detail with examples
    check: exact
  - t: 4026
    text: have a big investment in the performance tool kit that you can go and read off
    check: fuzzy
  - t: 4055
    text: there's one on performance tool kit that's super important for making you know, testing and making sure that your app performs well
    check: exact
---

# What's New: Business Central Developer Tools (2023 release wave 2)

> Business Central developer tools in 2023 release wave 2: AL namespaces with using directives and code actions, the AL Doc reference documentation tool, the AL language extension on Linux (in preview), secure text, page inspector explore options, debugger and profiler changes, and IntelliSense updates.

[Watch on YouTube](https://www.youtube.com/watch?v=TY82NR2hGEg) · Microsoft Dynamics 365 Business Central (YouTube) · 2023-12-28 · 1:08:32 · tier official · reviewed (checked by Opus)

## Overview

The session covers developer tooling in 2023 release wave 2. It starts with AL extension pre-release versions, Linux and WSL support (in preview, demoed) and syntax highlighting for AL in Azure DevOps (in preview). Namespaces get the most time: declaration, using directives, fully qualified names, code actions, restrictions, adoption advice and naming conventions.

It then covers AL Doc, which turns XML documentation comments and app structure into YAML that DocFX renders as HTML, with a GitHub Pages demo. Later sections cover the page inspector explore options for Visual Studio Code, debugger and profiler changes, the secure text data type, field and query additions, inlay hints, IntelliSense and find all references, GitHub Copilot Chat for AL, and AppSource transactability.

## Key points

- Namespaces are declared as the first statement in a source file and can be nested. Use using directives or fully qualified names to reference namespaced objects, and code actions can add either.
- Wait to namespace your own code until all your dependencies are namespaced, otherwise later namespacing of those dependencies breaks your references. Renaming a namespace is a breaking change.
- Namespace naming advice: start with company name, product, area, feature. Keep the root company-specific and stable, and avoid names like Microsoft, utility or common. Prefixes (fixes) on object names are still needed for now.
- AL Doc has an init command (once per documentation repository) and a build command that produces YAML from .app files. DocFX turns the YAML into HTML, which can be hosted on GitHub Pages.
- The explore page and explore field options in Visual Studio Code need the troubleshooting tools permission. The first symbol download can take time, and a shared symbols path lets you reuse symbols.
- Secure text hides values from normal and snapshot debugging, but it must be constructed in non-debuggable methods. It does not protect data shared outside Business Central.
- The AL profiler sampling interval can be 50, 100 (default) or 150 ms. The debug console supports IntelliSense but does not evaluate methods.

## Chapters

- [0:00](https://www.youtube.com/watch?v=TY82NR2hGEg&t=0s) Introduction and agenda overview
- [1:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=87s) AL language extension pre-release versions and Linux support
- [3:21](https://www.youtube.com/watch?v=TY82NR2hGEg&t=201s) Live demo: AL development on Windows Subsystem for Linux
- [4:31](https://www.youtube.com/watch?v=TY82NR2hGEg&t=271s) DevOps syntax highlighting and transition to namespaces
- [4:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=295s) Namespaces in AL: concept, implementation, and code actions
- [10:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=627s) Namespace syntax, restrictions, and adoption strategy
- [14:37](https://www.youtube.com/watch?v=TY82NR2hGEg&t=877s) Namespace best practices and AL Explorer discovery
- [16:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1002s) AL Doc reference documentation tool and XML comments
- [21:53](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1313s) AL Doc build command, DocFX integration, and live demonstration
- [27:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1675s) Documentation generation and troubleshooting improvements overview
- [31:17](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1877s) Page Inspector, field investigation, and AL Explorer
- [35:15](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2115s) Debugging, profiling, and symbol management
- [40:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2456s) Future ideas and error details with call stacks
- [44:38](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2678s) AL language features: namespaces, variants, and secure text
- [48:28](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2908s) Secure text data type protection and request security
- [50:50](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3050s) Field customization and extended data types
- [53:49](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3229s) Queries, Excel layouts, and AL inlay hints
- [57:40](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3460s) IntelliSense improvements and find all references
- [1:00:29](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3629s) AL Go configuration, GitHub Copilot Chat, and AI assistance
- [1:04:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3896s) AppSource transactability and developer resources

## Features

| Feature | Status | At | Evidence |
|---|---|---|---|
| AL language extension pre-release versions | status not stated | [1:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=87s) |  |
| AL language extension for Linux | preview, demoed | [1:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s) | "One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux." ([1:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s)) |
| DevOps syntax highlighting | preview | [4:31](https://www.youtube.com/watch?v=TY82NR2hGEg&t=271s) | "Another thing we added as a preview is syntax highlighting for DevOps." ([4:31](https://www.youtube.com/watch?v=TY82NR2hGEg&t=271s)) |
| Namespaces in AL language | status not stated, demoed | [4:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=295s) |  |
| Using directives for namespace imports | status not stated, demoed | [8:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=507s) |  |
| Fully qualified object names | status not stated, demoed | [9:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=567s) |  |
| Namespace code actions | status not stated, demoed | [8:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=507s) |  |
| AL Explorer group by namespace | status not stated, demoed | [15:44](https://www.youtube.com/watch?v=TY82NR2hGEg&t=944s) |  |
| AL Doc reference documentation tool | status not stated, demoed | [16:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1016s) |  |
| XML documentation comments in AL | status not stated, demoed | [19:40](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1180s) |  |
| AL Doc init command | status not stated, demoed | [22:06](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1326s) |  |
| AL Doc build command | status not stated, demoed | [22:41](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1361s) |  |
| DocFX integration for HTML generation | status not stated, demoed | [23:10](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1390s) |  |
| GitHub Pages integration for documentation hosting | status not stated, demoed | [24:32](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1472s) |  |
| Explore page in Visual Studio Code | status not stated, demoed | [31:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1902s) |  |
| AL Explorer | status not stated, demoed | [33:45](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2025s) |  |
| Explore field in Visual Studio Code | status not stated, demoed | [37:38](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2258s) |  |
| Attach debugger from help and support | status not stated, demoed | [38:17](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2297s) |  |
| Troubleshooting tools permission | status not stated | [39:13](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2353s) |  |
| Shared symbols path | status not stated | [40:34](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2434s) |  |
| Future: CodeSpaces Integration | status not stated | [41:13](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2473s) |  |
| Future: GitHub Source Integration | status not stated | [41:26](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2486s) |  |
| Future: Bulk Symbol Download | status not stated | [41:50](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2510s) |  |
| Error Details with Call Stack | status not stated, demoed | [42:14](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2534s) |  |
| Debug Console IntelliSense | status not stated, demoed | [42:25](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2545s) |  |
| AL Profiler Sampling Interval Options | status not stated, demoed | [44:24](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2664s) |  |
| Implicit Variant to Dictionary and List Conversion | status not stated | [45:45](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2745s) |  |
| Secure Text Data Type | status not stated, demoed | [46:02](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2762s) |  |
| Secure Request URI and Headers | status not stated, demoed | [48:28](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2908s) |  |
| New Field Groups on Base Objects | status not stated | [51:01](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3061s) |  |
| Allow in customization property | status not stated | [51:41](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3101s) |  |
| Analysis mode control on list pages | status not stated | [52:23](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3143s) |  |
| Barcode extended data type | status not stated | [52:36](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3156s) |  |
| Rich text extended data type | status not stated | [52:36](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3156s) |  |
| Queries in run objects for actions | status not stated | [54:04](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3244s) |  |
| Query about title and about text | status not stated | [54:16](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3256s) |  |
| Excel layout multiple data sheets | status not stated | [54:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3267s) |  |
| AL inlay hints for parameters and return types | status not stated, demoed | [55:15](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3315s) |  |
| Label hover value display | status not stated, demoed | [57:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3467s) |  |
| Improved IntelliSense for overloaded methods | status not stated, demoed | [58:17](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3497s) |  |
| IntelliSense for key parameters | status not stated, demoed | [59:07](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3547s) |  |
| Find all references for triggers and methods | status not stated, demoed | [59:48](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3588s) |  |
| AL Go default project folder setting | status not stated | [1:00:41](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3641s) |  |
| AL compilation output folder | status not stated | [1:01:10](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3670s) |  |
| GitHub Copilot Chat for AL | status not stated, demoed | [1:01:57](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3717s) |  |
| AppSource per user pricing with direct sales | preview | [1:05:25](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3925s) | "That is as I'm talking now in public preview, but on October 9th, that will actually go into GA." ([1:05:37](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3937s)) |
| AppSource CSP support | preview | [1:05:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3947s) | "in the in the middle of a private preview with select partners on this, but that is" ([1:05:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3947s)) |
| AppSource entitlements mapping | status not stated | [1:06:05](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3965s) |  |
| Entitlements documentation for license mapping | status not stated | [1:06:29](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3989s) |  |
| Enhanced developer resources and documentation | status not stated | [1:06:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4015s) |  |
| Performance tool kit | status not stated | [1:07:06](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4026s) |  |
| BC Icons overview | status not stated | [1:07:17](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4037s) |  |

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

- [codeunit 457 "Environment Information"](../objects/codeunit/457.md) at [7:24](https://www.youtube.com/watch?v=TY82NR2hGEg&t=444s)
- [table 18 "Customer"](../objects/table/18.md) at [6:04](https://www.youtube.com/watch?v=TY82NR2hGEg&t=364s)
- codeunit "Bing Maps GeoCode" at [26:01](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1561s)
- [page 21 "Customer Card"](../objects/page/21.md) at [32:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1976s)
- [page 22 "Customer List"](../objects/page/22.md) at [34:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2082s)
- table "GL entry" at [51:15](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3075s)
- other "variant" at [45:45](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2745s)
- other "secure text" at [46:02](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2762s)
- other "set current keys" at [59:07](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3547s)
- codeunit "code unit" at [1:03:51](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3831s)

Not found in BC28-30: codeunit "Bing Maps GeoCode", table "GL entry", codeunit "code unit".

## Quotes

- [1:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=87s) "When you install the AL language extension you now have the option to install or switch to a pre-release version."
- [1:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s) "One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux."
- [4:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=295s) "I'm going to talk to you about one of the major new features in the AL language, namespaces."
- [7:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=467s) "You declare a namespace as the first line in a in a source file or the first non-comment line."
- [13:05](https://www.youtube.com/watch?v=TY82NR2hGEg&t=785s) "you can only have one object of a kind with the same name in the module. Which means that kind name and"
- [14:08](https://www.youtube.com/watch?v=TY82NR2hGEg&t=848s) "You should wait with name spacing your own code until all your dependencies are name spaced."
- [14:48](https://www.youtube.com/watch?v=TY82NR2hGEg&t=888s) "Choose a unique name for your name spaces. And the good practice is to choose something that start with your company name, product, area,"
- [17:10](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1030s) "Reference documentation provides details about programming elements associated with technologies and languages, including class libraries, object model"
- [19:40](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1180s) "For a couple of a couple of years ago, we added XML documentation comment to the AL language"
- [21:13](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1273s) "This tool has two purposes. It's one tool called AL Doc, but it allows us to create reference documentation for all our first-party apps"
- [22:06](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1326s) "this new tool AL Doc. It resides in the V6 next to the ALC and it has two primary commands"
- [29:23](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1763s) "it's great to see that we finally have namespace support in AL. And AL Doc will really help with getting up-to-date documentation on apps."
- [30:15](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1815s) "you need to open VS Code, uh you need to create the project, figure out the details about the environment, the connection uh string,"
- [31:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1902s) "But we have a new option now called explore page in Visual Studio Code"
- [31:53](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1913s) "It will create a dummy project. It will create an app.json in that dummy project with references to the extensions that are required for"
- [33:45](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2025s) "We also added a new feature in the previous release which was the AL Explorer"
- [39:13](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2353s) "the options in the page inspector will only appear if you have the troubleshooting tools permission"
- [39:57](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2397s) "Initially, you need to be patient. You know, downloading symbols can take time, so just wait until everything finishes up"
- [40:44](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2444s) "you can even now also have a shared uh symbols path where you can reuse uh symbols, so you don't have to spend time"
- [44:38](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2678s) "The default for now has been 100 ms. We're now giving you the option to go a little lower than that, 50 ms, or"
- [45:35](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2735s) "You can declare namespaces to encapsulate your objects, add using statements to get easy access to objects in that namespace"
- [46:14](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2774s) "This is a new variable and parameter data type type you can use to protect the data it holds from being debugged"
- [51:27](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3087s) "Now, we made it possible for you to add fields to a field group that doesn't exist, thereby enabling the scenario where we want"
- [52:51](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3171s) "We also have the rich text extended data type that enables you to add rich content capabilities to your fields."
- [53:05](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3185s) "It gives you the capability that you would expect from a rich text editor, like formatting, adding images, links"
- [53:19](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3199s) "it needs to be alone in its own group, so you cannot use it in a repeater or in in an existing group with"
- [55:32](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3332s) "in this release, we're adding the ability to get inlay hints for AL parameter names and for return types."
- [59:48](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3588s) "we have improved that to now also work on trigger and system methods and trigger events. That's a portal on page and table fields,"
- [1:02:11](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3731s) "let's have a look at the more recent GitHub Copilot Chat, which is an interactive chat experience inside of uh Visual Studio Code."
- [1:05:25](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3925s) "We have the first wave of functionality with a per user pricing model that support direct sales channel in Microsoft AppSource."
- [1:05:37](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3937s) "That is as I'm talking now in public preview, but on October 9th, that will actually go into GA."
- [1:05:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3947s) "in the in the middle of a private preview with select partners"
- [1:06:55](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4015s) "collaboration with partners that has led to updating much more detail with examples"
- [1:07:06](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4026s) "have a big investment in the performance tool kit that you can go and read off"
- [1:07:35](https://www.youtube.com/watch?v=TY82NR2hGEg&t=4055s) "there's one on performance tool kit that's super important for making you know, testing and making sure that your app performs well"

## Disclaimers in the video

- [1:56](https://www.youtube.com/watch?v=TY82NR2hGEg&t=116s) preview: One thing we introduced with the preview functionality is the ability to install the AL language extension on Linux.
- [3:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=222s) preview: I need to change the the sandbox here to my preview sandbox, we're still in preview.
- [4:31](https://www.youtube.com/watch?v=TY82NR2hGEg&t=271s) preview: Another thing we added as a preview is syntax highlighting for DevOps.
- [13:31](https://www.youtube.com/watch?v=TY82NR2hGEg&t=811s) subject-to-change: We still have a fixes. Um we would like to lift some of the restrictions and for instance, one of those we are looking at is new name spaced object can have names without a fixes.
- [13:42](https://www.youtube.com/watch?v=TY82NR2hGEg&t=822s) coming-later: new name spaced object can have names without a fixes. Which will take a little bit longer is member of on objects
- [14:04](https://www.youtube.com/watch?v=TY82NR2hGEg&t=844s) coming-later: But it may take a while
- [21:23](https://www.youtube.com/watch?v=TY82NR2hGEg&t=1283s) preview: We're starting slowly, but we plan to do it for all our apps
- [33:45](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2025s) subject-to-change: AL Explorer was added in the previous release
- [41:13](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2473s) other: there's no commits right now, but, you know, it would be great if instead of opening up locally on VS Code and sort of that content switching that you can actually open it up in the cloud in CodeSpaces
- [42:02](https://www.youtube.com/watch?v=TY82NR2hGEg&t=2522s) preview: it's available in the preview. When you watch this, it's available in uh you know, the launch
- [53:49](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3229s) coming-later: In the coming releases, we'll continue to work on the rich text editor and its capabilities
- [1:03:04](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3784s) preview: remember to uh review the generated content, especially for AL, because the training material is based on open-source uh code, and for AL, that's fairly limited.
- [1:05:37](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3937s) preview: That is as I'm talking now in public preview, but on October 9th, that will actually go into GA.
- [1:05:47](https://www.youtube.com/watch?v=TY82NR2hGEg&t=3947s) preview: CSP support is actually built but we're in the in the middle of a private preview with select partners on this

Presenters (as heard): Peter Borring, Stephen Balslev, Espen Kristoffersen, Freddy Christensen, Asbjørn, Peter, Stefan, Esben, Kurt.
