community postAL Developmentcommunity - not Microsoftreviewed - checked by Opus

AL Language extension for Microsoft Dynamics 365 Business Central version 15.0.1433841 (New version)

The AL Language extension version 15.0 introduces implicit conversion between Record and RecordRef, HTTP mocking for testing, improved JSON data access methods, multiline strings, a continue statement for loops, and numerous other developer features. This update helps developers write more flexible, testable, and maintainable AL code with enhanced language constructs and APIs.

post Gerardo Rentería Blog

Gerardo Renteria · 2025-04-14 · 2,034 words · about 9 min

"Every HTTP request that occurs during the execution of that test will be intercepted and routed to the handler."

Key points

  • Implicit conversion between Record and RecordRef types allows direct assignment without explicit method calls
  • HttpClientHandler enables mocking HTTP responses in test codeunits with configurable request policies for OnPrem instances
  • New JSON access methods (GetBoolean, GetInteger, GetText, etc.) simplify data retrieval without always using JsonToken
  • Language enhancements include multiline strings with @ prefix, continue statement for loops, and UserControlHost page type
  • Multiple developer experience improvements in VS Code including searchable downloaded symbols, new project templates, and file preview functionality

Quotes

  • “Every HTTP request that occurs during the execution of that test will be intercepted and routed to the handler.” (Explains the core mechanism of HTTP mocking for controlled testing of external service integrations)
  • “AL now has support for multiline string literals. A multiline string must be prefixed with @.” (Introduces a new language syntax that simplifies handling of multi-line text content in code)
  • “From runtime version 15, it is possible to use the continue keyword in loops to continue to the next iteration.” (Adds a standard loop control feature that developers expect from modern programming languages)

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.

  • codeunit “RecordAndRecordRefConversion”
  • codeunit “MyCodeunit”
  • codeunit “MyCodeunitTests”

Not found in BC28-30: codeunit “RecordAndRecordRefConversion”, codeunit “MyCodeunit”, codeunit “MyCodeunitTests”.

Context

  • Features: Implicit Record and RecordRef conversion, HTTP mocking in tests, JSON direct value access methods, Multiline string literals, Continue statement for loops, UserControlHost page type, File preview from stream, Downloaded symbol search in Copilot Chat
  • Versions: 15.0, 15.0.1433841

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