diff --git a/docs/conf.py b/docs/conf.py
index 47e5eb7..d695a9a 100755
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -5,7 +5,7 @@
 # autodoc needs this to find the code
 sys.path.insert(0, os.path.abspath("../"))
 
-extensions = ["sphinx.ext.autodoc", "sphinx.ext.viewcode", "numpydoc"]
+extensions = ["sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx.ext.viewcode", "numpydoc"]
 
 # don't alphabetically order
 autodoc_member_order = "bysource"
@@ -21,3 +21,7 @@
 
 # RMR c library is not available in ReadTheDocs
 autodoc_mock_imports = ['ricxappframe.rmr.rmrclib']
+
+# Supports links to RMR man pages
+branch = 'latest'
+intersphinx_mapping['ric-plt-lib-rmr'] = ('https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-lib-rmr/en/%s' % branch, None)
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index bced3fb..e3767bc 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -3,7 +3,7 @@
 .. Copyright (C) 2020 AT&T Intellectual Property
 
 Release Notes
-===============
+=============
 
 All notable changes to this project will be documented in this file.
 
@@ -14,77 +14,107 @@
    :depth: 3
    :local:
 
-[1.0.0] - 4/6/2020
--------------------
-::
+[1.0.1] - 2020-04-10
+--------------------
 
-    * Python rmr has been moved into this repo. The module name has NOT changed in order to make the transition for repos very easy. The only transition needed should be prefixing rmr with ricxappframe in import statements, and to include this rather than rmr in setup.
+* Publish API documentation using Sphinx autodoc, which required
+  changes so Sphinx can run when the RMR .so file is not available,
+  such as during a ReadTheDocs build.
+* Create new subpackage rmr/rmrclib with the C library loaded via
+  ctypes.
+* Extend sphinx configuration to mock the new rmrclib subpackage
+* Add method to get constants from RMR library and detect mock
+  objects to work around a bug in Sphinx 3.0.0.
+* Split test files into test_rmr and test_rmrclib.
+* Add function to define argtype and restype values for library functions
+* Configure intersphinx link for RMR man pages at ReadTheDocs.io
+
+
+[1.0.0] - 4/6/2020
+------------------
+
+* Python rmr has been moved into this repo. The module name has NOT
+  changed in order to make the transition for repos very easy. The
+  only transition needed should be prefixing rmr with ricxappframe in
+  import statements, and to include this rather than rmr in setup.
 
 
 [0.7.0] - 4/2/2020
--------------------
-::
+------------------
 
-    * RMRXapps by default now implement the rmr healthcheck probe; users can also override it with a more complex handler if they wish
-    * Fix a bug in the unit tests where a payload mismatch wouldn't actually fail the test (would now)
+* RMRXapps by default now implement the rmr healthcheck probe;
+  users can also override it with a more complex handler if they
+  wish
+* Fix a bug in the unit tests where a payload mismatch wouldn't
+  actually fail the test (would now)
 
 
 [0.6.0] - 3/23/2020
 -------------------
-::
 
-    * Switch to SI95 for rmr
+* Switch to SI95 for rmr
 
 
 
 [0.5.0] - 3/18/2020
 -------------------
-::
 
-    * All xapps (via the base class) now have a logger attribute that can be invoked to provide mdc logging. It is a passthrough to the RIC mdc logger for python (untouched, no value in an API on top at the current time).
+* All xapps (via the base class) now have a logger attribute that can
+  be invoked to provide mdc logging. It is a passthrough to the RIC
+  mdc logger for python (untouched, no value in an API on top at the
+  current time).
 
 
 [0.4.1] - 3/17/2020
 -------------------
-::
 
-    * Switch tox to use py38
-    * switch to latest builders
+* Switch tox to use py38
+* switch to latest builders
 
 
 [0.4.0] - 3/13/2020
 -------------------
-::
 
