diff --git a/i2p2www/pages/site/get-involved/guides/dev-guidelines.html b/i2p2www/pages/site/get-involved/guides/dev-guidelines.html
index 6f26b195905ca7eebb9c652200b6bc91c706ff15..4b63b959e9acf6f07b918dbe169431e4671f4eb2 100644
--- a/i2p2www/pages/site/get-involved/guides/dev-guidelines.html
+++ b/i2p2www/pages/site/get-involved/guides/dev-guidelines.html
@@ -1,6 +1,6 @@
 {% extends "global/layout.html" %}
 {% block title %}{{ _('Developer Guidelines and Coding Style') }}{% endblock %}
-{% block lastupdated %}2019-11{% endblock %}
+{% block lastupdated %}2020-05{% endblock %}
 {% block content %}
 <p>{% trans newdevs=site_url('get-involved/guides/new-developers') -%}
 Read the <a href="{{ newdevs }}">new developers guide</a> first.
@@ -20,7 +20,7 @@ check with the appropriate developer for guidance.
 <ul>
 <li>{% trans -%}
 Please don't just "write code". If you can, participate in other development activities, including:
-development discussions and support on IRC, zzz.i2p, and forum.i2p; testing;
+development discussions and support on IRC, zzz.i2p, and i2pforum.i2p; testing;
 bug reporting and responses; documentation; code reviews; etc.
 {%- endtrans %}</li>
 <li>{% trans -%}
@@ -33,11 +33,11 @@ the checkin deadline for a release.
 
 
 <h3>{{ _('Release Cycle') }}</h3>
-<p>{% trans -%}
-Our normal release cycle is 6-10 weeks.
+<p>
+Our normal release cycle is 6-12 weeks.
 Following are the approximate deadlines within a typical 8-week cycle.
-Actual deadlines for each release are set by the lead developer.
-{%- endtrans %}</p>
+Actual deadlines for each release are set by the lead developer after consultation with the full team.
+</p>
 
 <ul>
 <li>{% trans -%}
@@ -55,19 +55,19 @@ Actual deadlines for each release are set by the lead developer.
 <li>{% trans -%}
 2-3 weeks before release: Hold project meeting to review new home page link requests, if any.
 {%- endtrans %}</li>
-<li>{% trans -%}
-7-10 days before release: String freeze. No more changes to translated ("tagged") strings.
+<li>
+10-14 days before release: String freeze. No more changes to translated ("tagged") strings.
 Push strings to Transifex, announce translation deadline on Transifex.
-{%- endtrans %}</li>
-<li>{% trans -%}
-7-10 days before release: Feature deadline. Bug fixes only after this time. No more features, refactoring or cleanup.
-{%- endtrans %}</li>
-<li>{% trans -%}
+</li>
+<li>
+10-14 days before release: Feature deadline. Bug fixes only after this time. No more features, refactoring or cleanup.
+</li>
+<li>
 3-4 days before release: Translation deadline. Pull translations from Transifex and check in.
-{%- endtrans %}</li>
-<li>{% trans -%}
-2-3 days before release: Checkin deadline. No checkins after this time without the permission of the release builder.
-{%- endtrans %}</li>
+</li>
+<li>
+3-4 days before release: Checkin deadline. No checkins after this time without the permission of the release builder.
+</li>
 <li>{% trans -%}
 Hours before release: Code review deadline.
 {%- endtrans %}</li>
@@ -132,7 +132,7 @@ Javadocs for new private methods are desirable.
 {%- endtrans %}</li>
 <li>{% trans -%}
 For any Javadocs added, there must not be any doclint errors or warnings.
-Run 'ant javadoc' with Oracle Java 8 or higher to check.
+Run 'ant javadoc' with Oracle Java 14 or higher to check.
 All params must have @param lines, all non-void methods must have @return lines,
 all exceptions declared thrown must have @throws lines, and no HTML errors.
 {%- endtrans %}</li>
@@ -157,14 +157,14 @@ Use generics and concurrent classes where possible. I2P is a highly multi-thread
 Be familiar with common Java pitfalls that are caught by findbugs.
 Run 'ant findbugs' to learn more.
 {%- endtrans %}</li>
-<li>{% trans -%}
-We require Java 7 to build and run I2P.
-Do not use Java 8 classes or methods anywhere.
-Do not use Java 7 or 8 classes or methods in embedded subsystems (core, router, mstreaming, streaming, i2ptunnel),
-as Android and embedded applications require only Java 6. All classes must be available in Android API 14.
+<li>
+We require Java 8 to build and run I2P as of release 0.9.47.
+Do not use Java 7 or 8 classes or methods in embedded subsystems: addressbook, core, i2ptunnel.jar (non-UI), mstreaming, router, routerconsole (news only), streaming.
+These subsystems are used by
+Android and embedded applications that require only Java 6. All classes must be available in Android API 14.
 Java 7 language features are acceptable in these subsystems if supported by the current version
 of the Android SDK and they compile to Java 6-compatible code.
-{%- endtrans %}</li>
+</li>
 <li>
 Try-with-resources cannot be used in embedded subsystems as it requires java.lang.AutoCloseable
 in the runtime, and this is not available until Android API 19 (KitKat 4.4).
@@ -174,6 +174,11 @@ The java.nio.file package cannot be used in embedded subsystems as it
 is not available until Android API 26 (Oreo 8).
 </li>
 <li>
+Other than the above limitations,
+Java 8 classes, methods, and constructs may be used in the following subsystems only:
+BOB, desktopgui, i2psnark, i2ptunnel.war (UI), jetty-i2p.jar, jsonrpc, routerconsole (except news), SAM, susidns, susimail, systray.
+</li>
+<li>
 Plugin authors may require any minimum Java version via the plugin.config file.
 </li>
 <li>{% trans -%}