diff --git a/README.md b/README.md
index d72419ab..a0d43b0f 100644
--- a/README.md
+++ b/README.md
@@ -114,6 +114,15 @@ API Documentation
+### API Compatibility
+Even if we try our best not to, every once in a while we are forced to modify
+our API in a way that will break backwards compatibility. If you find yourself
+unable to compile code that was working fine before a library update, make sure
+you check the [API changes](docs/apichanges.md) section first.
+
+**NOTE** - Our **C++ header files** will change their extension from *.h* to
+*.hpp* in the upcoming version.
+
### Changelog
Version changelog [here](docs/changelog.md).
diff --git a/docs/apichanges.md b/docs/apichanges.md
new file mode 100644
index 00000000..1282a5c0
--- /dev/null
+++ b/docs/apichanges.md
@@ -0,0 +1,20 @@
+API Changes {#apichanges}
+===============
+
+**IMPORTANT NOTICE**
+
+Our **C++ header files** will change their extension from *.h* to *.hpp*. This
+change is anticipated in the upcoming version and unfortunately will break
+source compatibility with previous versions of UPM for every library. You will
+need to update your code and change to the new extension format in your
+`#include` directives.
+
+Here's a list of other API changes made to the library that break source/binary
+compatibility between releases:
+
+ * **my9221**, **groveledbar** and **grovecircularled** are now all part of the
+ same library (my9221) and new functionality was added going to v.0.5.1
+ * **stepmotor** driver API was changed significantly from v.0.4.1 to v.0.5.0
+ * **eboled** library was greatly improved in version 0.4.0 and the `draw()`
+ function was removed in favor of a more complete GFX library implementation
+
\ No newline at end of file