---
layout: changelog
---
  Refactors the library to javascript, adds a lot of tests and restructures it to improve maintainability and extend functionality.
  
  * Creates two separate clients:
    - RTM; manages connection to Slack's RTM API, including reconnects
    - Web; provideas a callback interface to all of Slack's Web API endpoints
  * Moves the memory data store implementation off the clients and into its own class
  * Uncouples the model objects from the clients; model functions to send messages to channels etc are now accessed via the web and RTM client
  * Moves the transport layer (websockets and HTTP) to a pluggable model, so that complex transports (through request proxies etc) can be handled
  * Adds test coverage on most core functionality in the library