diff --git a/jrl-walkgen-v3/Makefile b/jrl-walkgen-v3/Makefile
index 99f588de067ddf1f6bda2351eabe5c78106acfb9..be45b949b234ced5eb26dca984946d200458fea7 100644
--- a/jrl-walkgen-v3/Makefile
+++ b/jrl-walkgen-v3/Makefile
@@ -4,7 +4,7 @@
 
 ORG=			stack-of-tasks
 NAME=			jrl-walkgen
-VERSION=		4.0.4
+VERSION=		4.2.0
 
 DISTNAME=		${NAME}-${VERSION}
 PKGNAME=		${NAME}-v3-${VERSION}
@@ -24,7 +24,7 @@ CMAKE_ARGS+=	-DCMAKE_INSTALL_LIBDIR=lib
 
 DYNAMIC_PLIST_DIRS+=	share/doc/${NAME}
 
-DEPEND_ABI.pinocchio=	pinocchio<2
+DEPEND_ABI.pinocchio=	pinocchio>2
 
 include ../../graphics/simple-humanoid-description/depend.mk
 include ../../interfaces/jrl-mal/depend.mk
diff --git a/jrl-walkgen-v3/distinfo b/jrl-walkgen-v3/distinfo
index 77403fca4fad0cb2efa863368bb518cfab798a99..b837ccb6abc95b0e9ad0934edf85307c5d8689d3 100644
--- a/jrl-walkgen-v3/distinfo
+++ b/jrl-walkgen-v3/distinfo
@@ -1,4 +1,3 @@
-SHA1 (jrl-walkgen-4.0.4.tar.gz) = 1f9bcd5447dfd43b16955a276dd82d70590f934d
-RMD160 (jrl-walkgen-4.0.4.tar.gz) = c05a3e06bff1a50fc452400ab9aab67019d878d5
-Size (jrl-walkgen-4.0.4.tar.gz) = 16028021 bytes
-SHA1 (patch-aa) = b05edcefd62be5dad8592e7b6f40079d50e61783
+SHA1 (jrl-walkgen-4.2.0.tar.gz) = 94e2bbd57f17fbe4af110c53026ca56fd3261a49
+RMD160 (jrl-walkgen-4.2.0.tar.gz) = c2897d2322906e8aa80842b48fea4204c4edc607
+Size (jrl-walkgen-4.2.0.tar.gz) = 15500455 bytes
diff --git a/jrl-walkgen-v3/patches/patch-aa b/jrl-walkgen-v3/patches/patch-aa
deleted file mode 100644
index 3ce3789c10e40bf456376abcb76cbb48900b40da..0000000000000000000000000000000000000000
--- a/jrl-walkgen-v3/patches/patch-aa
+++ /dev/null
@@ -1,36 +0,0 @@
-use se3::SINCOS, fix compilation with recent version of pinocchio
-
---- src/RobotDynamics/pinocchiorobot.cpp
-+++ src/RobotDynamics/pinocchiorobot.cpp
-@@ -238,7 +238,7 @@ bool PinocchioRobot::testInverseKinematics()
-   leftLegJointName.push_back("JointModelRY");
-   leftLegJointName.push_back("JointModelRY");
-   leftLegJointName.push_back("JointModelRX");
--  
-+
-   rightLegJointName.push_back("JointModelFreeFlyer");
-   rightLegJointName.push_back("JointModelRZ");
-   rightLegJointName.push_back("JointModelRX");
-@@ -246,7 +246,7 @@ bool PinocchioRobot::testInverseKinematics()
-   rightLegJointName.push_back("JointModelRY");
-   rightLegJointName.push_back("JointModelRY");
-   rightLegJointName.push_back("JointModelRX");
--  
-+
-   leftArmJointName.push_back("JointModelRY");
-   leftArmJointName.push_back("JointModelRX");
-   leftArmJointName.push_back("JointModelRZ");
-@@ -342,9 +342,9 @@ void PinocchioRobot::RPYToSpatialFreeFlyer(Eigen::Vector3d & rpy,
-         Eigen::AngleAxisd(rpy(1), Eigen::Vector3d::UnitY()) *
-         Eigen::AngleAxisd(rpy(0), Eigen::Vector3d::UnitX()) ) ;
-   quat.normalize();
--  double c0,s0; SINCOS (rpy(2), &s0, &c0);
--  double c1,s1; SINCOS (rpy(1), &s1, &c1);
--  double c2,s2; SINCOS (rpy(0), &s2, &c2);
-+  double c0,s0; se3::SINCOS (rpy(2), &s0, &c0);
-+  double c1,s1; se3::SINCOS (rpy(1), &s1, &c1);
-+  double c2,s2; se3::SINCOS (rpy(0), &s2, &c2);
-   m_S << -s1, 0., 1., c1 * s2, c2, 0, c1 * c2, -s2, 0;
-   omega = m_S * drpy ;
-   domega = m_S * ddrpy ;
-