<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AL-Go on Stefan Maron | Business Central &amp; AL Development</title><link>https://stefanmaron.com/tags/al-go/</link><description>Recent content in AL-Go on Stefan Maron | Business Central &amp; AL Development</description><generator>Hugo -- gohugo.io</generator><language/><lastBuildDate>Fri, 28 Aug 2026 09:30:00 +0200</lastBuildDate><atom:link href="https://stefanmaron.com/tags/al-go/index.xml" rel="self" type="application/rss+xml"/><item><title>Weekly Recap: August 21-28</title><link>https://stefanmaron.com/posts/weekly-recap-2026-08-28/</link><pubDate>Fri, 28 Aug 2026 09:30:00 +0200</pubDate><guid>https://stefanmaron.com/posts/weekly-recap-2026-08-28/</guid><description>The feature side of AL Runner&amp;rsquo;s week — real Cronus data via --test-data, breakpoint debugging back via --dap, per-test coverage for mutation testing — is already its own post . This recap covers everything else that shipped in the same window: a CI incident and its fix in AL Runner, two real-world bugs in the Linux fast lane, a first update in two years for a browser extension, and a contribution to a project I don&amp;rsquo;t maintain.</description></item><item><title>Weekly Recap: August 14-21</title><link>https://stefanmaron.com/posts/weekly-recap-2026-08-21/</link><pubDate>Fri, 21 Aug 2026 09:30:00 +0200</pubDate><guid>https://stefanmaron.com/posts/weekly-recap-2026-08-21/</guid><description>Two posts went out on their own this week: I Can Turn Off My Code. I Can&amp;rsquo;t Turn Off Yours. on the 18th, making the case that whether a trigger needs to run shouldn&amp;rsquo;t be a compile-time guess when the platform can answer that question itself at runtime, and AL Runner v2.2 and v2.3 on the 20th, covering coverage reporting, inline execute, and a watch mode that stopped lying to you mid-save.</description></item><item><title>Weekly Recap: August 7-14</title><link>https://stefanmaron.com/posts/weekly-recap-2026-08-14/</link><pubDate>Fri, 14 Aug 2026 09:30:00 +0200</pubDate><guid>https://stefanmaron.com/posts/weekly-recap-2026-08-14/</guid><description>Last Monday I published three posts at once — AL Runner v2 , BC on Linux and the AL-Go fast lane , and the bc-code-atlas intro . None of that stopped the week it was published. Here&amp;rsquo;s what happened across those repos (and a couple of new ones) since then.
The AL Runner: closing correctness gaps and hardening the pipeline Since the v2 cutover post , the runner shipped roughly 85 merged PRs in four days, most of them small, targeted fixes to places where the emulator&amp;rsquo;s behavior diverged from real BC.</description></item><item><title>BC on Linux: A Working Web Client, Faster Boots, Local Dev on Mac and Linux, and a Fast Lane in AL-Go</title><link>https://stefanmaron.com/posts/bc-linux-boot-time-and-al-go-fast-lane/</link><pubDate>Mon, 10 Aug 2026 07:00:00 +0200</pubDate><guid>https://stefanmaron.com/posts/bc-linux-boot-time-and-al-go-fast-lane/</guid><description>Last time I wrote about running BC on Linux , the improvement was skipping the base app entirely for tests that don&amp;rsquo;t need it. That&amp;rsquo;s still true, but it only helps if your tests are genuinely isolated from the base app — most aren&amp;rsquo;t. Since then the project has moved well past that one trick, and I haven&amp;rsquo;t written about most of it. Here&amp;rsquo;s what&amp;rsquo;s actually there now — and the biggest thing I haven&amp;rsquo;t mentioned yet is that the web client actually works, which changes what this project is for.</description></item><item><title>You don't need the base app to run your unit tests</title><link>https://stefanmaron.com/posts/unittestswithoutbaseapp/</link><pubDate>Mon, 25 May 2026 00:00:00 +0200</pubDate><guid>https://stefanmaron.com/posts/unittestswithoutbaseapp/</guid><description>Here is a habit most BC developers have never questioned: we test everything together. One extension. One container. Full application stack. Every time. It works. So nobody asks whether it needs to be this way.
The problem with carrying dead weight I was working on a project recently that needed to run unit tests against Business Central. The logic being tested had nothing to do with the base application — no posting routines, no document handling, no Microsoft first-party business logic of any kind.</description></item><item><title>How to Set Up a New Business Central Development Project – The 100% Correct Way</title><link>https://stefanmaron.com/posts/how-to-set-up-a-new-business-central-development-project/</link><pubDate>Thu, 05 Jun 2025 07:32:18 +0200</pubDate><guid>https://stefanmaron.com/posts/how-to-set-up-a-new-business-central-development-project/</guid><description>How to Set Up a New Development Project/App — The 100% Correct Way The foundation of any good Business Central app is the way it&amp;rsquo;s set up. That might sound obvious, but it&amp;rsquo;s also one of the most overlooked steps in AL development.
Too often, projects start with a quick AL: Go! command and get to writing objects immediately — skipping over critical setup tasks that ensure long-term maintainability, CI/CD readiness, testability, and AppSource compatibility.</description></item><item><title>Continuing the NuGet Installer - BC Coding Stream</title><link>https://stefanmaron.com/posts/nuget-installer-bc-coding-stream-2/</link><pubDate>Sat, 05 Oct 2024 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/nuget-installer-bc-coding-stream-2/</guid><description>This stream picked up where the previous one left off: building a Business Central extension that can browse NuGet feeds, pull down .app packages, and install them directly from within BC. My brother Christian joined for a pair-programming session — first time doing a dual-stream — so there was a lot of live code review and back-and-forth alongside the actual development.
You can watch the full stream on YouTube if you want the unfiltered version.</description></item><item><title>Creating a NuGet Installer Extension for Business Central</title><link>https://stefanmaron.com/posts/nuget-installer-extension-bc/</link><pubDate>Fri, 04 Oct 2024 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/nuget-installer-extension-bc/</guid><description>AL-Go has been gaining NuGet support for a while — you can now publish BC apps to a NuGet feed as part of your pipeline. In this stream I took that one step further and asked: can we pull apps back from a NuGet feed and install them directly into a BC environment, from inside BC itself?
The short answer: yes, it works. Here&amp;rsquo;s how I built the proof of concept.</description></item><item><title>Basic Repo Setup with AL-Go</title><link>https://stefanmaron.com/posts/basic-repo-setup-with-al-go/</link><pubDate>Thu, 15 Aug 2024 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/basic-repo-setup-with-al-go/</guid><description>Every new Business Central project starts with the same question: how do I get from zero to a working CI/CD pipeline without wasting a day on config? This stream walks through the entire setup — from clicking &amp;ldquo;Use this template&amp;rdquo; on GitHub all the way to running a release and deploying to an environment.
The full stream is on YouTube if you want to follow along in real time.
Choosing your AL-Go template I use AL-Go for all my projects.</description></item><item><title>FilterPageBuilder.GetView, Language Bugs, and Adding Spare Brained Licensing</title><link>https://stefanmaron.com/posts/filterpagebuilder-getview-language-bug-spare-brained-licensing/</link><pubDate>Sun, 26 May 2024 09:00:00 +0100</pubDate><guid>https://stefanmaron.com/posts/filterpagebuilder-getview-language-bug-spare-brained-licensing/</guid><description>Two things on the agenda for this stream: fixing a subtle language-related bug in how I use FilterPageBuilder.GetView, and starting to integrate Spare Brained Licensing into my Automatic Write-Offs app. The full stream is on YouTube if you want the unfiltered version.
The GetView Language Bug Someone pointed out in a comment on a previous video that the filter views I store in the database can break if a user switches language.</description></item><item><title>Running Windows 11 on a Debian Host</title><link>https://stefanmaron.com/posts/running_windows_11_debian_host/</link><pubDate>Tue, 19 Mar 2024 08:24:52 +0100</pubDate><guid>https://stefanmaron.com/posts/running_windows_11_debian_host/</guid><description>Navigating the Build Agent Dilemma for Business Central Developers working with Business Central are familiar with a common problem: the reliance on Windows for build agents. This dependency has been highlighted recently with Microsoft&amp;rsquo;s decision to deprecate base images compatible with Windows 10. As a result, Windows 10 now requires containers to run in Hyper-V isolation, which has a noticeable impact on the speed of building pipelines.
My personal setup for a build agent consisted of older hardware components that were cost-effective and sufficient for my needs—until now.</description></item><item><title>Validate a commit before it is committed</title><link>https://stefanmaron.com/posts/validate-a-commit-before-it-is-committed/</link><pubDate>Thu, 10 Jun 2021 14:20:29 +0000</pubDate><guid>https://stefanmaron.com/posts/validate-a-commit-before-it-is-committed/</guid><description>Recently there was this question about how to do version numbering when working with AL Apps and automatic builds:
It started a discussion about when to update which part of the version number and how that is done. The discussion will be continued today (10th June 2021 9pm CEST) on Discord if you are interested to join/listen:
waldo on Twitter: &amp;ldquo;For whomever is interested - this Thursday, 9pm CEST, we&amp;rsquo;ll have a discussion on this topic (handling app versions) on the #msdyn365bc discord: https://t.</description></item></channel></rss>