Highlighting posts and resources from the Business Central development community — May 24–May 30, 2026
A heavy week for performance and AL tooling. Duilio Tacconi unpacks the new Index Management page in BC 28 with a full SQL DMV query and a seven-step recipe for deciding which indexes to disable, Stefan Maron shows how to run AL unit tests without the base app and shaves CI runs from 8–12 minutes to under 2, and Waldo announces Microsoft’s OptimAL partner performance initiative. On the feature and tooling side, Marcel Chabot covers BC 28.1’s new report layout lifecycle states, and Steve Endow shares a CLAUDE.md configuration to stop Claude Code from reaching for “load-bearing” and “ground truth” mid-review.
Recent Posts (May 24–30, 2026)
➡️ 1. Index Management with Dynamics 365 Business Central 2026 Wave 1
📇 Author: Duilio Tacconi
🗓️ Date: May 28, 2026
🌎 Link: duiliotacconi.com
📝 Summary: Duilio calls BC 28’s per-company Enable/Disable Index capability the single biggest performance win in this wave for SaaS. The post includes the underlying SQL query that populates the Index Management page (sys.indexes+sys.dm_db_index_usage_stats+sys.dm_db_partition_stats), explains how to readUser Seeks / Scans / Lookups / Updates, fragmentation %, and last-read dates, and flags the gotcha thatDatabase Start Timeresets the DMV counters — so check it before drawing conclusions. Closes with a seven-step recipe: skip tables under 1,000 records, require at least two weeks since last DB restart, then triage by reads vs. writes, last-read dates, and fragmentation. The “disable then re-enable” trick is a lightweight way to rebuild a fragmented index without scheduling a maintenance window.
➡️ 2. You Don’t Need the Base App to Run Your Unit Tests
📇 Author: Stefan Maron
🗓️ Date: May 25, 2026
🌎 Link: stefanmaron.com
📝 Summary: Stefan shows that AL unit tests for code that doesn’t actually depend on the base app should not be paying the base-app tax on every CI run. The pattern: structure the logic-under-test as a sub-extension with its ownapp.json(noapplicationdependency, only the platform), put the matching unit tests in a sibling sub-extension that depends only on the logic sub-extension, and compile each subfolder independently — the AL compiler treats the innerapp.jsonas the compilation root when invoked there. Deploy both to a BC container with no base app installed. In his BC-on-Linux pipeline (BC 27 and 28), full pipeline runs dropped from 8–12 minutes to under 2, and BC reaches healthy in 26 seconds instead of 4:19. AL-Go for GitHub doesn’t expose this today, but the platform has supported it for years.
➡️ 3. OptimAL — Performance Still Matters
📇 Author: Eric “Waldo” Wauters
🗓️ Date: May 28, 2026
🌎 Link: waldo.be
📝 Summary: Waldo introduces OptimAL, Microsoft’s now-public performance initiative for BC partners and ISVs — a structured program (delivered through Ciellos as Microsoft’s Dev Center) that baselines maturity, runs hands-on sessions on telemetry and AL anti-patterns, and works directly against partners’ real customer code. Waldo and Duilio Tacconi led sessions together; Waldo’s contribution is an Escape Room–style framework built around the AL anti-patterns that show up most often in real BC code. Reported partner outcomes include a 5+ hour batch job dropping under 20 minutes, a 93% page load improvement, and 2.4× faster warehouse pick creation. Cost: $12,900 USD; sign-up at aka.ms/Optimal.
➡️ 4. New Features for Report Lifecycle Management in Business Central 28.1
📇 Author: Marcel Chabot
🗓️ Date: May 29, 2026
🌎 Link: aardvarklabs.blog
📝 Summary: BC 28.1 adds a Layout Status to the Report Layouts page so you can iterate on a new layout without users seeing it. Marcel walks through all four states — Draft, Pending Approval, Approved, Retired — and confirms the visibility behavior on the request page: Draft and Pending Approval are runnable from the Report Layouts page only, Approved is what shows up to users, and Retired hides a layout you’ve replaced. Practical impact: you can finally test a new General Journal – Test layout against production data without exposing it to users, and “swap and retire” the previous layout in one motion when you’re ready to roll out.
➡️ 5. Improving the Terrible English Used by Claude Code
📇 Author: Steve Endow
🗓️ Date: May 27, 2026
🌎 Link: blog.steveendow.com
📝 Summary: Steve documents Claude Code’s habit of reaching for metaphors and jargon — load-bearing, ground truth, rung scaffold, first-class citizen, cast a wide net — that dilute precision when you’re actually trying to ship code, and shares the user-levelCLAUDE.mdrules he uses to override the default style. Two sections: a “use simple, clear, literal language” policy (replace scaffold with folder structure, bake in with include, cadence with schedule), and a 30+ row table mapping Claude’s habitual phrasing to direct alternatives (“Lift the selectors into helpers” → “Move the selectors into helper functions”; “Hoist node_modules up one level” → “Move node_modules up one folder level”). Useful starting point for any AL team standardizing how their AI assistants communicate code intent.
Community Resources
Official Resources
- Microsoft Learn: Business Central
- BC Release Plan
- BC Launch Event Videos
- OptimAL — Microsoft Performance Initiative
GitHub Repositories
- microsoft/BCApps – Repository for collaboration on Microsoft Dynamics 365 Business Central applications.
- microsoft/BCTech – Business Central technology samples.
- microsoft/ALAppExtensions – Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
- microsoft/AL – Home of the Dynamics 365 Business Central AL Language extension for Visual Studio Code.
- StefanMaron/MSDyn365BC.Code.History – Contains the Microsoft Business Central Code. Updated each month.
Follow on Social Media
- Twitter/X Hashtags: #MSDyn365BC | #BusinessCentral
Stay Connected
The Business Central AL development community stays active with valuable content on AL development, upgrades, integrations, and tooling improvements. Following #MSDyn365BC and #BusinessCentral on Twitter/X is a great way to catch new posts as they’re published.
Note: This review is compiled from publicly available blog posts and community resources. Links to external blog posts are provided for your information only and do not constitute endorsement or validation of their content. Publication information and availability are subject to change. Always verify information against official documentation for production use.



available.



