diff --git a/i2p2www/pages/site/docs/protocol/i2cp.html b/i2p2www/pages/site/docs/protocol/i2cp.html
index 410988bc9f4af023f95d1edc224c163a72f81628..7a30d2a1706392702dd92136ecbb92c5eb2e1b8e 100644
--- a/i2p2www/pages/site/docs/protocol/i2cp.html
+++ b/i2p2www/pages/site/docs/protocol/i2cp.html
@@ -1,7 +1,7 @@
 {% extends "global/layout.html" %}
 {% block title %}I2CP{% endblock %}
-{% block lastupdated %}{% trans %}March 2019{% endtrans %}{% endblock %}
-{% block accuratefor %}0.9.39{% endblock %}
+{% block lastupdated %}{% trans %}May 2019{% endtrans %}{% endblock %}
+{% block accuratefor %}0.9.41{% endblock %}
 {% block content %}
 <p>{% trans -%}
 The I2P Client Protocol (I2CP) exposes a strong separation of concerns between
@@ -176,7 +176,7 @@ of sending a MessageStatus and awaiting a ReceiveMessageBegin.
 
 <tr>
 <td>i2cp.leaseSetAuthType
-<td>0.9.39</td>
+<td>0.9.41</td>
 <td>0
 <td>0-2
 <td>0
@@ -232,14 +232,17 @@ See proposal 123.
 
 <tr>
 <td>i2cp.leaseSetPrivKey
-<td>0.9.39</td>
+<td>0.9.41</td>
 <td>&nbsp;
 <td>&nbsp;
 <td>&nbsp;
 <td>
-A base 64 private key for the router to use to decrypt the encrypted leaseset,
-only if per-client authentication is enabled
+A base 64 X25519 private key for the router to use to decrypt the encrypted LS2 locally,
+only if per-client authentication is enabled.
+Optionally preceded by the key type and ':'.
+Only "ECIES_X25519:" is supported, which is the default.
 See proposal 123.
+Do not confuse with i2cp.leaseSetPrivateKey which is for LS1.
 </td>
 </tr>
 
@@ -661,7 +664,7 @@ See proposal 123.
 
 <tr>
 <td>i2cp.leaseSetAuthType
-<td>0.9.39</td>
+<td>0.9.41</td>
 <td>0
 <td>0-2
 <td>0
@@ -706,12 +709,13 @@ See proposals 123, 144, and 145.
 <td>&nbsp;
 <td>&nbsp;
 <td>{% trans -%}
-Base 64 private key for encryption.
+Base 64 private key for encryption, for old encrypted LS1.
 Optionally preceded by the key type and ':'.
 Only "ELGAMAL_2048:" is supported, which is the default.
 I2CP will generate the public key from the private key.
 Use for persistent leaseset keys across restarts.
 {%- endtrans %}</td>
+Do not confuse with i2cp.leaseSetPrivKey which is for LS2.
 </tr>
 
 <tr>
diff --git a/i2p2www/spec/i2cp.rst b/i2p2www/spec/i2cp.rst
index a170f79b93585d8dcf7dde8145628c8739dab996..8acfcf397bee35b1200e52c21e5e69b6c6f325ef 100644
--- a/i2p2www/spec/i2cp.rst
+++ b/i2p2www/spec/i2cp.rst
@@ -3,8 +3,8 @@ I2CP Specification
 ==================
 .. meta::
     :category: Protocols
-    :lastupdated: March 2019
-    :accuratefor: 0.9.39
+    :lastupdated: May 2019
+    :accuratefor: 0.9.41
 
 .. contents::
 
@@ -532,7 +532,10 @@ RequestVariableLeaseSetMessage_ and contains all of the [Lease]_ structures that
 should be published to the I2NP Network Database.
 
 Sent from Client to Router.
-Since release 0.9.38. See proposal 123 for more information.
+Since release 0.9.39.
+Per-client authentication for EncryptedLeaseSet supported as of 0.9.41.
+MetaLeaseSet is not yet supported via I2CP.
+See proposal 123 for more information.
 
 Contents
 ````````