A lot of folks hate new versions. I understand that. New version of a piece of software comes along, and it’s buggy and it breaks your workflow. I hate that too.

The reason you are reading this is probably because there was a notification in AL Object ID Ninja that looked something like this:

So, what is really going on?

There was a breaking change in the back end

AL Object ID Ninja is two things:

  1. The Visual Studio Code extension that you are using every day to generate object IDs. The extension is not really generating object IDs, it’s calling a service that does that.
  2. An Azure serverless function app service that makes this possible. There are many endpoints in this function app, each responding to specific type of a call. For example, getting next object ID is one endpoint, authorizing your app is another, checking for updates is yet another.

For most of the time, updates to either of these two components are not affecting each other. I am doing my best to have updates to the back end not affect the front end, and the opposite way around. However, this time it was not possible.

The reason you saw this notification message is because your extension invoked an endpoint of the function app that has been through a breaking change and has been versioned up. Unfortunately, it was no longer possible to maintain backwards compatibility, and the old endpoint is now responding with HTTP status 410 Gone. When this happens, you must update AL Object ID Ninja extension.

What happens if I continue using the old version?

In short – whichever endpoint it was that you invoked and that responded with 410 Gone, will simply be unavailable to you from this moment on until you update the extension. The change that was done is simply incompatible with your old version and while it’s really sad, it was really not possible to keep them compatible.

So, if – for example – you invoked the getNext endpoint, and it responded with 410 Gone, then you won’t be able to assign new object IDs. If it was getLog, then you won’t be able to see any notifications about object IDs assigned by your colleagues working on the same Business Central app.

In short, keeping the old version of AL Object ID Ninja is pointless, and you must update it.

What should you do?

If your Visual Studio Code is configured to automatically update extensions, then you simply need to restart it. That will update the extension and you will be on the latest version that invokes latest versions of endpoints.

However, if your instance of Visual Studio Code is configured to not automatically update anything, then you must update AL Object ID Ninja manually.

Please follow this link to learn how to manually update an old version of an extension: https://code.visualstudio.com/docs/editor/extension-marketplace#_update-an-extension-manually