Announcing Kill Bill release 0.20

Announcing Kill Bill release 0.20

We are very pleased to announce the new Kill Bill 0.20.x release train (current version at the time of this blog is 0.20.1).

This has been a long cycle and a lot has happened since our 0.18.x release. If anything, comparing the picture we posted when we released 0.18.0 a year and a half ago, we can see that the Salesforce tower has now been completed. So, what kind of tower have we completed on our end?

This blog post will surface some of the main things we (and the community) have achieved during this time.

Kill Bill Core

On the Kill Bill core side, our release notes go into some amount of details about the main changes. A lot of those changes have been driven by real customer uses cases, to provide more control on how the system behaves. In fact, this release is not adding a whole lot of new features per say, but instead, is focused on extending and refining what we already offer with the intent to address each and every possible use cases.

After 7 years of development, Kill Bill already provides a lot of features, and one of the main reasons for users to choose Kill Bill – besides the fact that it is open-source and free to use — is the ability to configure a system that will address one’s specific needs. In this release, we have made some modifications on the catalog for finer control through a plugin API, provided additional configuration hooks on the invoice level to refine invoicing behavior, and enhanced our payment control plugin API for more control. And of course, we have addressed most of the bugs reported.

KAUI (Admin UI)

KAUI, our administrative UI, has mutated from being a customer support tool, to being a tool the whole organization can use — our RBAC features are in place to ensure different folks from different organizations end up with different roles/permissions. KAUI has a lot of new screens that can also be used by developers, operation teams, finance teams and product managers.

For example, creating a quick scenario for an engineer working on a new feature or for a PM to verify the behavior of the system is becoming super convenient:

  • Tenant creation and configuration — incl. creating a catalog, configuring plugins is just a few clicks away
  • Creation of new customer Account, Subscription, Invoice, … has been enhanced with more features
  • Ability to control the clock can also be controlled from the UI, and new screens are in place to list all pending events/notifications

Documentation, APIs and Client Generation

A large amount of our efforts has ben devoted to enhance our documentation. We have revamped our main documentation site , and have already received some very positive feedback. A large amount of this work was driven by the questions we had on the mailing list, and those have forced us to redefine the lifecycle from typical developers and PMs:  Getting started, POC, full on development, productization. We have enhanced our manuals, reworked our tutorials, and finally provided an API documentation to document our large number of endpoints (~250).

A prelude to documenting our API was to first work on these APIs, to provide consistency across calls and make sure we are not missing any important functionality. A corollary of working on our API is the conformity with the Swagger spec., which in turn has allowed us to start generating our client libraries. You can read more about this initiative in this blog post.

In the spirit of keeping this update short, we are leaving aside a lot of additional pieces, from all the various plugins that have ported to work on 0.20.x, our Ansible based deployment tools and Docker images, the cloud support, platform improvements, …

Finally, we want to thank all the contributors to this project, and mostly the folks from Google Cloud, who submitted a brand new go client and a great go-based command line tool to interact with Kill Bill.

Please report any issues on the mailing list.

Enjoy the release!

Leave a Reply