====================
**Added:**
* Database clients now merge collections across databases so records across
public and private databases can be put together. This is in
``client.chained_db``.
* Blacklist for db files (eg. ``travis.yml``) the default (if no blacklist is
specified in the ``rc`` is to blacklist ``['.travis.yml', '.travis.yaml']``
* Schemas and exemplars for the collections.
Database entries are checked against the schema, making sure that all the
required fields are filled and the values are the same type(s) listed in the
schema. The schema also includes descriptions of the data to be included.
The exemplars are examples which have all the specified fields and are
used to check the validation.
* Docs auto generate for collections (if they were documented in the schema).
**Changed:**
* ``all_docs_from_collection`` use the ``chained_db`` to pull from all dbs at
once. This is a breaking API change for ``rc.client.all_documents``
* App now validates incoming data against schema
**Deprecated:**
* Mongo database support is being deprecated (no ``chained_db`` support)
**Fixed:**
* Properly implemented the classlist ``replace`` operation.
* Fixed issue with classlist insertions using Mongo-style API
(deprecated).
* Properly filter on course ids when emailing.
* ``fsclient`` dbs explicitly load 'utf-8' files, which fixes an issue on
Windows