-    * minor breaking change; switches the default behavior RE threading for RMRXapps. The default is not to return execution, but the caller (in `run`) can choose to loop in a thread.
-    * Add Dockerized examples
+* Minor breaking change; switches the default behavior RE
+  threading for RMRXapps. The default is not to return execution,
+  but the caller (in `run`) can choose to loop in a thread.
+* Add Dockerized examples
 
 
 [0.3.0] - 3/10/2020
 -------------------
-::
 
-    * Large change to the "feel" of this framework: rather than subclass instantiation, xapps now use initialization and registration functions to register handlers
-    * rmr xapps can now register handlers for specific message types (and they must prodive a default callback); if the user does this then "message to function routing" is now handled by the framework itself
-    * RMRXapp now runs the polling loop in a thread, and returns execution back to the caller. The user is then free to loop, or do nothing, and call stop() when they want.
-    * Raises tox coverage minimum to 70 from 50 (currently at 86)
+* Large change to the "feel" of this framework: rather than subclass
+  instantiation, xapps now use initialization and registration
+  functions to register handlers
+* rmr xapps can now register handlers for specific message types (and
+  they must prodive a default callback); if the user does this then
+  "message to function routing" is now handled by the framework itself
+* RMRXapp now runs the polling loop in a thread, and returns execution
+  back to the caller. The user is then free to loop, or do nothing,
+  and call stop() when they want.
+* Raises tox coverage minimum to 70 from 50 (currently at 86)
 
 [0.2.0] - 3/3/2020
--------------------
-::
+------------------
 
-    * now allows for RMRXapps to call code before entering the infinite loop
-    * stop is now called before throwing NotImplemented in the case where the client fails to provide a must have callback; this ensures there is no dangling rmr thread
-    * stop now calls rmr_close to correctly free up any port(s)
-    * (breaking) renames `loop` to `entrypoint` since the function does not have to contain a loop (though it most likely does)
-    * Changes wording around the two types of xapps (docs only)
-    * Uses a new version of rmr python that crashes when the rmr mrc fails to init, which prevents an xapp trying to use an unusable rmr
-    * more unit test code coverage
-    * Adds more fields to setup like long_desc and classifiers so the pypi page looks nicer
-    * Removes a bad release file (will be added back in subseq. commit)
+* now allows for RMRXapps to call code before entering the infinite
+  loop
+* stop is now called before throwing NotImplemented in the case where
+  the client fails to provide a must have callback; this ensures there
+  is no dangling rmr thread
+* stop now calls rmr_close to correctly free up any port(s)
+* (breaking) renames `loop` to `entrypoint` since the function does
+  not have to contain a loop (though it most likely does)
+* Changes wording around the two types of xapps (docs only)
+* Uses a new version of rmr python that crashes when the rmr mrc fails
+  to init, which prevents an xapp trying to use an unusable rmr
+* more unit test code coverage
+* Adds more fields to setup like long_desc and classifiers so the pypi
+  page looks nicer
+* Removes a bad release file (will be added back in subseq. commit)
 
 [0.1.0] - 2/27/2020
 -------------------
-::
 
-    * Initial commit
+* Initial commit
diff --git a/docs/rmr_api.rst b/docs/rmr_api.rst
index a33d6a1..a7f0362 100644
--- a/docs/rmr_api.rst
+++ b/docs/rmr_api.rst
@@ -4,13 +4,17 @@
 Overview
 --------
 
-The xapp python framework repository includes a python submodule
-called `rmr`.  This package (`ricxappframe.rmr`) is a CTYPES wrapper
+The xapp python framework package includes a python subpackage called
+`rmr`.  This subpackage (`ricxappframe.rmr`) is a CTYPES wrapper
 around the RMR shared library.  Most Xapp users will never use this
-package natively; however python apps that need access to the low
-level RMR API can use this package.  Usage of this python package
-requires that you have the RMR shared-object library installed.
+subpackage natively; however python apps that need access to the
+low-level RMR API can use it.
 
+Usage of this python package requires that the RMR shared-object
+library is installed in a system library that is included in the
+directories found by default, usually something like /usr/local/lib.
+
+The RMR library man pages are available here: :doc:`RMR Man Pages <ric-plt-lib-rmr:index>`
 
 RMR API
 -------
