diff --git a/CHANGELOG.md b/CHANGELOG.md
index d64713c6656bc017b5dc910d690fec2be1753fde..5950cfa9cf167374eee0aa723072acde1fbb526e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@ Note that since we don't clearly distinguish between a public and private interf
 
 ## [Unreleased]
 
+## [v3.0.0-dev.4] - 2021-12-14
+
 - Add ``bumpiness`` (per-object and per-group), ``bumpFrequency`` & ``bumpAmplitude`` (per-object) render parameters (#299)
 - Change ``label`` representation defaults: Use text border instead of rectangle background
 - Add outline color option to renderer
@@ -14,6 +16,7 @@ Note that since we don't clearly distinguish between a public and private interf
     - If there are session files (.molx or .molj) among the dropped files, only the first session will be loaded
 - Add drag and drop overlay
 - Safari 15.1 - 15.3 WebGL 2 support workaround
+- [Breaking] Move ``react`` and ``react-dom`` to ``peerDependencies``. This might break some builds.
 
 ## [v3.0.0-dev.3] - 2021-12-4
 
diff --git a/package.json b/package.json
index 46e649db11db2c34a6fb92444fb17d8937c61db3..b7ef4668db85d441ed671077edc0c079e7b9c63b 100644
--- a/package.json
+++ b/package.json
@@ -146,14 +146,16 @@
     "immer": "^9.0.7",
     "immutable": "^3.8.2",
     "node-fetch": "^2.6.2",
-    "react": "^17.0.2",
-    "react-dom": "^17.0.2",
     "rxjs": "^7.4.0",
     "swagger-ui-dist": "^4.1.1",
     "tslib": "^2.3.1",
     "util.promisify": "^1.1.1",
     "xhr2": "^0.2.1"
   },
+  "peerDependencies": {
+    "react": "^17.0.2",
+    "react-dom": "^17.0.2"
+  },
   "optionalDependencies": {
     "gl": "^4.9.2"
   }