diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8c044d0ab8..deda386c69 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,13 @@ instructions, because git commits are used to generate release notes:
+
+## v16.0.4 (2023-08-03)
+
+- [Feature] Add support for HTTP/3, which considerably improves performance for Open edX. (by @regisb and @ghassanmas)
+- [Bugfix] Do not display discussion units when the forum is not enabled. (by @regisb)
+- [Improvement] Remove references to the wizard edition. (by @CodeWithEmad)
+
## v16.0.3 (2023-07-28)
diff --git a/README.rst b/README.rst
index d3c0df7997..71cfe34136 100644
--- a/README.rst
+++ b/README.rst
@@ -51,7 +51,6 @@ Features
* Comes with batteries included: `theming `__, `SCORM `__, `HTTPS `__, `web-based administration interface `__, `mobile app `__, `custom translations `__...
* Extensible architecture with `plugins `__
* Works with `Kubernetes `__
-* Amazing premium plugins available in the `Tutor Wizard Edition `__, including `Cairn `__ the next-generation analytics solution for Open edX.
* No technical skill required with the `zero-click Tutor AWS image `__
.. _readme_intro_end:
diff --git a/changelog.d/20230731_155418_regis_fix_discussion_units.md b/changelog.d/20230731_155418_regis_fix_discussion_units.md
deleted file mode 100644
index 55ad28497e..0000000000
--- a/changelog.d/20230731_155418_regis_fix_discussion_units.md
+++ /dev/null
@@ -1 +0,0 @@
-- [Bugfix] Do not display discussion units when the forum is not enabled. (by @regisb)
diff --git a/docs/faq.rst b/docs/faq.rst
index a2fc8d12fa..b8a169f75d 100644
--- a/docs/faq.rst
+++ b/docs/faq.rst
@@ -45,7 +45,7 @@ What features are missing from Tutor?
Tutor tries very hard to support all major Open edX features, notably in the form of :ref:`plugins `. If you are interested in sponsoring the development of a new plugin, please `get in touch `__!
-It should be noted that the `Insights `__ stack is currently unsupported, because of its complexity, lack of support, and extensibility. To replace it, Overhang.IO developed `Cairn `__ the next-generation analytics solution for Open edX, part of the `Tutor Wizard Edition `__. You should check it out 😉
+It should be noted that the `Insights `__ stack is currently unsupported, because of its complexity, lack of support, and extensibility. To replace it, Overhang.IO developed `Cairn `__ the next-generation analytics solution for Open edX. You should check it out 😉
Are there people already running this in production?
----------------------------------------------------
diff --git a/docs/plugins/intro.rst b/docs/plugins/intro.rst
index bc55b0a74e..cb75f63660 100644
--- a/docs/plugins/intro.rst
+++ b/docs/plugins/intro.rst
@@ -45,13 +45,12 @@ Many plugins are available from plugin indexes. These indexes are lists of plugi
tutor plugins update
tutor plugins search
-More plugins can be downloaded from the "contrib" and "wizard" indexes::
+More plugins can be downloaded from the "contrib" index::
tutor plugins index add contrib
- tutor plugins index add wizard
tutor plugins search
-The "main", "contrib" and "wizard" indexes include a curated list of plugins that are well maintained and introduce useful features to Open edX. These indexes are maintained by `Overhang.IO `__. For more information about these indexes, refer to the official `overhangio/tpi `__ repository.
+The "main" and "contrib" indexes include a curated list of plugins that are well maintained and introduce useful features to Open edX. These indexes are maintained by `Overhang.IO `__. For more information about these indexes, refer to the official `overhangio/tpi `__ repository.
Thanks to these indexes, it is very easy to download and upgrade plugins. For instance, to install the `notes plugin `__::
diff --git a/docs/tutorials/proxy.rst b/docs/tutorials/proxy.rst
index b1bfc62f1f..61122667b2 100644
--- a/docs/tutorials/proxy.rst
+++ b/docs/tutorials/proxy.rst
@@ -26,6 +26,7 @@ It is then your responsibility to configure the web proxy on the host. There are
- Forward http traffic to https.
- Set the following headers appropriately: ``X-Forwarded-Proto``, ``X-Forwarded-Port``.
- Forward all traffic to ``localhost:81`` (or whatever port indicated by CADDY_HTTP_PORT, see above).
+- If possible, add support for `HTTP/3 `__, which considerably improves performance for Open edX (see `this comment `__).
.. note::
If you want to run Open edX at ``https://...`` urls (as you probably do in production) it is *crucial* that the ``ENABLE_HTTPS`` flag is set to ``true``. If not, the web services will be configured to run at ``http://...`` URLs, and all sorts of trouble will happen. Therefore, make sure to continue answering ``y`` ("yes") to the quickstart dialogue question "Activate SSL/TLS certificates for HTTPS access?".
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 42829e5c08..c2400af9fa 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -44,7 +44,7 @@ click-log==0.4.0
# via scriv
coverage==7.2.7
# via -r requirements/dev.in
-cryptography==41.0.2
+cryptography==41.0.3
# via secretstorage
dill==0.3.6
# via pylint
diff --git a/tutor/__about__.py b/tutor/__about__.py
index 440d323456..c4e7d732b8 100644
--- a/tutor/__about__.py
+++ b/tutor/__about__.py
@@ -2,7 +2,7 @@
# Increment this version number to trigger a new release. See
# docs/tutor.html#versioning for information on the versioning scheme.
-__version__ = "16.0.3"
+__version__ = "16.0.4"
# The version suffix will be appended to the actual version, separated by a
# dash. Use this suffix to differentiate between the actual released version and
diff --git a/tutor/commands/plugins.py b/tutor/commands/plugins.py
index 0ed848e675..e80b6fc33e 100644
--- a/tutor/commands/plugins.py
+++ b/tutor/commands/plugins.py
@@ -382,8 +382,8 @@ def index_add(context: Context, url: str) -> None:
The index URL will be appended with '{version}/plugins.yml'. The index path can be
either an http(s) url or a local file path.
- For official indexes, there is no need to pass a full URL. Instead, use "main",
- "contrib" or "wizard".
+ For official indexes, there is no need to pass a full URL. Instead, use "main" or
+ "contrib".
"""
config = tutor_config.load_minimal(context.root)
if indexes.add(url, config):
diff --git a/tutor/plugins/indexes.py b/tutor/plugins/indexes.py
index 2123b0ed03..c32d1117af 100644
--- a/tutor/plugins/indexes.py
+++ b/tutor/plugins/indexes.py
@@ -31,7 +31,6 @@ def _get_index_url_from_alias(url: str) -> str:
known_aliases = {
"main": "https://overhang.io/tutor/main",
"contrib": "https://overhang.io/tutor/contrib",
- "wizard": "https://overhang.io/tutor/wizard",
}
return known_aliases.get(url, url)
diff --git a/tutor/templates/k8s/services.yml b/tutor/templates/k8s/services.yml
index aaaa9b67d2..c34d2255d8 100644
--- a/tutor/templates/k8s/services.yml
+++ b/tutor/templates/k8s/services.yml
@@ -14,7 +14,12 @@ spec:
name: http
{%- if ENABLE_HTTPS %}
- port: 443
+ protocol: TCP
name: https
+ # include support for http/3
+ - port: 443
+ protocol: UDP
+ name: http3
{%- endif %}
selector:
app.kubernetes.io/name: caddy
diff --git a/tutor/templates/local/docker-compose.prod.yml b/tutor/templates/local/docker-compose.prod.yml
index b803b41afb..552fa44dd0 100644
--- a/tutor/templates/local/docker-compose.prod.yml
+++ b/tutor/templates/local/docker-compose.prod.yml
@@ -6,7 +6,11 @@ services:
restart: unless-stopped
ports:
- "{{ CADDY_HTTP_PORT }}:80"
- {% if ENABLE_HTTPS and ENABLE_WEB_PROXY %}- "443:443"{% endif %}
+ {% if ENABLE_HTTPS and ENABLE_WEB_PROXY %}
+ - "443:443"
+ # include support for http/3
+ - "443:443/udp"
+ {% endif %}
environment:
default_site_port: "{% if not ENABLE_HTTPS or not ENABLE_WEB_PROXY %}:80{% endif %}"
volumes: