Product changes

Dennis de Boer

Breaking change for custom Next Generation Action steps

Your effort is required in order to keep using your Next Generation Actions without problems after September 5th.

On May 13th we communicated that all custom-made Action steps in the Next Generation Actions will be ‘versioned’ and thus provided with a version number. The benefit of versioning is that steps can be updated and functionality can be added, without breaking actions using existing (older) versions. Different versions of the same step can exist in an Action or an App.

The addition of a version number requires all developers of custom steps to update their code, as mentioned in the article https://blog.bettyblocks.com/product-changes/release-versioning-for-new-generation-actions

The requirement to update the code hasn’t been enforced strictly yet. Even when the code was not updated, actions using custom build steps would still be operational. However, as we are updating our entire Action environment, we need to enforce this update to increase stability and consistency.

As of September 5th, all Actions that use custom steps that have not been updated to have a version number will break compilation of your app. Changes in other actions of your app will not compile unless your custom steps are updated to use versioning.Publishing of new functions is also not possible anymore.

It is vital that the custom actions will be updated as stated in the original article.

  1. Update your CLI

$ npm update -g @betty-blocks/cli

  1. Update your functions with a version number

bb functions autoversion

  1. Publish your functions using the new version

bb functions publish

By performing these commands, your custom action steps are moved to a new subfolder with a version number. Now you can benefit from versioning your own custom steps as described here https://github.com/bettyblocks/cli/wiki/Functions:CLI#bb-functions-bump

Be aware that you need to do this for every app which uses custom action steps, individually.

NB: If you use relative imports in your functions you should update those import lines manually.

For example: import { fetchRecord } from '../utils'; should be updated to import { fetchRecord } from '../../utils';

If you have any questions, please don't hesitate to reach out. We are more than happy to help and make this change go as smoothly as possible.

Important: This article only applies to Next Generation actions. Not Custom Functions.

Subscribe to product changes