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.
Recent Posts
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.
An MCP server that gives an AI coding agent — or you — grounded access to the actual Business Central Base Application source, across versions and countries, with every result verified against the real file.
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.
v1 worked for the use cases it was built for. Companies actually using it told me that wasn't enough — most real extensions can't be unit tested at all without running against real Microsoft or ISV code. That feedback drove a clean v2 cut. It also changed how the runner fails: anything it can't support now throws loudly instead of quietly passing.