---
id: post/gerardorenteria-blog/14079
type: post
title: AL Language extension for Microsoft Dynamics 365 Business Central – versions
summary: AL Language extension changelog documenting features added across versions 15.0 through 18.0, including implicit type conversions, HTTP mocking in tests, multiline strings, JSON accessors, AppSourceCop rules, namespace documentation, and improved IDE capabilities in Visual Studio Code.
tier: community
language: en
tags:
  - al language
  - vs code extension
  - compiler features
  - json handling
  - testing
  - code analysis
  - documentation
  - type system
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T01:56:12.978Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-post: 1
  input_hash: 0bb7613e06d16b19c18d183583b80e917ae017be7e2efa6ae4f8d7290ef908c7
evidence:
  - kind: blog
    url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/
    title: AL Language extension for Microsoft Dynamics 365 Business Central – versions
    date: "2026-03-08"
    commit: null
    t: null
    quote: null
  - kind: blog
    url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/
    title: AL Language extension for Microsoft Dynamics 365 Business Central – versions
    date: "2026-03-08"
    commit: null
    t: null
    quote: We have introduced support for implicit conversion between Record and RecordRef instances, allowing direct assignment between these types.
  - kind: blog
    url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/
    title: AL Language extension for Microsoft Dynamics 365 Business Central – versions
    date: "2026-03-08"
    commit: null
    t: null
    quote: This feature allows for more controlled and easier testing of modules that interact with external services.
  - kind: blog
    url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/
    title: AL Language extension for Microsoft Dynamics 365 Business Central – versions
    date: "2026-03-08"
    commit: null
    t: null
    quote: AL now has support for multiline string literals. A multiline string must be prefixed with @.
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
post_id: "14079"
source_id: gerardorenteria-blog
source_name: Gerardo Renteria
url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/
published_at: "2026-03-08T15:41:25.000Z"
author: Gerardo Renteria
full_text: false
words: 4868
quotes:
  - text: We have introduced support for implicit conversion between Record and RecordRef instances, allowing direct assignment between these types.
    why_it_matters: Simplifies code by eliminating boilerplate conversion calls, improving developer productivity and code readability
  - text: This feature allows for more controlled and easier testing of modules that interact with external services.
    why_it_matters: HTTP mocking enables isolated unit testing without dependency on external APIs, critical for reliable CI/CD pipelines
  - text: AL now has support for multiline string literals. A multiline string must be prefixed with @.
    why_it_matters: Multiline strings enable developers to include formatted text and JSON payloads directly in code without escape sequences
code_objects_mentioned:
  - other RecordRef
  - other Record
  - other JsonObject
  - other JsonArray
  - other HttpClientHandler
  - other TestHttpRequestMessage
  - other TestHttpResponseMessage
systems:
  - development
  - platform
  - integration
versions_mentioned:
  - "18.0"
  - "17.0"
  - "16.4"
  - "16.3"
  - "16.2"
  - "16.1"
  - "16.0"
  - "15.3"
preview:
  embeddable: true
  frame_url: https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/embed/
  image: https://gerardorenteria.blog/wp-content/uploads/2026/03/image-5.png
  image_alt: null
  image_w: 1245
  image_h: 202
  site_name: Gerardo Rentería Blog
  favicon: https://gerardorenteria.blog/wp-content/uploads/2020/11/cropped-wolficon.jpg?w=32
  probed_at: "2026-10-07T11:51:01.816Z"
---

# AL Language extension for Microsoft Dynamics 365 Business Central – versions

[Read the post](https://gerardorenteria.blog/2026/03/08/al-language-extension-for-microsoft-dynamics-365-business-central-versions/) · Gerardo Renteria (Gerardo Renteria) · 2026-03-08 · 4868 words · tier community · reviewed (checked by Opus)

> AL Language extension changelog documenting features added across versions 15.0 through 18.0, including implicit type conversions, HTTP mocking in tests, multiline strings, JSON accessors, AppSourceCop rules, namespace documentation, and improved IDE capabilities in Visual Studio Code.

## Key points

- Support for implicit conversion between Record and RecordRef types simplifies type handling
- HTTP client mocking via HttpClientHandler allows testing external service integrations without actual requests
- Namespace support with documentation and ALDoc improvements enables better code organization and documentation
- New JSON methods (GetBoolean, GetText, etc.) provide direct access to JSON properties without JsonToken intermediaries
- Extended AppSourceCop and PerTenantExtensionCop rules validate field classification, breaking changes, and namespace uniqueness

## Quotes

- "We have introduced support for implicit conversion between Record and RecordRef instances, allowing direct assignment between these types." (Simplifies code by eliminating boilerplate conversion calls, improving developer productivity and code readability)
- "This feature allows for more controlled and easier testing of modules that interact with external services." (HTTP mocking enables isolated unit testing without dependency on external APIs, critical for reliable CI/CD pipelines)
- "AL now has support for multiline string literals. A multiline string must be prefixed with @." (Multiline strings enable developers to include formatted text and JSON payloads directly in code without escape sequences)

## AL objects mentioned

As named in the post. A name that matches one object page by exact type and name links to it; the others stay as named.

- other "RecordRef"
- other "Record"
- other "JsonObject"
- other "JsonArray"
- other "HttpClientHandler"
- other "TestHttpRequestMessage"
- other "TestHttpResponseMessage"

## Context

- Features: Implicit Record/RecordRef conversion, HTTP request mocking in tests, Multiline string literals, Continue statement in loops, JSON property accessors, Namespace documentation with ALDoc, Summary system part control, Go To Symbol in Workspace
- Versions: 18.0, 17.0, 16.4, 16.3, 16.2, 16.1, 16.0, 15.3

Source: Gerardo Renteria, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.
