Since Feathers is so modular a lot of the components that fall under this release have been out and used in production for months, already. However, because of this modularization there was also some confusion around what was available and ready for use. This release post is an attempt to bring some clarity to those of you that are new to Feathers and our friends that have been around for some time.

When we announced the Auk release, the intent was to give people insight into all the changes across all the modules on a regular basis and to group things logically so that we could do succinct release announcements. This has been easier said than done and as a result we have learned a ton about how best to release and maintain all these modules and accept new modules from the community.

Going forward we’re going to be shipping and announcing updates more frequently. In order to do this we’ve have come up with a process to determine the readiness of a module. This is what that looks like:

The module has been tested, tests are run through Travis CI, and have > 80% test code coverage

The repo is hooked up to Slack and CodeClimate

Any other dependent modules are updated, tested and documented

The module and its dependent modules have been released as a pre-release and tested in production by a small group of users

Modules have been properly documented

If all is good, we release it to main line NPM under the proper semantic version (we treat 0.x versions as subject to change) and tell you about it! 🎉

We’ve also decided that the code named releases (Buzzard is the next one) will only be for core modules — modules that, when they have breaking changes, impact many others:

We think that these changes are going to allow us to ship faster, while still maintaining high quality. So, with that out the way. Let me tell you what we did ship! 🚢