2026
Setting RunTrigger to false on Insert, Modify, or DeleteAll doesn't just skip your own logic — it skips everyone else's subscribed to that table too. That's why running every trigger has to be the default, and why the real fix for the performance cost isn't a developer's judgment call at all: it's the platform checking, per execution, whether there's any code to run in the first place.
AL Runner shipped ~85 PRs closing correctness gaps and hardening the pipeline, bc-code-atlas's global_id now lets a self-hosted instance bridge into the public one to follow calls into Microsoft's base app, the AL Language Tests suite grew by answering AL Runner's own open questions, and the Linux fast lane got a week of real-world hardening.
The web client now works — click-through Business Central development, not just API calls, on Linux or Mac with one command. Plus cold boot down from 209s to 79s, a real production test run at 1,067 tests in 69 seconds, and BC 29 support.
If your unit tests don't touch the base application, you shouldn't have to carry it. Sub-extensions make that possible — and the performance difference is not subtle.
Fixing silent failures in the BC Code History pipeline, then cutting daily runs from 4–5 hours to under 90 minutes with partial ZIP downloads via HTTP Range requests.
Compare all four Business Central background processing tools — Page Background Tasks, StartSession, TaskScheduler, Job Queue — and learn when to use each
2025
A deep dive into all index types available in Business Central — clustered, non-clustered, covering indexes, SIFT views, and columnstore (NCCI) — with benchmarks and real-world deadlock examples from our BC TechDays 2025 session.
Adding configurable Azure Application Insights telemetry and a clean alert card page to BusinessCentral.Sentinel — open-source BC environment monitoring.
2024
Build BusinessCentral.Sentinel live — a free AppSource app detecting DEV extensions, missing source access, SUPER users, and number series locking issues.
Deep dive into how AL table keys translate to SQL indexes — real query plans, SIFT views, IncludedFields, write cost benchmarks, and Database.AlterKey.
Stefan Maroń and Christian Hovenbitzer argue at BC TechDays 2024 that Validate() should be the default in AL — not the exception — covering performance myths, chained validates, temp table pitfalls, and the cases where assignment is actually fine.
2023
When to use API Queries vs API Pages vs OData Bound Actions in Business Central — a practical approach to building readable, testable, and performant
2021
How overusing RecordRef and FieldRef in Business Central caused a 650% performance regression on sales header modifications — and why interfaces fixed it
Save nearly 3 minutes per BC container build by pre-baking test libraries into your Docker image with New-BcImage and -includeTestToolkit — one simple
Avoid unnecessary computation on hidden page fields in Business Central: use inline expressions instead of DataSet variables so code only runs when the
2020
Benchmark results and SQL query analysis comparing FindSet vs FindFirst in Business Central AL — the differences are not what most developers expect.
How to use the Business Central Task Scheduler to queue background work across server instances, including Docker setup and scheduling tips.
Step-by-step guide to using StartSession in Business Central AL to run codeunits in the background and improve user session performance.
Learn how asynchronous development and background tasks work in Business Central — from Page Background Tasks to Start Session and Task Scheduler patterns.
AL TextBuilder vs string concatenation benchmarks — why += causes exponential slowdowns and how TextBuilder handles 10 million appends in just 6 seconds.