Featurevisor
See all posts

Featurevisor v2.0 is here!

By Fahad Heylaal on

Featurevisor v2.0 has arrived - now with improved reactivity for supporting instant realtime updates in your applications covering both frontend and backend use cases.

Existing v1 users of Featurevisor need not worry, because there is a very clear guide below for safely migrating to v2.0 incrementally.

What's new?

A bunch of new features have made it into v2.0, including:

Breaking changes

I pushed as hard as I could to improve Featurevisor without breaking anything since v1.0 stable was first released, but some improvements were just too big to fit in the previous architecture limited by the choices made in the past around data structures and APIs.

The breaking changes in v2.0 are kept to a minimum to make it easier for you to upgrade your existing projects, but they do require some changes in your codebase. It's because of them that we can now enjoy much faster evaluations and reactivity.

Notable breaking changes include:

Backwards compatibility

Feature management is critical for any organization, and it is understandable that you may be concerned about breaking changes.

That is why, the entire migration is designed to be incremental and fully backwards compatible for existing v1 users.

Migration guide

The migration process for v1 users can be broken down into two parts:

  • Upgrading to latest CLI in your existing Featurevisor project
  • Upgrading to latest SDKs in your applications

Once your existing Featurevisor project is migrated to v2.0, you can then move onto your applications for upgrading the SDKs in use at your own pace.

The full migration guide is available here with before/after comparisons.

More SDKs

The latest JavaScript SDK has become dependency free, which is universal and can be used in any JavaScript environment, including Node.js and browsers.

I built Featurevisor using GitHub Copilot from the very beginning, and now for v2.0 I rewrote the JavaScript SDK so that LLMs can understand it better. This opens up the possibility of creating more SDKs in other languages using AI tools with more ease.

Because of my experience with PHP in the past, I have already created a PHP SDK with all tests passing using Cursor AI, and I will share it with everyone after polishing it up a bit more.

I may do the same for few other languages depending on the time and interest I have in them, but I am keen on the requests coming from real users of Featurevisor.

Higher confidence because of test specs

It might raise concerns that (partially) AI generated SDKs may not be as reliable as manually written ones. But I must remind you: unlike any other feature management tools, Featurevisor has the concept of test specs which allows testing your own feature configurations against any SDKs from the CLI.

When new SDKs land, they are expected to also have their own test runners. This means you can write tests for your features in a Featurevisor project once, and run them against multiple SDKs to ensure they evaluate the same way everywhere.

No negotiations on quality and confidence here.

Join the project

If you are eager to join the project by building a new SDK, please get in touch.

Future plans

I believe v2.0 has wrapped things up very nicely. Besides new SDKs, I don't have any other major short-term plans for Featurevisor v2.x.

The improved architecture is now ready to support more advanced use cases, and I am eager to see how everyone uses it and builds more tools around it, while keeping the core of Featurevisor small and simple.

Like before, I will keep focusing on documentation and examples to help you get the most out of it.

Help spread the word

One of the best ways to help Featurevisor is to share it with your friends and colleagues. If you find it worthwhile, leave a star on GitHub so more people can discover it.

  • The more people engage with the project, the more contributions we can expect.
  • The more people come forward as existing users and adopters, the more confidence new users will have.

We can learn together and shape it to serve everyone's needs better this way, that I alone may not be able to do.

That's how Open Source wins.