Release Summary for 4.0.0
  **We are very excited to announce we are preparing for Kazoo 4.0!!!**
  Kazoo 4.0 represents over 6 months of work to upgrade back-end components which improve performance, stability and pave the way for a better experience for everyone.
  We're in the process of crafting a more thorough announcement that lists all the features and major changes in 4.0. So stay tuned for that! With that in mind...we do want everyone to have a heads up as early as possible regarding some major changes that are coming. 
  **First, a general change for everyone.** Some of you are aware that our project used to be named Whistle. When we changed the name to Kazoo we didn't catch all the places in the code where it needed to be changed. We've now done a global replace and will be removing references to the original project name, 'whistle', and replacing it with 'kazoo'.  This applies to SUP commands, init.d/systemd scripts as well as Erlang modules. As a general rule you can simply replace 'whistle' with 'kazoo' in any commands, tools or custom code you may have.  
  **For Erlang developers**, if you have custom modules you've written and use, you'll want to note that some components you rely on may have moved and some code changes may be required for your module to work with version 4.0.  We've tried to keep those changes to a minimum. That said, if you have an open pull request that has not yet been accepted, you will need to rebase it to master now that 4.0 has been tagged.  To help you with this, we have provided a script that will perform the rename from 'whistle' to 'kazoo' on your code.  
  The script won't do everything, though - for example, some changes such as the new 'kazoo_number_manager' are not completely backward compatible with the old 'whistle_number_manager' interfaces.  If you utilized the core whistle_number_manager library, you'll need to do some additional development work will on your code base to utilize the new interfaces.  There is also a commonly used 'whistle_couch' library that is now called 'kazoo_data' - this one is backward compatible other than naming conventions. That said, new functionality exists in the kazoo_data library for you to take advantage of! Please check it out.
  We have worked hard to try to make only necessary changes with consideration for all community members who have created their own Erlang modifications.  If you have any questions or need help in this regard please let us know!
  **For integration developers (those using our APIs)**, we have worked very hard to ensure the Kazoo API remains backward compatible.  We were unable to keep everything compatible, however. Some minor modifications were required for the `vmboxes` APIs.  Version 1 of this API has non-trival code to keep backward compatibility with the `messages` array.  Because we've changed the fundamentals on how we store voicemails, any code you have utilizing the voicemail API on your side must also change. We strongly encourage you to use our existing `messages` API as it is far more efficient and less likely to cause unexpected behavior.  Additionally, version 2 of the `vmboxes` will no longer contain a `messages` array, requiring use of the `messages` API.  This helps scale the system and makes it easier to manage mailbox messages, but again, it will require changes to your code.  
  For those users that are consuming our beta version of the WebSockets module, please be aware that we have removed support for the socket.io protocol.  WebSockets requests and events are now simple JSON payloads. Continuing to support the new socket.io protocols was distracting us from our ability to enhance WebSocket functionality.
  **For system operators**, you should be aware that we eventually will be moving to Debian. *We are not moving to Debian at this time, it is a long-term goal.* That said, as we move to support and eventually recommend Debian, our overall packaging strategy has changed.  There are multiple changes here:
  1) To support both Debian and CentOS we have to package our modules twice. This is easier to do on a Debian system, but the current [repo.2600hz.com](repo.2600hz.com) server runs CentOS. We're going to leave that server as-is so v3.x users can keep doing their thing, but we will be setting up a new [packages.2600hz.com](packages.2600hz.com) repo where 4.0 RPMs and Debian packages will go. We will eventually phase out the repo.2600hz.com server (and probably re-point it to the new server), but for now, we'll have two servers while we maintain v3 and 4.0.
  2) Kazoo has always been designed to have independent whapps (or modules) that can be loaded, run and maintained. However, we've always packaged everything together. Going forward, to better utilize the modularity of the Kazoo system, applications will now be packaged individually. This is similar to our packaging of Monster UI.  That means there will be a kazoo-callflows, kazoo-crossbar, kazoo-core, and so on. This may require uninstalling the old Kazoo package so that you can install the new one. We'll be publishing new installation documents once we've finished all the logistics of the packaging subsystem.
  3) We have also applied the concept of individual packages to Kazoo configuration and prompts (by request of international customers and the community).  This helps ensure that related packages can be associated with appropriate versions to ensure updates match dependencies.
  4) To keep your life easy, we will be introducing a single package (a metapackage) which references all other components that would typically come with the old Kazoo install. So in reality, you'll be able to perform the same actions you always have, but the way it's structured that will change, so don't be surprised if you see more items being installed when you run similar commands as in the past.
  We understand that we are requesting additional work from all operators to update to 4.0 but we believe that the initial effort will be worth it for the improved availability, easier development, and more intuitive maintenance features.  We hope you'll agree!
  Please continue to watch [the announcements](https://github.com/2600hz/kazoo/blob/master/doc/announcements.md) for new links and answers to Frequently Asked Questions as 4.0 progresses to a stable release.  
  We wish to thank our customers and community members for supporting us over the years. We are committed to supporting you during this upgrade and we hope you're as excited as we are!
  -- The 2600Hz Core Team
 -- 2600Hz Offical <packages@2600hz.com>  Wed, 19 Oct 2016 06:05:23 PM +0000
