diff --git a/DESCRIPTION b/DESCRIPTION
index 422ecaa2ca550bd37402085b183fab19ea0aa1be..b396809dd5850402898b79c47bdaf32ca5c4391a 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,8 +1,8 @@
 Package: stressaddition
 Type: Package
 Title: Modeling Tri-Phasic Concentration-Response Relationships
-Version: 2.3.0
-Date: 2020-03-11
+Version: 2.4.0
+Date: 2020-03-13
 Authors@R: c(person("Sebastian", 
                     "Henz", 
                     role = c("aut", "cre"), 
@@ -31,4 +31,4 @@ Imports:
     plotrix
 Suggests: 
     testthat (>= 2.1.0)
-RoxygenNote: 7.0.2
+RoxygenNote: 7.1.0
diff --git a/NEWS.md b/NEWS.md
index 2b8b99f441931ee20633ddb96ff63ca1c671240e..f43297f4ed42b587536adf2677196cefe1837555 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,7 +1,12 @@
+# stressaddition 2.4.0
+
+* Improved `plot_effect()` and `plot_stress()`. You can now control whether the observed values (the points) should be plotted using the `which` argument.
+* Renamed `sys_tox_not_fitted` and `sys_tox_env_not_fitted` to `sys_tox_observed` and `sys_tox_env_observed` in the output of `ecxsys()`.
+
 # stressaddition 2.3.0
 
 * `predict_mixture()` accepts multiple values for the concentration of the second toxicant. Both concentration vectors must be the same length.
-* `predict_mixture()` returns a data frame with the concentrations and effects. Previously it was only a vector of effects.
+* `predict_mixture()` now returns a data frame with the concentrations and effects. Previously it was only a vector of effects.
 * `predict_mixture()` received a new argument "effect_max" which scales the returned effect values.
 * Renamed the arguments of `predict_mixture()` to use underscore letters a and b instad of 1 and 2. For example model_1 is now model_a.