Regularly releasing open-source software

As with client applications, I recommend releasing new versions of open-source software as often as possible.

This makes it easier for users to update to newer versions as they can easily see the changes, and less risky as it's easier to roll back or diagnose the problem if there is an issue.

If you've added a feature or fixed a bug, fewer people will likely use it if it's not within a released version of your project and sat on a development branch or waiting for a tagged release. This means they're not benefiting from the changes and getting value from them.

You can add feature flags to hide work-in-progress features that you don't want people to use yet, but you don't want to block yourself from releasing a new version until it's complete.

Regular releases encourage smaller and simpler changes rather than larger and more complex - and potentially breaking - changes.

I like to have a release day each month to release new versions of my open-source projects, which works well for me.

I have a recurring task on my To Do list to review my projects and tag and release any new versions that are needed.