diff --git a/docs/releasenotes/2.0-beta-1.rst b/docs/releasenotes/2.0-beta-1.rst
new file mode 100644
index 0000000000000000000000000000000000000000..e57229b6510a7d21aad6392dc32504cd54a25091
--- /dev/null
+++ b/docs/releasenotes/2.0-beta-1.rst
@@ -0,0 +1,195 @@
+.. default-intersphinx:: django1.6 djblets2.0
+
+
+================================
+Djblets 2.0 Beta 1 Release Notes
+================================
+
+**Release date**: TBD
+
+This release contains all bug fixes and features found in Djblets version
+TBD.
+
+
+Installation
+============
+
+To install this release, run the following::
+
+    $ sudo pip install \
+        --trusted-host downloads.reviewboard.org \
+        -f http://downloads.reviewboard.org/releases/Djblets/2.0/ \
+        --pre -U Djblets
+
+Or::
+
+    $ sudo easy_install \
+        -f http://downloads.reviewboard.org/releases/Djblets/2.0/ \
+        -U Djblets
+
+We **do not** recommend upgrading a production server with this version of
+Djblets. This version is still in-development, and is not guaranteed to have
+API stability.
+
+
+Packaging/Compatibility
+=======================
+
+* Added experimental support for Python 3.5+.
+
+  With Python 2.7 end-of-life on the horizon, we've begun the work of porting
+  Djblets to Python 3. This release includes experimental support, but is
+  likely to include some bugs. Please report any issues you encounter.
+
+* Added experimental support for Django 1.11.
+
+* Updated JavaScript dependencies to more modern versions.
+
+  Djblets loads several JavaScript dependencies from CDNs, but was using
+  outdated versions. The included versions are now jQuery 3.3.1, jQuery UI
+  1.12.1, and Backbone 1.3.3.
+
+
+djblets.db
+==========
+
+* Added support for using :py:class:`~djblets.db.fields.json_fild.JSONField` as
+  a deferred attribute.
+
+  When a JSONField was deferred, it would be prone to unwanted queries when
+  running on Django 1.7+. The field is now aware of whether it's deferred, and
+  will delay normalizing the data.
+
+
+* Improved compatibility of :py:class:`~djblets.db.fields.json_fild.JSONField`
+  with newer versions of Django.
+
+
+djblets.forms
+=============
+
+* Added a new related-object selector widget for use in admin forms.
+
+  Django provides :py:class:`~django.forms.ModelChoiceField` and
+  :py:class:`~django.forms.ModelMultipleChoiceField` for selecting related
+  objects in a model form. Due to the way these interact with the database, the
+  default widget for these isn't suitable for related models which have lots of
+  data (for example, a relation to :py:class:`django.contrib.auth.models.User`
+  will be unmanageable when the system has thousands of users).
+
+  The new :py:class:`~djblets.forms.widgets.RelatedObjectWidget` provides a
+  user interface which can use API resources to provide search and autocomplete
+  for selecting relations. This must be subclassed for use with each specific
+  object type.
+
+  Patch by Storm Kaefer.
+
+
+djblets.http
+============
+
+This is a new module which contains utilities for working with HTTP requests
+and responses. At the moment, it contains
+:py:class:`~djblets.http.mmiddleware.AbsoluteURLRedirectMiddleware`, a Django
+middleware which changes all relative URL redirects to be absolute. This makes
+it easier to support Django versions before and after 1.9 with a single
+codebase.
+
+
+djblets.mail
+============
+
+* Improved string type compatibility for
+  :py:class:`~djblets.mail.message.EmailMessage`.
+
+  The EmailMessage class now allows both bytestrings and unicode strings, for
+  broader compatibility across versions of Python.
+
+
+djblets.registries
+==================
+
+* Added the ability to lazily import and construct registries.
+
+  Frequently registry instances are constructed in the ``__init__.py`` file of
+  a module, but this can interfere with Django's initialization process.
+  :py:func:`~djblets.registries.importer.lazy_import_registry` can now be used
+  to lazily instantiate and access a registry. This also improves application
+  startup time, since the work of creating the registry is delayed until it is
+  actually needed.
+
+
+djblets.util
+============
+
+* Added compatibility functions for Django and Python.
+
+  In order to facilitate running on multiple versions of Django and Python, new
+  compatibility shims were added in :py:mod:`djblets.util.compat`.
+
+* Added new ``{% querystring %}`` template tag for constructing links.
+
+  Djblets has historically provided a ``{% querystring_with %}`` template tag
+  for constructing links that include some query parameters (used for things
+  such as paginators). This wasn't terribly flexible, so we've added a new
+  version which can take an arbitrary number of parameters, ``{% querystring
+  “mode” "key1=value1" "key2=value2" %}``. The "mode" can be one of "remove",
+  "append", or "update".
+
+* Made ``json_dumps`` template filter always sort keys.
+
+  In order to provide consistent output (for example, in unit tests), the
+  ``json_dumps`` template filter will now always sort the output.
+
+
+djblets.webapi
+==============
+
+* Added a more formal concept of field types of API resources.
+
+  When defining fields for a resource's response, or fields accepted during a
+  request, we previously made use of some standard Python 2.7 primitives, such
+  as :py:class:`unicode`, :py:class:`file`, :py:class:`int`, and some special
+  values like a :py:class:`list` or :py:class:`tuple` containing possible
+  choices for a value.
+
+  These still work for backwards compatibility, but the recommended way now is
+  to use the field type classes defined in :py:mod:`djblets.webapi.fields`.
+  These new definitions are compatible with Python 3, and include extra
+  functionality such as validation and normalization of incoming data.
+
+* Added URI templates for resources provided by extensions.
+
+  The root API resource includes a list of URI templates for quick access to
+  nested resources, but until now it did not include templates for any
+  resources which were added by extensions (from the
+  :py:mod:`djblets.extensions` framework). These are now included in the
+  response.
+
+  Patch by Maram El-Salamouny.
+
+* Keys in JSON responses are now always sorted.
+
+* Switched default ETag generation to use JSON representation.
+
+  Previously, default ETags for API resources used an object's ``repr()``. This
+  was inconsistent across different Python versions, so ETags are now generated
+  using the JSON serialization of the API response.
+
+* Added original URL and mimetype information for expanded resources.
+
+  When performing an API request that expands linked resources, the data for
+  the expanded resources was missing some important information such as the
+  mimetypes. If the client needed this information, they would have to make
+  additional requests. These are now included in the response payload.
+
+
+Contributors
+============
+
+* Barret Rennie
+* Christian Hammond
+* David Trowbridge
+* Mandeep Singh
+* Maram El-Salamouny
+* Storm Kaefer
diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst
index eac0b5639c9f8988b74cac1e425324af9ee07f07..9d554535097dbe8ea22aa6e583072ba6fc828808 100644
--- a/docs/releasenotes/index.rst
+++ b/docs/releasenotes/index.rst
@@ -5,6 +5,15 @@ Djblets Release Notes
 =====================
 
 
+2.0 Releases (in-development)
+=============================
+
+.. toctree::
+   :maxdepth: 1
+
+   2.0-beta-1
+
+
 1.0 Releases
 ============
 
