diff --git a/sot-core-v3/Makefile b/sot-core-v3/Makefile
index d6b755953fa1dedbcd294043bcb035aeb8f1b897..e1dd4565ae86d4e5a25f250ae8fe81d23d249732 100644
--- a/sot-core-v3/Makefile
+++ b/sot-core-v3/Makefile
@@ -4,7 +4,7 @@
 
 ORG=			stack-of-tasks
 NAME=			sot-core
-VERSION=		4.1.1
+VERSION=		4.2.0
 
 DISTNAME=		${NAME}-${VERSION}
 PKGNAME=		${NAME}-v3-${VERSION}
diff --git a/sot-core-v3/distinfo b/sot-core-v3/distinfo
index 742e89ecac4a968d935f438326a19a1a0a93b038..9aa1bc03d0f23cb1f2e9cd3bb4b0c405f8525a06 100644
--- a/sot-core-v3/distinfo
+++ b/sot-core-v3/distinfo
@@ -1,4 +1,3 @@
-SHA1 (sot-core-4.1.1.tar.gz) = 13df07061624f1d1609489c6f50835cf0de3c40f
-RMD160 (sot-core-4.1.1.tar.gz) = 2c43092f1f8dfa8b3b14a41fc509b75bdb0e617f
-Size (sot-core-4.1.1.tar.gz) = 1082407 bytes
-SHA1 (patch-ae) = 92c1519ebfa1af2fcc21e2ad1d492620ed1ed543
+SHA1 (sot-core-4.2.0.tar.gz) = f47ccb3eda457f42f7f36a56195662abf0a69c67
+RMD160 (sot-core-4.2.0.tar.gz) = fb91f598306081e46b6c709be0ade0bd95a6502f
+Size (sot-core-4.2.0.tar.gz) = 1086520 bytes
diff --git a/sot-core-v3/patches/patch-ae b/sot-core-v3/patches/patch-ae
deleted file mode 100644
index 9b485c18ccb96b22dbb3bfe39d6f3d994ce90103..0000000000000000000000000000000000000000
--- a/sot-core-v3/patches/patch-ae
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5961ecf4cefff6d7e22f493435a44008db178307 Mon Sep 17 00:00:00 2001
-From: Guilhem Saurel <guilhem.saurel@laas.fr>
-Date: Thu, 7 Mar 2019 10:41:47 +0100
-Subject: [PATCH] fix build on C++11
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-src/tools/device.cpp:530:19: error: unable to find string literal operator ‘operator""what’ with ‘const char [31]’, ‘long unsigned int’ arguments
-     CHECK_BOUNDS(state_, lowerPosition_, upperPosition_, "position");
-                   ^
----
- src/tools/device.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tools/device.cpp b/src/tools/device.cpp
-index 03ca73b..0e2df1e 100644
---- src/tools/device.cpp
-+++ src/tools/device.cpp
-@@ -508,7 +508,7 @@ saturateBounds (double& val, const double& lower, const double& upper)
-   for (int i = 0; i < val.size(); ++i) {                                       \
-     double old = val(i);                                                       \
-     if (saturateBounds (val(i), lower(i), upper(i)))                           \
--      dgRTLOG () << "Robot "what" bound violation at DoF " << i <<             \
-+      dgRTLOG () << "Robot " what " bound violation at DoF " << i <<           \
-       ": requested " << old << " but set " << val(i) << '\n';                  \
-   }
- 
--- 
-2.7.4
-