Resumen: esta página ofrece un resumen del changelog de AL Language. Para ver el contenido completo y exacto, consulta siempre la página oficial.
Summary: this page provides a summary of the AL Language changelog. For the full and exact content, always refer to the official page.
[ESP] En el siguiente enlace puedes ver leer los cambios relacionados a la versión vigente:
[ENG] En el siguiente link, you can read the changes related to the current version:
Version menu:
- Version 30.0
- Version 18.1
- Version 18.0
- Version 17.0
- Version 16.4
- Version 16.3
- Version 16.2
- Version 16.1
- Version 16.0
- Version 15.3
- Version 15.2
- Version 15.1
- Version 15.0
- Version 14.3
- Version 14.2
- Version 14.1
- Version 14.0
- Version 13.1
- Version 13.0
- Version 12.7
- Version 12.6
- Version 12.5
- Version 12.4
- Version 12.3
- Version 12.2
- Version 12.1
- Version 12.0
- Version 11.6
- Version 11.5
- Version 11.4
- Version 11.3
- Version 11.2
- Version 11.1
- Version 11.0
- Version 10.5
- Version 10.4
- Version 10.3
- Version 10.2
- Version 10.1
- Version 10.0
- Version 9.5
- Version 9.4
- Version 9.2
- Version 9.1
- Version 9.0
- Version 8.4
- Version 8.3
- Version 8.2
- Version 8.1
- Version 8.0
- Version 7.4
- Version 7.3
- Version 7.2
- Version 7.1
- Version 7.0.0
- Version 6.5
- Version 6.4
- Version 6.0.0
- Version 5.0.0
- Version 4.0.0
- Business Central April ‘19 update (2019/04)
- July 2018 Update (2018/07/30)
- June 2018 Update (0.17.23984 – 2018/06/25)
- May 2018 Update (0.17.16611 – 2018/05/25)
- February Update (0.14.17461 – 2018/02/15)
- Anniversary Update (0.13.15836 – 2017/12/20)
- December Update (0.12.15359 – 2017/12/06)
- November Update (0.11.14434 – 2017/11/08)
- October Update (0.10.13928 – 2017/10/12)
- September Update (0.9.12794 – 2017/09/07)
- August Update (0.8.11706 – 2017/08/16)
- July Update (0.7.11459 – 2017/07/12)
- June Update (0.5.10663 – 2017/06/20)
- April Update (0.4.9209 – 2017/04/21)
- March Update (0.2.8249 – 2017/03/28)
- February Update (0.2.7308 – 2017/02/16)
- January Update (0.2.6084 – 2017/01/14)
Version 30.0
Business Central 2027 release wave 1
Official changelog / Changelog oficial: Version 30.0
- Parallel workspace compilation
- Fixed package-cache lock conflicts being reported as invalid-package errors during parallel workspace compilation on Linux and macOS. They are now reported as the existing package-locked warning.
- Markdown page fields
- Added
ExtendedDatatype = Markdownfor page fields bound to aTextvariable,Texttable field, orText-returning procedure, including boundedText. RequiresMultiLine = trueand an only-child field in a root-level group in the Content area. The value remains raw Markdown; direct table-field declarations andBigText,Code,Label,TextConst, string literals, and concatenation sources are not supported. - Modify several fields in one ModifyAll call
ModifyAllnow accepts up to five field and value pairs on bothRecordandRecordRef, so a bulk update of- several fields no longer needs one call per field.
RecordRef.ModifyAllis new and requires runtime version 30.0 for every call, including a single pair.Record.ModifyAllkeeps its existing single-pair form unchanged; only its new multi-pair forms require runtime- version 30.0.
- Inherent permissions validation in multi-root workspaces
- The compiler now reports AL0720 when an
InherentPermissionsattribute in one project references an object from another project in a multi-root workspace. - GitHub issues
- [#8134](https://github.com/microsoft/AL/issues/8134) Fixed code actions blocking other language server messages, which could prevent saving AL files.
- [#8130](https://github.com/microsoft/AL/issues/8130) Fixed Copy & Open not opening the browser during device login when downloading symbols.
Version 18.1
Business Central 2026 release wave 2
Official changelog / Changelog oficial: Version 18.1
- Snapshot debugging AL tests
- Added
run_teststo the Snapshot Debugging MCP proxy so agents can execute selected AL tests in an isolated session attached to the armed snapshot, then collect the test capture throughstop_snapshot_debugging. - Added optional
snapshotVerbosityto Snapshot Debugging MCP initialization.SnapPointremains the default;Fullcaptures every method context and encountered non-IP-protected AL source object for any attached session and should be used only for short, targeted reproductions. - Bug fixes
- Fixed Word layouts created with the Word add-in missing data bindings when the compiler compiles the layout against the current report design.
Version 18.0
Business Central 2026 release wave 2
Official changelog / Changelog oficial: Version 18.0
- Share packaged resources between apps
- Apps can now expose selected packaged resources to other apps.
- Successful builds list every packaged public resource in both the ALC console and the Visual Studio Code output:
- The existing
NavAppoverloads without an app ID continue to operate in the current app and can access both private and public resources: - The new app ID overloads cross the app boundary and can access only resources declared public by the provider:
- Apps can also discover providers that expose a matching public resource and then enumerate each provider:
NavApp.ListResources()returns the current app's combined private and public resources.- Query ReadState supports ReadCommitted
- AL queries can now use
ReadState = ReadCommittedto read only committed data without guaranteeing that rows remain consistent throughout the transaction. - Search symbols installed on the connected environment with
al_symbolsearch - The
al_symbolsearchlanguage model tool can now search the AL objects installed on the connected Business Central environment, not just your local project and downloaded symbols. - Agents in Business Central move to GPT-5.3-chat
- From May through June, Agents in Business Central are upgrading to GPT-5.3-chat as the default model.
- What's changing:
- New default model — GPT-5.3-chat replaces the previous model, bringing improved quality and performance for agents in Business Central.
Version 17.0
Business Central 2026 release wave 1
Official changelog / Changelog oficial: Version 17.0
- Agents in Business Central move to GPT-5.3-chat
- From May through June, Agents in Business Central are upgrading to GPT-5.3-chat as the default model.
- What's changing:
- New default model — GPT-5.3-chat replaces the previous model, bringing improved quality and performance for agents in Business Central.
- Model control for coded agents — New methods when coding agents let you control model selection programmatically from AL.
- Model visibility and selection in agent design experience – Administrators can see which language model their agents use and select their preferred model from the available options in the agent configuration page.
- What to expect during rollout:
- The model update and the new UI for model selection roll out independently.
- Environments in the UK, India, and Australia will receive the update at a later date.
- If you want to switch models for your designed agents after the selection UI becomes available, you can do so from the Agents page in Business Central.
- Bug fixes
- Fixed an issue where the AL compiler would always emit the fully qualified assembly name for DotNet types, even when only the simple name was specified in the dotnet block. The compiler now respects the developer's choice and only includes version, culture, and public key token information in the emitted C# code when explicitly specified in the AL source.
- AL Language changes
- New warning AL0914: Excel layout contains an orphaned sheet after automatic multi-sheet upgrade
- When an existing single-sheet Excel layout is reused with a report that has
ExcelLayoutMultipleDataSheetsset totrue, the compiler now automatically adds the required dataitem sheets.
Version 16.4
Business Central 2025 release wave 2
Official changelog / Changelog oficial: Version 16.4
- Bug fixes
- Fixed an issue where the cancellation dialog was not shown when publishing an extension.
- Fixed an issue where publishing could be triggered twice when the first publish attempt failed.
- AppSourceCop
- [AS0116](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0116), [AS0122](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0122): The analyzer rules for moving fields and tables are now relaxed, so that if the source app is missing or the source field/table does not exist, it is now a warning.
- [AS0041](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0041), [AS0036](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0036), [AS0039](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0039), [AS0034](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0034): Removal or change of the
MovedFrom/MovedToproperties are now correctly reported as a breaking change. - [AS0119](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0119): When the value of the app in the
MovedFromproperty of a field/table does not match the one on the source, the correct diagnostic is now reported, instead of reporting that there is no source field/table that is being moved. - Support for new
ExtendedDataTypevalue:Task - The [ExtendedDataType property](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-extendeddatatype-property) for
BigIntegerfield now also supports theTaskvalue. - Setting this value on the field allows the client to correctly render elements in a list formatted as tasks.
Version 16.3
Business Central 2025 release wave 2
Official changelog / Changelog oficial: Version 16.3
- Miscellaneous
- Added a workaround to an issue caused by VSCode 1.106.3 which caused launch.json files to not be created in new projects.
- Fixed crashes in
aldocfor projects without namespaces or with external business events (methods marked with the ´ExternalBusinessEvent` attribute). - Fixed an issue where the
CaptionClassproperty of a field would not be correctly resolved when a lockedCaptionwas also specified on the field. - GitHub Issues
- [#8140](https://github.com/microsoft/AL/issues/8140) directory.app.props.json and AL1022: A package could not be found in the package cache folders error
- [#8141](https://github.com/microsoft/AL/issues/8141) directory.app.props.json file runtime property not being set in compiled app
Version 16.2
Business Central 2025 release wave 2
Official changelog / Changelog oficial: Version 16.2
- Miscellaneous
- Relaxed compiler error [AL1032](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al1032) to allow duplicate translation files targeting the same language, as long as they are targeting different original apps.
Version 16.1
Business Central 2025 release wave 2
Official changelog / Changelog oficial: Version 16.1
- Reporting
- Fixed an issue where the compiler updated the Microsoft Word layouts with the namespace for the extended custom xml document and not the standard custom xml. This caused document rendering to fail for repeaters.
Version 16.0
Business Central 2025 release wave 2
Official changelog / Changelog oficial: Version 16.0
- Support for new
ExtendedDataTypevalue:Document - The [ExtendedDataType property](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-extendeddatatype-property) for
MediaandMediaSetfields now also supports theDocumentvalue. - On pages, these fields can only be used on ListPart and CardPart page types, allowing the client to correctly render elements in FactBoxes, such as displaying a PDF as a portrait image.
- Introducing MaskedType enum field-level property.
- A new [MaskType enum property](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-masktype-property) is introduced with the values
ConcealedandNone. - When set,
MaskTypeinstructs the web client to display the field with its value hidden by default, allowing users to toggle visibility and view the value in plain text. - The use of the
MaskTypeproperty is restricted by [AW0017](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/uicop-aw0017?wt.mc_id=d365bc_inproduct_alextension), which prohibits setting this property on fields inside repeater controls. - Allow copying nodes in the profile editor and support for hovering
- In the profile editor, individual nodes can be copied and hovered to show the full text of the node.
- Cancel publish and package commands
- Publishing and packaging AL applications can now be canceled from the Visual Studio Code UI.
- New Business Central Themes for Visual Studio Code
- We are excited to introduce two new themes: Business Central Light and Business Central Dark.
- ALDoc: Improvements
- Namespaces can now be documented and when they are, an "Overview" entry is added in the table of contents.
Version 15.3
Business Central 2025 release wave 1
Official changelog / Changelog oficial: Version 15.3
- GitHub Issues
- [#7771](https://github.com/microsoft/AL/issues/7771) Table fields with AllowInCustomizations = Never are not visible when added to a page extension
- [#8011](https://github.com/microsoft/AL/issues/8011) Formatter issue with AL Language Extension on save
- AppSourceCop
- Updated rule [AS0034](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0034) to allow tables to transition from temporary to normal.
- Miscellaneous
- Fixed an issue where scheduling a PTE for the next major would fail with [PTE0004](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/pertenantextensioncop-pte0004) error in certain cases.
Version 15.2
Business Central 2025 release wave 1
Official changelog / Changelog oficial: Version 15.2
- Allow deprecating external business events
- We have added support for deprecating
ExternalBusinessEventtype events. - The process follows the standard obsoletion steps for procedures with one additional requirement:
- Step 1: Mark the event as obsolete pending
- Decorate the procedure with the
[Obsolete('<Reason>','<Tag>')]attribute. - Prefix the
DisplayNameof theExternalBusinessEventattribute with an[OBSOLETE]marker. - Step 2: Remove the obsolete pending event in an upcoming version
- Example code
- Remarks
- It is also possible to obsolete the containing object without deprecating the external business event itself.
- In such scenarios, you must relocate the event within the same app while following the standard obsoletion process for the original containing object.
- Implicit conversion between Record and RecordRef
- We have introduced support for implicit conversion between
RecordandRecordRefinstances, allowing direct assignment between these types. - AppSourceCop
- Updated rule [AS0018](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0106) to allow removing or renaming events in extension objects when the event name conflicts with the name of the events defined in the target object.
Version 15.1
Business Central 2025 release wave 1
Official changelog / Changelog oficial: Version 15.1
- Pass SecretText to control-addins
- It is now possible to pass a value of type
SecretTextto control add-in procedures. - New method to add SecretText values to JSON objects –
WriteWithSecretsTo - A new method was added to the
JsonObjecttype, which allows developers to add SecretText values. - GitHub Issues
- [#7993](https://github.com/microsoft/AL/issues/7993) Using HttpClient.UseServerCertificateValidation requires to use return value, but only in method usage.
Version 15.0
Business Central 2025 release wave 1
Official changelog / Changelog oficial: Version 15.0
- Mocking HTTP calls in AL tests
- We have introduced a new handler type
HttpClientHandlerto allow mocking the response of HTTP requests in test codeunits. - HttpClientHandler
- When an
HttpClientHandleris added to a test method, every HTTP request that occurs during the execution of that test will be intercepted and routed to the handler. - TestHttpRequestPolicy Property
- We have also introduced a new property on test codeunits called
TestHttpRequestPolicy. - BlockOutboundRequests: Any HTTP request issued during the test execution that is not caught and handled by an HTTP client handler will raise an exception.
- AllowOutboundFromHandler: All HTTP requests issued during the test execution are required to be caught by an HTTP client handler. The handler is allowed to explicitly fall through to issue the original request to the external endpoint.
- AllowAllOutboundRequests: All outbound HTTP requests issued during the test execution are allowed.
- Example code
- Searchable downloaded symbols and using them as context in Copilot Chat
- Objects from downloaded symbol packages can now be added as context when using the Github Copilot Chat extension (prerelease version 0.24.2024121201) and Visual Studio Code Insiders (version 1.97 and later).
- UserControlHost PageType
- We have introduced a new PageType
UserControlHost. - This new page can only have a single control of type
usercontrolwithin the layoutContentarea.
Version 14.3
Business Central 2024 release wave 2
Official changelog / Changelog oficial: Version 14.3
- Yaml-support in JsonObject
- Support for YAML is add to the JsonObject.
- Two new methods are added to read YAML into a JsonObject instance:
- And two new methods are added to write a JsonObject instance as YAML:
- AppSourceCop
- It will now be possible to delete table extensions which depend on Microsoft tables which are obsoleted for removal if the app source submission targets releases newer or equal to 2024 release wave 1 (version 24).
Version 14.2
Business Central 2024 release wave 2
Official changelog / Changelog oficial: Version 14.2
- Resources in extensions
- Resource files can now be packaged as part of an extension.
- The folders should be listed relative to the root of your project.
- This will include all files under the folder 'resources'.
- Access to these resources is done through the
NavApp.GetResource("resource name": Text; var instream: Instream; [optional] encoding: TextEncoding)method. - There are also the methods
NavApp.GetResourceAsText("resource name": Text; [optional] encoding: TextEncoding): TextandNavApp.GetResourceAsJson("resource name": Text; [optional] encoding: TextEncoding): JsonObjectthat directly retrieves resources asTextorJsonObjecttypes. - The method
NavApp.ListResources([optional] filter: Text)is also provided to allow for iteration over resources. - Resources can only be accessed within the scope of the app that contains them.
- AppSourceCop
- Addressed issues executing page breaking change validation rules [AS0029](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0029), [AS0035](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0035), and [AS0040](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0040) on pages whose source tables jave been moved tables to another extension, for instance 'No. Series'.
- Miscellaneous
- Fixed an issue where race conditions would occur if a code action that is invoked on project or workspace scope tried to change large number of files.
- Fixed an issue that caused the runtime to fail, when calling methods from extended interfaces on an instance of the derived interface.
Version 14.1
Business Central 2024 release wave 2
Official changelog / Changelog oficial: Version 14.1
- Miscellaneous
- Support for runtime version 14.1
Version 14.0
Business Central 2024 release wave 2
Official changelog / Changelog oficial: Version 14.0
- Pull extension source from Git when opening Visual Studio Code from the web client
- This feature allows users to pull source code from a Git repository or a specific build using the
sourcemetadata in the extension’s manifest. - From the
Extension Managementlist andPage Inspector(Extensionstab) pages, a new “Open Source in VS Code” option is available in the context menu for an extension. - Support for SaveAsJson on the Query object
- We have added support for SaveAsJson on the Query object.
- This functionality is now available alongside the existing SaveAsXml and SaveAsCsv methods.
- Ternary operator
?:in AL - We have added the ternary (conditional) operator to the AL language.
- The following examples show how the code in
GetBooleanText()can be rewritten using the ternary operator to be less verbose and more succint. - Without the ternary operator
- With the ternary operator
- Wildcard search in AL Explorer
- We have improved the search functionality in AL Explorer by supporting
*and?wildcards. *means zero or more characters?means any single character
Version 13.1
Business Central 2024 release wave 1
Official changelog / Changelog oficial: Version 13.1
- GitHub Issues
- [#7714](https://github.com/microsoft/AL/issues/7714) Unexpected warning AS0098 when adding an enumextension to an enum within the same AppSource app
- [#7745](https://github.com/microsoft/AL/issues/7745) Debugger crashes at random points
- AppSourceCop
- Updated rule [AS0032](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0032) to allow removing non-obsolete page fields using as source a table field marked with obsolete state Removed.
- Updated rule [AS0032](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0032) to allow removing non-obsolete page part controls using as source a page part which has been removed.
- Updated rule [AS0106](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0106) to allow removing non-obsolete protected variables, defined in extension objects, whose names are conflicting with the names of variables defined in the target object.
- Updated the rules [AS0011](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0011) and [AS0098](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0098) to allow for skipping affixes if an extension objects extends a base object from the same publisher.
- Updated the rules [AS0011](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0011) and [AS0098](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0098) to allow for skipping affixes if an object is defined in a namespace.
- Updated the rule [AS0013](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0013) to allow for using the ID range of a base table, when a table extension targets a base table from the same publisher.
- Added the rule [AS0127](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0127) to recommend that two-level namespaces should be used
- Miscellaneous
- Fixed an error that was thrown when handling the
textDocument/documentSymbolrequest. - The [AL1156](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al1156) warning diagnostic was added when comments are used in the manifest file of an application. Its purpose is to help the interoperability of AL with various CI/CD integrations which may not support comments in json files, a scenario which leads to failures that are hard to detect and debug. The warning can be suppressed via a ruleset or the
suppressWarningsproperty in the manifest file. - Fixed an issue where the compiler would sometimes fail with internal errors during the validation of an interface implementation.
Version 13.0
Business Central 2024 release wave 1
Official changelog / Changelog oficial: Version 13.0
- Support for multiple extensions to same target and extensions and target in same app
- We have expanded the support for extension objects to help achieve better separation of concerns in large apps.
- Extensions can now exist in the same app as their target.
- Multiple extensions to the same target can exist in the same app.
- For table extensions in the same app as their target, the fields and keys will be moved to the base table to prevent SQL-joins at runtime.
- Since extension objects from a given app are applied on the target following the extension object ID, the following compiler validation was introduced:
- The base object cannot reference members from extension objects.
- Extension objects can reference members from other extension objects in the same app only if the other extension object has a lower object ID.
- Changes to AL Table Proxy Generator tool (altpgen)
- AL Table Proxy Generator tool (altpgen) now requires two additional arguments:
ClientIdandRedirectUri. - Script/Css/Image paths on control add-ins can be relative to the control add-in source file.
- Control add-in resources can also be stored relative to the file containing the control add-in source.
- The search order for resources is now:
- 1.
- 2.
Version 12.7
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.7
No summary points were found for this entry.
Version 12.6
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.6
- Miscellaneous
- Fixed issue where a malformed permission value could lead to a crash.
- Fixed an issue where
AL:Go!would generate a namespace name based on the project name and config even if they result in an invalid namespace name. - Align Excel report layout template with current runtime and emit caption, translation and metadata sheets for use in layouts.
Version 12.5
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.5
- GitHub Issues
- [#7513](https://github.com/microsoft/AL/issues/7513) AL0679 Does not take InherentEntitlements into account
- [#7586](https://github.com/microsoft/AL/issues/7513) False positive from AS0034: Not allowed to change
InherentPermissionsproperty oftableobject - Miscellaneous
- Fixed a bug in snapshot debugging for the scenario when multiple application objects were defined in the same file containing namespace definitions.
- The
AL0679warning will not be reported if the object has inherent entitlements. - Features specified to ALC are stored in the built app.
Version 12.4
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.4
- GitHub Issues
- [#7586](https://github.com/microsoft/AL/issues/7513) False positive from AS0034: Not allowed to change
InherentPermissionsproperty oftableobject - Miscellaneous
- Fixed a bug in snapshot debugging for the scenario when multiple application objects were defined in the same file containing namespace definitions.
- Features specified to ALC are stored in the built app.
Version 12.3
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.3
- GitHub Issues
- [#7513](https://github.com/microsoft/AL/issues/7513) AL0679 Does not take InherentEntitlements into account
- Miscellaneous
- Fixed "Go To Reference" for key fields on table extensions, when the fields are only defined on the base table.
- Disabled Source button on AL Explorer for those objects where it is not possible to navigate to its source definition.
- "Explore field in VS Code" navigates to fields defined in table extensions.
- The
AL0679warning will not be emitted if the object has inherent entitlements. - Updated the default
AL:Go!al file to define a namespace, based on the project name, if the runtime version is greater than 12.0.
Version 12.2
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.2
- PromptDialog page
- Introducing the new page type PromptDialog, which allows developers to seamlessly integrate Copilot capabilities into their custom scenarios.
- Sparkle Image
- Added a new option to the
Imageproperty, Sparkle, which you can use to highlight the presence of your AI-powered features. - 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
Contentarea. 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.
Version 12.1
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.1
- GitHub Issues
- [#7461](https://github.com/microsoft/AL/issues/7461) Creating an additional key to an existing table with "Clustered = true" is not rejected by the compiler.
- AppSourceCop
- Added rule [AS0007](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0007) for namespace breaking changes.
- Added rule [AS0123](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0123) for detecting the addition of a clustered key as a breaking change.
- Bugs fixed
- Use correct configuration for downloading symbols on production environments when triggered from the web client.
- The severity of
AL0792can be adjusted through a ruleset now. - Remove data sheet prefix from Excel data sheets when using the
ExcelLayoutMultipleDataSheetsproperty. - aldoc unpacks templates correctly on linux.
- Miscellaneous
- The
AnalysisModeEnabledproperty is now supported on pages of typeWorksheet. - Change Snippets for Reports and layouts to suggest Excel.
- Added tenant parameter to generated configurations from "Explore in VS Code" and "Attach debugger to current session" links in the web client.
- Fixed default location app files are written to using Alc, to the project.
Version 12.0
Business Central 2023 release wave 2
Official changelog / Changelog oficial: Version 12.0
- Introducing Namespaces: A New Way to Organize Your AL Code
- We are excited to announce that AL for Business Central now supports namespaces.
- Open Visual Studio Code from web client
- This feature simplifies the process of setting up Visual Studio Code environments for investigation and troubleshooting by allowing one-click access from the web client, available in both from the Page Inspection and Help & Support pages.
- Introducing ALDoc: a new command line tool for generating reference documentation for AL extensions
- ALDoc works with DocFx to create a static website that contains detailed information about the objects, methods, properties, and events in one or more .app files.
- Workspace support for Code Fixes
- Addition of workspace support for Code Fixes, which allows to invoke Code Fix actions on a workspace.
- New SecretText type
- The new type
SecretTextis introduced to protect credentials and other sensitive textual values from being revealed through debugging. HttpClientand other related types to make use of the new type.- Added report property ExcelLayoutMultipleDataSheets
- Added a new Boolean report property [ExcelLayoutMultipleDataSheets](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-ExcelLayoutMultipleDataSheets-property?wt.mc_id=d365bc_inproduct_alextension) that controls how Excel data sheets are created when using an Excel layout.
- Use this property to emit root data items to separate Excel sheets or to a single sheet named Data.
- Multiple sheets will be named #DataItemName, where DataItemName is the dataitem name used in the report design.
Version 11.6
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.6
- GitHub Issues
- [#7456](https://github.com/microsoft/AL/issues/7456) VSCode- /Complier exception in report if DataItemLinkReference references a table instead of the dataitem variable
- Miscellaneous
- Adding a non-existing dataitem as the value of the
DataItemLinkReferencewill no longer crash the extension.
Version 11.5
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.5
- GitHub Issues
- [#7435](https://github.com/microsoft/AL/issues/7435) Action Find Event generates wrong EventSubscriber for Events declared in TableExtension
- AppSourceCop
- Adding rule [AS0115](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0115) that disallow a single step obsoletion on tables, fields, and clustered keys.
- Miscellaneous
- Adding diagnostic [AL0788](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al0788) when defining a Promoted area on a page type that doesn't support promoted actions.
- Fixed an issue where consecutive continue events were not handled correctly by the snapshot debugger.
- Unify the DAL preview file name seen by the debugger and the definition provider subsystem (go to definition).
- Add an error message [AL1153](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al1153) in case that a referenced module is attempted to be loaded with a mismatching compiler version.
- The
Find Eventcommand will now fill in the correct object type when the event is exposed by an extension object. - The compiler will no longer crash in specific cases where an interface definition cannot be found.
- Changed the default runtime version when it is not explicitly specified in the manifest (app.json). It changes from the latest supported by the compiler to the first runtime version of the current major. For BC 2023 release wave 1, since we have already released a compiler version with
11.1as default runtime version, the default will exceptionally remain as11.1. However, when runtime11.2will be introduced, the default will not change and you will have to explictly sepcify11.2if this runtime is required by your app.
Version 11.4
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.4
- Bugs fixed
- [#7449](https://github.com/microsoft/AL/issues/7449) Fixed issue with Just-In-Time debugger window appearing during publish.
Version 11.3
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.3
- Miscellaneous
- Support for Group entitlement type for entitlements activated by the signed-in user being a member of a specific Azure AD group.
- Improved token handling for Azure AD authentication scenarios with multiple workspaces open at the same time.
- Fixed project dependency resolution within workspaces when the dependency project has higher version than the reference specified in the dependant project app.json file.
- GitHub Issues
- [#7383](https://github.com/microsoft/AL/issues/7383) Debugging the Base app showing "No content available" message for some objects.
Version 11.2
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.2
- GitHub Issues
- [#7388](https://github.com/microsoft/AL/issues/7388) Debugger stops at first breakpoint and wont move on in VSCode 1.78.
- [#7373](https://github.com/microsoft/AL/issues/7373) usePublicURLFromServer ignores port from launch.json/workspace
- [#7385](https://github.com/microsoft/AL/issues/7385) Update AppSourceCop list of support countries/regions for rule [AS0056](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0056).
- Bugs fixed
- The port from the 'server' property in the launch configuration is no longer ignored.
- Package warnings which are suppressed in the "suppressWarnings" property in the manifest are now correctly suppressed.
- The code actions to refactor application areas and to convert explicit with statements no longer leave redundant new lines.
- Miscellaneous
- You can use the new
teventexternalsnippet to quickly create an external business event. - Fixed parameters of the DotNet type being displayed as __MissingTypeSymbol__ in event signatures.
Version 11.1
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.1
- Bugs fixed
- Multiple bugs fixed in ReportExtensions that resulted in visible stack traces in the output window.
Version 11.0
Business Central 2023 release wave 1
Official changelog / Changelog oficial: Version 11.0
- External Business Events
- The new attribute
ExternalBusinessEventcan mark a procedure to be an external event which will raise an event that an external service like dataverse can subscribe to it. - AL Explorer & Home
- The new AL Explorer allows for better discoverability and easy navigation between AL objects.
- AL Home brings you news about AL development to a place close to you.
- Inherent Permissions
- The new property
InherentPermissionswas added to objects that can have assigned permissions. - Actionable errors
- The new methods
AddActionandAddNavigationActionwas added to the ErrorInfo type. - Per File Code Analysis – Code Analysis Performance Overhaul
- A major change has been made to the way we run code analyzers for large projects.
- code analysis rules on the currently focused file on the VSCode editor instead of on the entire project.
- required to calculate the diagnostics for each file and significantly improves the total performance of the editor.
- for a specific file can now happen up to 40 times faster.
- This change effectively allows real-time code analysis diagnostics on large projects.
Version 10.5
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.5
- Miscellaneous
- Fixed an issue in the AS0014 AppSourceCop rule, which prevented it from appearing in the diagnostics for the manifest file.
- With runtime 10.2 in SaaS, you can use additional methods for assessing assigned entitlements for the current user in context of an application from the NAVApp type.
- Fixed Intellisense recommending non-extensible objects when writing an extension.
- Fixed an issue when Business Central server is configured to use Kerberos authentication, which prevented extension from connecting to the server.
- GitHub Issues
- [#7205](https://github.com/microsoft/AL/issues/7205) Reference by name in calculation properties not working on RunPageLink
Version 10.4
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.4
- GitHub Issues
- [#5667](https://github.com/microsoft/AL/issues/5667) Run code analysis in the Azure DevOps Pull Request- Documenting analyzer and app arguments to alc.exe.
- [#7215](https://github.com/microsoft/AL/issues/7215) Alc.exe parameter 'preProcessorSymbols' is not documented
- Miscellaneous
- An issue was fixed which prevented nested method calls to be used as the values of page fields or report columns, if any of them produced a record.
- Enhancements to the profile-generated files by the AL Profiler for better visualization and navigation, including new shortcuts.
Version 10.3
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.3
- GitHub Issues
- [#7156](https://github.com/microsoft/AL/issues/7156) Improvements on AA0241 to not validate Action and Label data types, [RunObject](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-runobject-property) property values, Enum table fields, and [Permissions](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-permissions-property) property values.
- [#7255](https://github.com/microsoft/AL/issues/7255) Code action: Convert promoted actions to modern action bar fails when specifying 'NoPromotedActionProperties'.
- [#7239](https://github.com/microsoft/AL/issues/7239) Issue with fullDependencyPublish
- [#7299](https://github.com/microsoft/AL/issues/7299) Update AppSourceCop list of support countries/regions for rule [AS0056](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0056).
- Miscellaneous
- New warning for when the names of two dataitems or two actions conflict. Whitespaces in names are internally replaced with an underscore during compilation, such that two different names can collide. For example, "Action name" and "Action_name" are conflicting names. From runtime 12.0, an error will be reported.
- Fixed an error which could prevent full-dependency publish.
- Fixed missing validation of duplicate enum values defined in enum extensions.
- Fixed AppSourceCop validation to not report diagnostic [AS0034](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0034) when the [CompressionType](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/properties/devenv-compressiontype-property) property changes on a table.
- Fixed an issue in the AS0014 AppSourceCop rule which prevented it from appearing in the diagnostics for the manifest file.
Version 10.2
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.2
- Future change in behaviour
- An issue in integer division was found by the community and it will be fixed with the next major release of the compiler- Version 11.
- GitHub Issues
- [#7123](https://github.com/microsoft/AL/issues/7123) Word layouts keep randomly getting changed when compiling application.
- [#7207](https://github.com/microsoft/AL/issues/7207) PageCustomization IntelliSense not picking up actionref keywords
- [#7143](https://github.com/microsoft/AL/issues/7143) Text overflow is not caught at build or runtime if implicitly converting Guid to Text or Code, AND it changes MaxStrLen!
- Miscellaneous
- Word layouts will now only be updated if there are changes in the structure of the report or report extension that includes them.
- Intellisense will suggest tables for report extension data-items.
- An issue was fixed where project wide code fixes would not work.
Version 10.1
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.1
- Support for global and workspace launch configuration
- AL developers are now able to add a
launchproperty to theircode-workspaceorsettings.jsonfile and it will be taken into account. - In case that the local
launch.jsonfile doesn't contain a valid AL launch configuration, we'll try to find one in thecode-workspacefirst, and then in thesettings.jsonfiles. - Report.PrintOnlyIfDetail
- The [PrintOnlyIfDetail method](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/report/reportinstance-printonlyifdetail-method) is now supported for Business Central online.
- GitHub Issues
- [#6514](https://github.com/microsoft/AL/issues/6514) Viewing variables in debug breaks session
- [#6930](https://github.com/microsoft/AL/issues/6930) CalcFields and CalcSums auto-complete/IntelliSense stops working after the first two fields, i.e. broken on third onwards
- [#7077](https://github.com/microsoft/AL/issues/7077) AL allows/suggests "Enum Name"::"First Value Name"::"Another Value Name"::"Etc"::"Etc"
- [#7146](https://github.com/microsoft/AL/issues/7146) Support sticky scroll with a more complete model, meaning for instance, the sticky scroll line is not the attribute of a procedure but the name of it.
- [#7156](https://github.com/microsoft/AL/issues/7156) Rule AA0241 should not report a warning on object types.
- [#7133](https://github.com/microsoft/AL/issues/7133) There should be a Compiler Error for setting the Editable Property of a part in a PageExtension
- [#7155](https://github.com/microsoft/AL/issues/7155) Unable to cast object of type 'Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.ObjectTypeSystemOptionTypeSymbol' to type 'Microsoft.Dynamics.Nav.CodeAnalysis.Symbols.OptionTypeSymbol'
- [#7166](https://github.com/microsoft/AL/issues/7166) Copies wrong SQL statement
- [#7190](https://github.com/microsoft/AL/issues/7190) Intellisense is very slow.
Version 10.0
Business Central 2022 release wave 2
Official changelog / Changelog oficial: Version 10.0
- GitHub Issues
- [#7083](https://github.com/microsoft/AL/issues/7083) The AL:Go! project template now has "implicit with" switched off by default. This is visible in the app.json file where the project feature "NoImplicitWith" is present.
- [#7057](https://github.com/microsoft/AL/issues/7057) AS0098 should allow any character instead of space when validating report extensions columns affixes
- [#7072](https://github.com/microsoft/AL/issues/7072) AL0432 is shown in triggers of obsolete fields
- [#7073](https://github.com/microsoft/AL/issues/7073) The outline window now handles RDLCLayout, WordLayout and ExcelLayout properties.
- [#7107](https://github.com/microsoft/AL/issues/7107) ControlAddIn/UserControl in page loses its actual type when referenced in a pageextension, breaking passing to procedures
- [#7127](https://github.com/microsoft/AL/issues/7127) Compiling app using NextMajor version is failing with AL compiler error
- [#7141](https://github.com/microsoft/AL/issues/7141) Rule AS0098 is now enforced for report labels.
- Data Transfer
- The new AL object
DataTransferhas been introduced, which enables bulk data transfer operations in upgrade code via set-based SQL operations instead of using row-by-row operations. - Use of Option Access syntax in formulas
- The AL language now supports using option access syntax in formula properties.
- New UICop rule
- [AW0014](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/uicop-aw0014) – A warning is reported when an action group with its visibility set to false contains the target actions of one or many actionrefs. This rule is similar to [AW0013](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/uicop-aw0013), but for pages using the new action bar syntax.
- The snapshot debugger shows all the lines hit by a snapshot session
Version 9.5
Business Central 2022 release wave 1
Official changelog / Changelog oficial: Version 9.5
- GitHub Issues
- [#6582](https://github.com/microsoft/AL/issues/6582) Wrong indentation level of repeat/until loop directly under case option label
- [#6429](https://github.com/microsoft/AL/issues/6429) Code like if FindFirst() then; gets wrong line-break/indentation within case block
- [#6920](https://github.com/microsoft/AL/issues/6920) code within a CASE's ELSE BEGIN block is indented by 1 tab too far
Version 9.4
Business Central 2022 release wave 1
Official changelog / Changelog oficial: Version 9.4
- Inherent Permissions
- InherentPermissions attribute is now available in the scope "Cloud" when using 9.2 as runtime version in the app.json of the extension.
- GitHub Issues
- Fixing [#7081](https://github.com/microsoft/AL/issues/7081) AA0244 should not warn about event publisher arguments with same name as global variable
- Fixing [#7104](https://github.com/microsoft/AL/issues/7104) AL VSIX is not respecting the new vscode telemetry settings
- Reverted [#7081](https://github.com/microsoft/AL/issues/7081) AA0244 should not warn about event publisher arguments with same name as global variable
- Reverted [#6582](https://github.com/microsoft/AL/issues/6582) Wrong indentation level of repeat/until loop directly under case option label
- Reverted [#6429](https://github.com/microsoft/AL/issues/6429) Code like if FindFirst() then; gets wrong line-break/indentation within case block
- Reverted [#6920](https://github.com/microsoft/AL/issues/6920) code within a CASE's ELSE BEGIN block is indented by 1 tab too far
- Reverted [#6488](https://github.com/microsoft/AL/issues/6488) AA0198 should also observe procedure parameters – Introducing new CodeCop rules to cover such cases.
- Reverted [#6238](https://github.com/microsoft/AL/issues/6238) Wrong SETRANGE statement can be run with strange behavior
- [#7081](https://github.com/microsoft/AL/issues/7081) AA0244 should not warn about event publisher arguments with same name as global variable
- [#6582](https://github.com/microsoft/AL/issues/6582) Wrong indentation level of repeat/until loop directly under case option label
- [#6429](https://github.com/microsoft/AL/issues/6429) Code like if FindFirst() then; gets wrong line-break/indentation within case block
- [#6920](https://github.com/microsoft/AL/issues/6920) code within a CASE's ELSE BEGIN block is indented by 1 tab too far
Version 9.2
Business Central 2022 release wave 1
Official changelog / Changelog oficial: Version 9.2
- GitHub Issues
- [#6318](https://github.com/microsoft/AL/issues/6318)+%5B#6959%5D(https://github.com/microsoft/AL/issues/6959) Stop reporting AA0210 for suboptimal indexes on virtual tables
- [#7000](https://github.com/microsoft/AL/issues/7000) RDLC report paths in Mac OS vscode
- [#7006](https://github.com/microsoft/AL/issues/7006) Do not report AA0001 when the line ends with a comment and next line is the second argument of a binary operator.
- [#7027](https://github.com/microsoft/AL/issues/7027) AS0088 should not validate enum extensions because they cannot be marked as obsolete
- [#7025](https://github.com/microsoft/AL/issues/7025) When you create a new report using the treport snippet, it always assigns UsageCategory = Administration; Should that not be UsageCategory = ReportsAndAnalysis;?
- [#6238](https://github.com/microsoft/AL/issues/6238) Wrong SETRANGE statement can be run with strange behavior
- [#6979](https://github.com/microsoft/AL/issues/6979) Syntax analyzer is broken – Report Labels
- [#6488](https://github.com/microsoft/AL/issues/6488) AA0198 should also observe procedure parameters – Introducing new CodeCop rules to cover such cases.
- [#7035](https://github.com/microsoft/AL/issues/7035) Rule AA0240 recognizes a GUID as Phone No. or E-Mail
- [#7030](https://github.com/microsoft/AL/issues/7030) New semanticHighlighting – Function's begin-end in RED
- Miscellaneous
- Fixing an issue that caused dependencies to be incorrectly marked as unsatisfied after downloading symbols.
- Fixing an issue where a propagated project reference would update its application references on the referred project.
Version 9.1
Business Central 2022 release wave 1
Official changelog / Changelog oficial: Version 9.1
- GitHub Issues
- [#6857](https://github.com/microsoft/AL/issues/6857) Missing error on compile upgrade codeunits being run by code
- [#7010](https://github.com/microsoft/AL/issues/7010) F12 does not find the AL file that contains the definition
- [#6972](https://github.com/microsoft/AL/issues/6972) Unable to debug files with a forward slash in the name
- [#6978](https://github.com/microsoft/AL/issues/6978) broken Intellisense/auto-complete for begin/end of a procedure returning a record type
- Miscellaneous
- Fixing crash when accessing a report layout using a variable of the Report data type. Note that report layouts cannot be accessed by using a variable based on the Report data type.
- Fixing an issue that occurred if the version of a project, in an already opened workspace, had changed, any projects that were depending on it failed to load if set to active. The only solution was to trigger the reload window command.
- Update warnings about dependency on Application and System in the 'dependencies' manifest property. The recommended style is to use the dedicated manifest properties: 'application' and 'platform'.
- Removed a duplicate entry for the "Generate Profile File" option from the Visual Studio Code command palette.
Version 9.0
Business Central 2022 release wave 1
Official changelog / Changelog oficial: Version 9.0
- New sampling option for the AL profiler
- The AL profiler supports a new profiling option called Sampling.
- Multiple Report Layouts
- Report and Report Extensions now supports defining multiple layouts in a single object using the new
renderingsection. - Old reports using the previous property-based layout specification can be converted to use this section with a new code action.
- Workspace Publishing
- Publishing large workspaces with interdependent projects can be done with the new
Publish full dependency tree for active projectcommand. - Support for Excel Layouts on reports
- Report objects now support Excel layouts.
- New InherentPermissions attribute
- Added a new ability to elevate user permissions during the specific method execution.
- New Isolated event attribute
- Events definitions now support an isolated mode, in which they will be executed with isolated transaction schematics.
- New AppSourceCop rules
- As part of our efforts to improve the validation of AppSource submissions, we worked on making the AppSourceCop more reliable, but we have also introduced new rules based on the new AL languages capabilities, customer incidents, and feedback from the community:
Version 8.4
Business Central 2021 release wave 2
Official changelog / Changelog oficial: Version 8.4
- Validation of runtime breaking changes
- In order to call AL procedures, the Business Central runtime relies on a unique ID assigned to each procedure.
- In order to prevent runtime issues caused by runtime breaking changes and provide a better experience to customers in SaaS, a new AppSourceCop rule [AS0102](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0102) has been introduced and the severity of the rules [AS0077](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0077) and [AS0078](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0078) has changed from
WarningtoError. - These changes have already been applied to the technical validation of AppSource submissions in Partner Center.
- GitHub Issues
- [#6892](https://github.com/microsoft/AL/issues/6892) Implementing Interface with Complex Return Type Creates Incorrect Signature
- [#6927](https://github.com/microsoft/AL/issues/6927) Cannot remove obsolete controladdin
- [#6872](https://github.com/microsoft/AL/issues/6872) Can't Go To Definition of fields used in key
- [#6851](https://github.com/microsoft/AL/issues/6851) AL0697 – Valid Fieldtype Fielref.Value() –> New Cast AsGuid, As DateTime
- Warnings that will turn into errors in the next releases
- Over the last periods, we have introduced multiple warning diagnostics that will turn into an error in a future release.
- Warning [AL0660](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al660) will become an error with Business Central 2022 release wave 2.
- Warning [AL0677](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al677) will become an error with Business Central 2022 release wave 2.
- Warning [AL0692](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al692) will become an error with Business Central 2022 release wave 2.
- Warning [AL0694](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/diagnostics/diagnostic-al694) will become an error with Business Central 2022 release wave 1.
Version 8.3
Business Central 2021 release wave 2
Official changelog / Changelog oficial: Version 8.3
- New AppSourceCop rule
- In order to simplify and improve the dependency handling in Business Central, it is now required to use the
applicationproperty in the app.json file of AppSource apps. - A dedicated AppSourceCop rule has then been created to validate it, see [AS0100](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0100).
- Miscellaneous
- New timestamp format in Output window when starting and finishing compilation.
- Added support for generating profile files in the right-click context menu on snapshots, which was previously only possible through the Command Palette.
- Added CodeLens support for collected frames in the profiler.
- Improved profile generation performance.
- GitHub issues
- [#6888](https://github.com/microsoft/AL/issues/6888) Code 'UA' is not a valid ISO 3166-1 alpha-2 code
- [#6848](https://github.com/microsoft/AL/issues/6848) Analyzer throws Rule0242PartialRecordsDetectJitLoads exception
Version 8.2
Business Central 2021 release wave 2
Official changelog / Changelog oficial: Version 8.2
- Miscellaneous
- Added support for watch window evaluation of variables in the snapshot debugger.
- Fixed an issue where debugging OnPrem installations would fail if the Public Base Web URL was not set.
- Added hyperlinks for diagnostics. These can be seen in the problems panel, or when you hover over a squiggly line.
- GitHub issues
- Fixed Code Actions reported in [#6849](https://github.com/microsoft/AL/issues/6849) and [#6842](https://github.com/microsoft/AL/issues/6842)
- [#6844](https://github.com/microsoft/AL/issues/6844) Find Event crashes
Version 8.1
Business Central 2021 release wave 2
Official changelog / Changelog oficial: Version 8.1
- New AppSourceCop rules
- Based on your feedback on Yammer, two AppSourceCop rules have been introduced:
- [AS0098](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0098) validates the use of affixes on report extension object members and on enum values defined in enum extensions.
- [AS0099](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0099) validates that the ID of fields defined in tables and the ID of values defined in enum extension is within the allowed range for extensions.
- These rules are reported as Warning (AS0098) and Information (AS0099) to raise awareness regarding potential name and ID collisions in customer environments, but not complying with these rules will not fail your submission in AppSource.
- Bug fixes
- Miscellaneous
- In certain scenarios involving loops the hit count was not computed correctly for the Profiler.
- Reference resolution has been optimized for scenarios with application references having non-existing secondary references in the package cache path.
- Built-in methods Import and Export for Blob type fields will be available only for OnPrem from runtime version 9.0.
- New overloads on the TestField and FieldError methods to include an ErrorInfo object to enable collecting errors.
- Fixed issue with feature "GenerateCaptions" where it wouldn't work for Page Captions.
- GitHub issues
- [#6812](https://github.com/microsoft/AL/issues/6812) Publish Extension without building does not take into account EnvironmentName.
- [#6731](https://github.com/microsoft/AL/issues/6731) AppSourceCop AS0064: removing an obsoleted Interface in combination with public objects implementing that one is considered a breaking change.
Version 8.0
Business Central 2021 release wave 2
Official changelog / Changelog oficial: Version 8.0
- Allowing the Name and Publisher of extensions to be changed
- Extensions can now have their Name and Publisher properties changed between versions.
- Note: If you are using workspaces with multiple projects and change the name or publisher of an extension in the workspace, the dependencies in the app.json file must be updated with the new name and publisher or you may encounter issues with reference resolution.
- Read more about [App Identity](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/devenv-app-identity)
- Two AppSourceCop rules have been introduced in order to validate the changes done on the identity of extensions based on your current extension's runtime version:
- [AS0096](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0096) validates extension renames.
- [AS0097](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0097) validates publisher renames.
- Fully automated technical validation of AppSource submissions
- From the 1st of October, the [technical validation](https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/devenv-checklist-submission) of AppSource extensions will be fully automated.
- The validation results will be directly displayed in Partner Center.
- Join the [AppSource yammer group](https://www.yammer.com/dynamicsnavdev/#/threads/inGroup?type=in_group&feedId=41498640384) for more information or questions about the AppSource validation process.
- Specify Synchronization Mode when installing or upgrading an extension
- Using the built-in cmdlets targeting an on-premises installation of Business Central, you can now synchronize your extension in the same step as installing or upgrading it.
- Getting more control over availability of resources and source code and dynamically override the policy
- We are listening to your ideas.
Version 7.4
Business Central 2021 release wave 1 update 3
Official changelog / Changelog oficial: Version 7.4
- Property modification on report extensions
- Report extensions will now allow you to modify the RequestFilterFields and CalcFields properties of dataitems on the base report. These properties will be modified additively, adding to any fields that were specified in the base report. [#6704](https://github.com/microsoft/AL/issues/6704).
- Fixes of code emitting issues
- We fixed an issue that causes the compilation to fail when using complex types as a return value from Case statements [#6679](https://github.com/microsoft/AL/issues/6679).
- Protected variables declared in base application objects are now accessible from their extension in source and property expressions [#6711](https://github.com/microsoft/AL/issues/6711).
- Using certain system functions in expressions would produce invalid code.
- Emitting user controls for request pages in reports and report extensions.
- Fixing how arrays of JsonObject are initialized [#6279](https://github.com/microsoft/AL/issues/6279).
- Allowing Record.Copy(FromRecord: Record)
- This allows to you to copy temporary records returned from a procedure [#6695](https://github.com/microsoft/AL/issues/6695).
- where GetBuffer has the following signature:
- AppSourceCop Improvements
- We fixed an exception that was thrown when validating procedure breaking changes for extensions targeting a runtime version lower than 7.0.
- The rule [AS0025](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/analyzers/appsourcecop-as0025) only allowed to add a new parameter in last position of the parameter list for local events. Adding a parameter in any other position triggered a diagnostic. This has been fixed and it is now possible to add a new parameter in any position.
- Note that from the 3rd of August, the [technical validation](https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-checklist-submission) of AppSource extensions enforces the analyzer rules around procedure breaking changes (rules AS0018 to AS0028) in order to provide a better experience for our customers in SaaS.
Version 7.3
Business Central 2021 release wave 1 update 3
Official changelog / Changelog oficial: Version 7.3
- Application Insights connection string
- The new app.json property
applicationInsightsConnectionStringallows you to specify the full connection string provided in your Azure Application Insights dashboard. - Fixes of code emitting issues
- Procedures can now be invoked within DataSource expressions in columns in Reports and Pages.
- [#6235](https://github.com/microsoft/al/issues/6235). Protected members of one extension object are now accessible by other extensions objects.
- Validating keys in table extensions
- [#6680](https://github.com/microsoft/al/issues/6680).
- Validating trigger signatures
- We now report warnings for all invalid trigger signatures.
Version 7.2
Business Central 2021 release wave 1 update 2
Official changelog / Changelog oficial: Version 7.2
- 'Generate Captions' feature changes
- The feature flag 'GenerateCaptions' would generate trans-units in the template translation file for procedures in codeunits.
Version 7.1
Business Central 2021 release wave 1 update 1
Official changelog / Changelog oficial: Version 7.1
- Snapshot debugging
- Snapshot debugging allows recording built-in codeunit based stack traces if there is a snappoint defined in the al file containing the subscription to the built-in code unit trigger event.
- Reports extensions
- Parameters and captions are now supported report layouts in report extensions
- Debugging supported added for report extension
- Added support for modify on dataitems with a set of triggers to go along with it.
- There were a couple of issues around adding dataitems into the correct position, which caused layouts to not work correctly.
- The checks for duplicate usage of identical names did not catch all cases.
- Built-in functions and types
- [#6568](https://github.com/microsoft/al/issues/6568). The deprecation warning has been removed from UploadIntoStream
- [#6570](https://github.com/microsoft/al/issues/6570). The type ModuleInfo now contains a PackageId.
- If the StartSession with the timeout was to be used, it required a record and company. That has been changed so they are not required.
- Go to Definition
- When a package has ShowMyCode set to false, then the editor will show a generated view from the symbol information available. That has been improved to include more objects.
Version 7.0.0
Business Central 2021 release wave 1 update
Official changelog / Changelog oficial: Version 7.0.0
- Report Extensibility
- We have introduced
reportextensionobjects to the language that allows extension of report objects. - Adding new dataitems to the base report's dataset
- Adding new columns to a base report's dataitem
- Extending the request page (e.g. adding new fields)
- Defining additional report triggers
- Defining additional request page triggers
- Defining additional layouts that will be made available for the base report
- Use the
treportextensionsnippet to get started! - Return complex types from methods
- We now allow complex types to be returned from methods.
- Permission sets and permission set extensions
- With this release we now support defining permission sets in AL objects.
- Deployed as metadata and hence easy to update
- Easy to read source format
Version 6.5
Business Central 2020 release wave 2 update 5
Official changelog / Changelog oficial: Version 6.5
- Bugs fixed
- Fixed an issue which caused some labels and captions to not be translated in a dedicated language extension.
- Error "Constant value XXX is outside of the valid ordinal range for this Enum type" is no longer thrown when using an extended enum field with ValuesAllowed property.
Version 6.4
Business Central 2020 release wave 2 update 4
Official changelog / Changelog oficial: Version 6.4
- Bugs fixed
- Add a message to sandbox publishing that extensions which have been published from Visual Studio Code are removed when the environment is updated or relocated within our service.
- Set compatibility for NavigationPageId and Multiplicity to 6.3. Github issue: https://github.com/microsoft/AL/issues/6436
- Use DropDown instead of Dropdown. Github issue: https://github.com/microsoft/AL/issues/6428
- Interface implementation validation sometimes falsely logs an error if a member is already implemented.
- Use of obsolete page variables are not showing warnings when used as variables.
- Full diagnostics are sometimes not reported when .NET types are included.
- Fixed report column decimal places format. Github issue: https://github.com/microsoft/AL/issues/5880
- Fix compatibility definition of certain properties. Github issue: https://github.com/microsoft/AL/issues/6368
- Fixed naming of XMLPort. https://github.com/microsoft/AL/issues/6304
- Add equivalence between Visual Studio Code 'Start Debugging' command and al.publish, respectively 'Run without Debugging' command and al.publishNoDebug command.
- 'Trigger Parameter Hint' (Ctrl+Shift+Space) command is not working. Github issue: https://github.com/microsoft/AL/issues/6379
- Support for variables larger then 1 Kb on the debug console.
Version 6.0.0
Business Central 2020 release wave 2 update
Official changelog / Changelog oficial: Version 6.0.0
- SnapshotDebugger
- We have introduced the ability to record AL execution on a Business Central server, also called snapshot debugging.
- F7 will initialize a snapshot debugging session, Shift+F7 provides status such as when the end-user connects to the Business Central server using the client and then if a snapshot debugging request was saved for that user, the user's AL code in the specific client session will be recorded, and Alt+F7 ends snapshot debugging on the Business Central server and produces a debuggable snapshot file.
- In connection with this addition, please note that the existing “al.downloadsource” command for F7 has been remapped to Alt+F6.
- Debugging Upgrade and Install code
- It is now possible to debug upgrade and install codeunits.
- Indication of overloads in IntelliSense.
- IntelliSense now includes the number of additional overloads together with the signature of the first method.
- Global warning suppression from app.json and the alc command-line
- Warnings can be suppressed globally using the "suppressWarnings" option in the app.json file.
- We also support global warning suppression from the alc command-line using the the /nowarn switch.
- Captions for OData
- With this release we have added a new attribute Caption that can be applied to procedures that are ServiceEnabled or defined in an API page.
- Documentation Comments
- With this release we support documentation comments for AL similar to C#.
Version 5.0.0
Business Central 2020 release wave 1 update
Official changelog / Changelog oficial: Version 5.0.0
- AL Interfaces
- We have introduced the interface concept in AL which allows developers to apply polymorphism and code against abstraction.
- We also introduced AppSourceCop rules to detect any breaking changes.
- Enum implements interfaces
- We have added interface support to enums where an enum can implement multiple interfaces and set a default implementer codeunit for each of them.
- Debugger changes
- We have added support to view values of Lists and Dictionaries in the debugger.
- We have simplified the evaluation of array index expressions in a watch window.
- We have extended the support on hovering for evaluation when debugging.
- support hovering on quoted identifiers.
- An example is when hovering on "My Customer Rec" and also "No." would evaluate on an expression like "My Customer Rec"."No."
- Workspace changes
- We have added support for goto definition when multiple launch configurations are defined for a project.
- al.defaultConfigurationName which is going to be used to resolve the server name in scenarios that involve multiple configurations and the need to request information from a server.
- We have fixed the issue that Al projects cannot coexist with other project types in a workspace.
Version 4.0.0
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: Version 4.0.0
- AL:Go! Version Selection
- The AL:Go!
- Access Modifiers
- We have added access modifiers to the AL language.
- Codeunits, Tables, and Queries can be marked as internal to the extension by specifying
Access = Internalproperty. - Procedures can now also be marked as internal or protected similar to the existing local keyword.
- Global variables can be marked as protected.
- Table fields can be marked as internal, protected, or local.
- The different access modifiers are defined as:
Publicis accessible to all.Internalis only accessible from within the same extension.Protectedis only accessible within the defining object and object extensions to the same object.localis only accessible from within the same object.- It is possible to grant access to internals to referencing extensions by specifying them in the internalVisibleTo section of the app.json file.
- Object Obsoletion
Business Central April ‘19 update (2019/04)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: Business Central April ‘19 update (2019/04)
- Rapid Application Development (RAD)
- RAD is a C/SIDE term used for changing an application object, compiling it, and seeing the results instantaneously in the client.
- We have tried to replicate a similar experience for extension development in AL Language in VS Code.
- We will use the terms "incremental publish" and "RAD publish" or just "RAD" interchangeably.
- We have introduced two new commands for doing incremental publishing/debugging.
- Ctrl+Alt+F5 for incremental publish
- Alt+F5 for incremental publish and invoking debugging
- Please note that:
- You need an app to be fully published at least once before you can use incremental publish for the same app.
- You cannot change the version, publisher, and name of the app if you do an incremental publish
- If things fail for incremental publishing you would need to do a full publishing (Ctrl+F5) before using the RAD features again.
- A tracking file (rad.json) that captures which files have changed for the purposes of incremental build and publish is created and updated on any developer action that involves a build process for anything that involves a build (not Save and this is by design), like build (Ctrl+Shift+B), or any of the deployment or debugging tasks.
- A RAD published file will not contain the following files that are normally packaged during regular publishing:
- translation files,
- permissions files,
July 2018 Update (2018/07/30)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: July 2018 Update (2018/07/30)
- Declaration
- Enum is a new concept that over time is meant to replace the existing Option type.
- Enums require an ID and a name.
- Enums can be marked as extensible.
- Usage
- Enums can be used as table fields, global/local variables, and parameters.
- For example, as a table field type:
- Or as a variable:
- In C/SIDE
- Since most of the enums that are currently relevant for extensibility are on table fields in the base-app, we have made it possible to mark a table field in C/SIDE as Extensible.
- To extend a table field option you must set up your development environment to run C/SIDE and AL side-by-side as described here: [https://learn.microsoft.com/en-us/dynamics-nav/developer/devenv-running-cside-and-al-side-by-side](https://learn.microsoft.com/en-us/dynamics-nav/developer/devenv-running-cside-and-al-side-by-side).
- Conversions
- Conversions to/from Enums are more strict than for Options.
- An enum can be assigned/compared to an enum of the same type.
- To be backwards compatible we support conversion to/from any Option, but we may in the future be more strict.
June 2018 Update (0.17.23984 – 2018/06/25)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: June 2018 Update (0.17.23984 – 2018/06/25)
No summary points were found for this entry.
May 2018 Update (0.17.16611 – 2018/05/25)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: May 2018 Update (0.17.16611 – 2018/05/25)
No summary points were found for this entry.
February Update (0.14.17461 – 2018/02/15)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: February Update (0.14.17461 – 2018/02/15)
No summary points were found for this entry.
Anniversary Update (0.13.15836 – 2017/12/20)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: Anniversary Update (0.13.15836 – 2017/12/20)
No summary points were found for this entry.
December Update (0.12.15359 – 2017/12/06)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: December Update (0.12.15359 – 2017/12/06)
No summary points were found for this entry.
November Update (0.11.14434 – 2017/11/08)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: November Update (0.11.14434 – 2017/11/08)
No summary points were found for this entry.
October Update (0.10.13928 – 2017/10/12)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: October Update (0.10.13928 – 2017/10/12)
No summary points were found for this entry.
September Update (0.9.12794 – 2017/09/07)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: September Update (0.9.12794 – 2017/09/07)
No summary points were found for this entry.
August Update (0.8.11706 – 2017/08/16)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: August Update (0.8.11706 – 2017/08/16)
No summary points were found for this entry.
July Update (0.7.11459 – 2017/07/12)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: July Update (0.7.11459 – 2017/07/12)
No summary points were found for this entry.
June Update (0.5.10663 – 2017/06/20)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: June Update (0.5.10663 – 2017/06/20)
No summary points were found for this entry.
April Update (0.4.9209 – 2017/04/21)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: April Update (0.4.9209 – 2017/04/21)
No summary points were found for this entry.
March Update (0.2.8249 – 2017/03/28)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: March Update (0.2.8249 – 2017/03/28)
No summary points were found for this entry.
February Update (0.2.7308 – 2017/02/16)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: February Update (0.2.7308 – 2017/02/16)
No summary points were found for this entry.
January Update (0.2.6084 – 2017/01/14)
Business Central 2019 release wave 2 update
Official changelog / Changelog oficial: January Update (0.2.6084 – 2017/01/14)
No summary points were found for this entry.
Más información / More information:


Deja una respuesta