Blog |

Technical Code Changes in Microsoft Dynamics 365 Business Central 2023 Release Wave 1

Tuesday, June 6, 2023
Reading time: 24 minutes

April 1st was the official release day of Microsoft Dynamics 365 Business Central 2023 Wave 1 (version 22). You can review the list of new and planned functionality and the list of functionality that has been moved, removed, or replaced by Microsoft. Along with newly introduced and changed functionalities, a lot of code changes have been made, which I will review in this blog post. These include:

Developer experience changes

In the new Business Central 2023 Wave 1 release, Microsoft introduced quite a few developer experience changes listed below.

AL Explore makes code navigation easier and allows you to see all the code that is used in your app and all the basic code that is in the base application.

AL language changes

In the new Business Central 2023 Wave 1 release, Microsoft continues to raise the productivity of Business Central AL developers and introduced plenty of AL language changes listed below.

Application changes

From September 2023, you will be able to extend general ledger posting aggregations in Dynamics 365 Business Central. Until now, if you posted an invoice in Business Central, it would create just one line in your general ledger entry with a description saying invoice and invoice number. It was possible to modify that, but you had to add a key to a table which you were not able to do in AL. Now, Microsoft is redesigning that process and you will be able to modify the aggregation of the posting. For example, instead of one line of your invoice, you can have one for each item description, depending on your preferences.

Performance changes

In the new Business Central release, the performance of OData web services is improved. This is mainly achieved by removing the OnOpenCompany code from OData sessions. Previously, every time you opened OData session from an external application, it used to do OnOpenCompany trigger for each of your goals, and in many cases, for OData that was not necessary. If you depend on code that is using OnOpenCompany trigger, you should rewrite your OData code.

Improvements have also been made to the loading times of pages (Navigation, Action Bar, List-to-Card). Navigation and Action Bar pages are now using more optimized code and should load faster. The performance of the List page has also improved, now you can drill down to a card quicker.

In the new Business Central release, the Business Central server runs on .NET 6. This is a different version from the .NET Framework that was used before, and it can improve the performance of the server by up to 30%, meaning that your app runs much quicker.

App lifecycle changes

In PTEs, every time you upload a new app, there is now extra telemetry coming through the customer environment. If something goes wrong, or if it takes too long, you can go to your application insights environment and check why that happened, and get more information on the validation of PTE.

Also, you can now deploy hotfixes for older AppSource apps. Perviously, for example, if you had an app on Business Central v.22 and then you published the same app but optimized for Business Central v.23, you would no longer be able to create a hotfix for customers that were still on BC v.22. You could not create a hotfix for a version that was already replaced by a newer version. But now, between the time that the new version is released and until the last customers are updated to that new version, you can publish hotfixes to older versions.

In addition, from September 2023, Microsoft ISVs can organize a preview for their AppSource apps. You can publish your app and allow your customers to have a preview in their environment to see if they like your app and if they want to use it.

Telemetry changes

In the new Business Central 2023 Wave 1 release, you can get more information on incoming and outgoing web service calls in the telemetry. For example, you can find out how long the incoming call has been waiting, as when the server is very busy, it will reject calls and place them in a queue. Now you can see if the performance of your web service is hindered by too many calls.

For outgoing web service calls, you can now get more information about the code on the database level which was run to create your result. It is now in the telemetry of long-running AL methods. You can see what database queries there were and get more information about what was run to create the result of your web service.

Now the error messages include the ENU error text instead of localized. In the past, if an error message popped up, you would get a localized error message in your application insights. It’s not good if you have a multi-language solution, because the same error message might take two to four different forms in your application insights. You will now be able to retrieve the English US basic error text so it makes aggregating data from the same error easier.

In the new release, the application reports changes that were made in permission sets by extensions. For example, if an extension is installed, that extension modifies existing permission sets by adding a table, and you will now be able to monitor that.

Now, files are blocked for upload due to possible malware. If you try to upload a file, that file will be blocked by the service because of possible malware, and you will be able to see that in the telemetry. Previously you didn’t get any notification for that.

Also, there are Feature Management changes in settings in the new Business Central release and now you can get more information. If the user changes something in Feature Management, you will be better able to follow that in your telemetry for that environment.

New features added to Business Central On-Premises

In Business Central on-premises only, there is support for overriding the PublicWebBaseURL server setting. If you are developing on a server where the web service is also running, by default, the compiler connects through the web-based URL meaning it goes through the web service while it is running on your local server. So, you can now overwrite that from your development environment and have quicker access to your server.

In addition, you can now allow application and tenant databases to differ in collation in Business Central on-premises. The Business Central environment has application and tenant databases and until now these databases have had the same collation (the sorting order of the text inside the database), causing problems if there was a difference. In the new Business Central 2023 Wave 1 release, you can have different collations in different tenant databases and they will all be served by the same application database.

In the new release, there is the .NET 6 update. If you are doing technical upgrades from the older version that uses the .NET framework to the current version that uses .NET 6, you may experience technical upgrade issues. Sometimes you will also need to update your application if you only want to do a technical upgrade.

Microsoft has rewritten all their control add-ins and all their own code, and everything is also converted to .NET 6. But in the Dutch and Mexican localizations, there are functions not possible to convert to .NET 6, as they use things from the .NET framework that are not in .NET 6. So, Microsoft has replaced that with Azure functions. If you want to see how it is done, you should check one of these localizations.

In Business Central on-premises only, you can now control the maximum time a task can run on the service. For instance, you can better control the time for the job queue.

Companial upgrade options for Dynamics NAV/365 Business Central

If you’d like to find out more about the technical, functional, and administrative platform enhancements of the latest Dynamics 365 Business Central release, and see the live demo, watch the webinar on this topic here. You can also visit our website and find out how we can help Dynamics Partners to upgrade and maintain solutions in Dynamics 365 Business Central, or download the Companial e-book and learn more about Dynamics NAV/365 Business Central upgrade options.

Jan Veenendaal

Mehr über Business Central

Isatech

How Isatech Moved Customers to Business Central Online 5 Times Faster with the Migration & Modernization Program​

Weiterlesen