Join me in a dive into the many lists of what’s new in Business Central 2025 Wave 2, aka. BC27.

In this video, Erik Hougaard takes us through the new features and changes in AL for Business Central 2025 Wave 2 (BC27 / AL version 16). From feature management gotchas that can break existing code, to powerful new capabilities like table truncation, semantic search in Tell Me, and improvements to the development workflow in VS Code — this is a comprehensive tour of what’s new for developers in the latest release.
Feature Management: The “Old-New” You Might Have Missed
Before diving into the shiny new features, Erik starts with an important reminder that many people overlook: Feature Management. Each new release of Business Central automatically enables features that were introduced in previous versions. This means functionality you may have never activated is now turned on by default in BC27.
Here are some of the features now auto-enabled that could significantly impact your environment:
- Only calculate visible flow fields — This one can break existing code. If your logic relies on flow fields being calculated even when they’re not visible on screen, those flow fields will no longer be computed automatically.
- Autosave with every field change — Another major change. Previously, you could validate multiple fields before the record was saved. Now, the record is saved every time you exit a field. If you’re on the customer card and fill out 25 fields, the record is saved 25 times.
- Enable server certificate validation for HTTP requests — Important for integrations and security.
- Use optimized text search in lists — The word-based search functionality introduced earlier.
- Enable multiple users to post warehouse entries at the same time — A welcome concurrency improvement.
- Utilize semantic similarity search on application metadata — Tied to the AI and advanced Tell Me capabilities.
- Optimize screen state usage on the web — Less wasted space on screen.
The takeaway: always check Feature Management when upgrading. Features introduced in this version may also not be active until you explicitly enable them — or until a future release auto-enables them.
Understanding Release Waves
Erik clarifies an important point: “Release Wave 2” doesn’t mean everything ships on day one. Not everything is in version 27.0 — features may arrive in 27.1, 27.2, or later minor updates over the next six months until BC28 arrives in April 2026.
Copilot and Advanced Tell Me Search
Microsoft’s focus this wave is clearly on agents — the sales order agent and the payables agent are receiving significant improvements. But the standout feature for everyday users is the advanced Tell Me search powered by semantic search.
The beloved “Tell Me” (Alt+Q) search now uses semantic similarity, leveraging language model technology to understand what you mean rather than requiring exact Business Central terminology. Erik demonstrates this live: searching for “procurement” returns purchase-related results. You no longer need to know the exact Business Central term — you can search by intent.
Erik notes that if this search could eventually find specific records (like typing a customer name and finding that customer), it would be a “slam dunk.”
MCP Support
Microsoft has indicated they will support MCP (Model Context Protocol), though at the time of recording, Erik hadn’t found any detailed documentation or videos from Microsoft on the implementation. This is worth watching as it develops.
Notable Non-Development Highlights
Country and Region
The ability to install the UK localization as an extension to the base app is particularly interesting for companies (like those in Canada) that have UK subsidiary companies and need UK tax functionality.
Governance and Administration
Migrate record links and notes with cloud migration tooling — Erik calls this “huge.” Previously, every upgrade from on-premises to the cloud required a custom app to handle links and notes migration. Now it’s built into the standard tooling.
Reporting and Data Analysis
The Word add-in for report layouts is getting a new task pane that streamlines inserting data items and repeaters, with a tree structure for navigation and improved captions and metadata tooltips. This replaces the cumbersome XML pane approach. Erik raises the question of whether this Word add-in works on Mac, since the XML pane was never available in the Mac version of Word.
User Experience
The concealed text field type for sensitive data is covered in more detail in the development section. Also notable: Microsoft is allowing users to resize Copilot help panels and scripting panes, acknowledging that new features sometimes consume too much screen real estate at the expense of day-to-day functionality.
Development Features Deep Dive
Cancel Build and Publish from VS Code
A long-awaited quality-of-life improvement: you can now properly cancel a build or publish operation from Visual Studio Code. Previously, if a publish hung, killing it could lead to resource conflicts and confusing error messages on the next attempt. Now, hitting cancel sends a proper cancellation message to the server — a clean abort rather than a forced kill.
Hide Copilot Summary FactBox
The AI summary box automatically appears in the prime real estate of the upper-right corner FactBox pane. If it doesn’t make sense for your page, you can now remove it — but the approach is a bit unusual. Microsoft introduces a new system part of type Summary that can be controlled on card, document, and list plus pages.
The quirk: on new pages, you have to add the FactBox to the page in order to remove it. On page extensions, you can delete it. Erik describes this as “negative code” — writing code to remove things that were added automatically, similar to exclude permission sets. He argues it would be more transparent if developers could simply use properties to opt in to notes, links, attachments, summaries, and other system parts.
Record.Truncate
A powerful new function on the Record data type: Truncate. Named after the SQL command, it empties a table in the fastest possible way — not by deleting records one by one, but by truncating the entire table. For staging tables with millions of records, this takes milliseconds instead of minutes.
However, there are important caveats:
- The method has parameters to check whether the table supports truncating and to control auto-increment field behavior.
- If used with filters, the platform copies matching data to a temporary table and moves it back after truncation — only use filters when deleting significant numbers of rows.
- Does not support tables with OnDelete triggers or event subscriptions. The recommended pattern is:
if not Truncate then DeleteAll. - Cannot be used on tables with Media or MediaSet fields (e.g., you can’t truncate the Customer table because it has a picture field).
- Cannot be used inside a try function — database operations inside try functions is a nuanced topic in its own right.
- Filters on flow fields are evaluated client-side, not in SQL, so they won’t work as expected.
- Requires delete permissions.
SQL Call Information in Performance Profiler
The performance profiler now shows SQL call information, allowing you to see exactly what database calls were made during execution. Erik notes the one thing still missing: if an error occurs, having the exception information recorded in the profile would be extremely helpful for diagnosing issues sent by users.
Extended Data Type: Document Value
The ExtendedDataType property for Media and MediaSet fields now supports a Document value on pages. This allows the client to render elements like PDF documents as portrait images in FactBoxes. However, it currently only works on ListPart and CardPart page types — not on regular card pages — because that’s what Microsoft needed for their own functionality. Erik characterizes this as a “minimum viable product” version of the feature.
MaskType Property: Concealed Fields
A new MaskType property on page fields introduces the Concealed value. Unlike the existing masked/password extended data type (which shows asterisks permanently), concealed fields show asterisks but include an eye icon that lets the user click to reveal the value. The intended use case is for data like phone numbers or social security numbers — information you want protected from shoulder surfing but that authorized users may occasionally need to see. Note: there’s currently no permission-based control over who can click to reveal the value.
AL Tool Compilation
The AL Tool (altool.exe) — the pipeline helper utility — can now compile AL projects. You no longer need to install the compiler as a VS Code extension for build pipelines; you can use the AL Tool which exists as a NuGet package. It can also get the package manifest, create simple packages, and get the latest supported runtime version. Erik notes the missing piece is the ability to create runtime packages, and wishes the tool were a DLL rather than an EXE for better integration scenarios.
RecordRef.GetFieldByName
A new method on RecordRef allows you to retrieve a field reference by its name rather than only by field number. This is a welcome addition for dynamic programming scenarios.
Editable Fields in Page Customizations
Fields defined in page customization objects can now be made editable. Previously, such fields were always read-only (unlike fields declared in pages or page extensions). Developers can also use the AllowCustomization property to prevent specific fields from being modified through customizations.
New Business Central VS Code Theme
Microsoft has introduced new color themes for Visual Studio Code: Business Central Dark and Business Central Light, with the Business Central teal as an accent color. Erik demonstrates switching between them but admits he might stick with Dracula.
AL Doc Improvements
The AL documentation tool (AL Doc) now supports namespaces and the latest version of DocFX, resolving previous version compatibility issues.
Test Isolation Property
A new RequiredTestIsolation property on test codeunits allows engineers to specify the required test isolation level. If the selected test runner doesn’t satisfy the codeunit’s required isolation, the test will fail — providing better control over test execution environments.
Semantic Highlighting Improvements
The AL editor now provides improved semantic highlighting, showing defined symbols with proper visual distinction — bringing it more in line with other modern development tools.
Source Code Reference
The video includes a sample AL project demonstrating some BC26-era features. Here’s the page extension and sample page from the project:
namespace DefaultPublisher.WhatsNewInBC26;
using Microsoft.Sales.Customer;
using System.Integration;
using Microsoft.Bank.Statement;
pageextension 50100 CustomerListExt extends "Customer List"
{
actions
{
addfirst(processing)
{
action("Open the bank Statement here Sheryl!")
{
RunObject = page "Bank Account Statement";
ApplicationArea = all;
}
}
}
trigger OnOpenPage();
var
s: Text;
d: Decimal;
l: Label 'Hello YouTube';
da: Date;
dt: DateTime;
begin
s := 'INVOICE1000';
s := l.
d := 123.456;
da := today();
dt := CurrentDateTime();
Message('%1 vs %2', d.ToText(), dt.ToText(true), format(dt, 0, 9));
end;
}
page 50100 "test"
{
PageType = UserControlHost;
layout
{
area(Content)
{
usercontrol(web; WebPageViewer)
{
trigger ControlAddInReady(CallbackUrl: Text)
begin
this.CurrPage.web.Navigate('https://www.hougaard.com');
end;
}
}
}
}
And the corresponding app.json targeting BC26 with runtime 15.0:
{
"id": "a200c67e-58ec-4b14-84c9-4f3a621ca557",
"name": "WhatsNewInBC26",
"publisher": "Default Publisher",
"version": "1.0.0.0",
"platform": "1.0.0.0",
"application": "26.0.0.0",
"idRanges": [
{
"from": 50100,
"to": 50149
}
],
"runtime": "15.0",
"features": [
"NoImplicitWith"
]
}
Note: To target BC27, you would update the application version to "27.0.0.0" and the runtime to "16.0". Remember the version translation: BC version minus 11 equals the AL/runtime version.
Summary
Business Central 2025 Wave 2 (BC27 / AL 16) continues the platform’s steady evolution. The highlights for developers include:
- Record.Truncate for lightning-fast table clearing (with important limitations to understand)
- Cancel build/publish for a better VS Code development experience
- AL Tool compilation enabling pipeline builds without the VS Code extension
- Semantic Tell Me search that understands intent, not just keywords
- MaskType concealed fields for protecting sensitive data with reveal-on-click
- SQL call visibility in the performance profiler
- Summary FactBox control to hide Copilot summaries where they don’t belong
- RecordRef.GetFieldByName for more flexible dynamic programming
- Editable page customization fields with developer override control
Don’t forget to check Feature Management — auto-enabled features like “only calculate visible flow fields” and “autosave with every field change” could have significant impacts on existing customizations. And remember: not all Wave 2 features ship on day one. Keep an eye on minor updates through April 2026 for the complete picture.