diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b9ecbe3..7b2bc97 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ variables:
TUTOR_PLUGIN: cairn
TUTOR_IMAGES: cairn-clickhouse cairn-superset
TUTOR_PYPI_PACKAGE: tutor-cairn
- OPENEDX_RELEASE: palm
+ OPENEDX_RELEASE: quince
GITHUB_REPO: overhangio/tutor-cairn
IMAGES_BUILD_PLATFORM: "linux/amd64"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5c259a4..6d72e9e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,14 @@ instructions, because git commits are used to generate release notes:
+
+## v17.0.0 (2023-12-09)
+
+- 💥[Feature] Upgrade to Quince. (by @Fahadkhalid210)
+- 💥[Improvement] Convert the `course_blocks.graded` field from String to Boolean. (by @regisb)
+- 💥[Improvement] Superset auto_sync roles updated. (by @FahadKhalid210)
+- [Improvement] Added Typing to code, Makefile and test action to the repository and formatted code with Black and isort. (by @CodeWithEmad)
+
## v16.0.3 (2023-09-07)
diff --git a/changelog.d/20230911_180425_regis_fix_graded.md b/changelog.d/20230911_180425_regis_fix_graded.md
deleted file mode 100644
index c893b99..0000000
--- a/changelog.d/20230911_180425_regis_fix_graded.md
+++ /dev/null
@@ -1 +0,0 @@
-- 💥[Improvement] Convert the `course_blocks.graded` field from String to Boolean. (by @regisb)
diff --git a/changelog.d/20231115_145643_fahad.khalid_fahad_cairn_14.md b/changelog.d/20231115_145643_fahad.khalid_fahad_cairn_14.md
deleted file mode 100644
index 71ea8aa..0000000
--- a/changelog.d/20231115_145643_fahad.khalid_fahad_cairn_14.md
+++ /dev/null
@@ -1 +0,0 @@
-- 💥[Improvement] Superset auto_sync roles updated. (by @FahadKhalid210)
diff --git a/changelog.d/20231118_181548_codewithemad_test_lint.md b/changelog.d/20231118_181548_codewithemad_test_lint.md
deleted file mode 100644
index 952a383..0000000
--- a/changelog.d/20231118_181548_codewithemad_test_lint.md
+++ /dev/null
@@ -1 +0,0 @@
-- [Improvement] Added Typing to code, Makefile and test action to the repository and formatted code with Black and isort. (by @CodeWithEmad)
\ No newline at end of file
diff --git a/setup.py b/setup.py
index a3b13ce..6e1e20f 100644
--- a/setup.py
+++ b/setup.py
@@ -40,9 +40,9 @@ def load_about():
long_description=load_readme(),
packages=find_packages(exclude=["tests*"]),
include_package_data=True,
- python_requires=">=3.7",
- install_requires=["tutor>=16.0.0,<17.0.0"],
- extras_require={"dev": ["tutor[dev]>=16.0.0,<17.0.0"]},
+ python_requires=">=3.8",
+ install_requires=["tutor>=17.0.0,<18.0.0"],
+ extras_require={"dev": ["tutor[dev]>=17.0.0,<18.0.0"]},
entry_points={"tutor.plugin.v1": ["cairn = tutorcairn.plugin"]},
classifiers=[
"Development Status :: 5 - Production/Stable",
diff --git a/tutorcairn/__about__.py b/tutorcairn/__about__.py
index c7d74af..a08b09c 100644
--- a/tutorcairn/__about__.py
+++ b/tutorcairn/__about__.py
@@ -1 +1 @@
-__version__ = "16.0.3"
+__version__ = "17.0.0"
diff --git a/tutorcairn/templates/cairn/apps/superset/superset_config.py b/tutorcairn/templates/cairn/apps/superset/superset_config.py
index 0ca6a92..30ae194 100644
--- a/tutorcairn/templates/cairn/apps/superset/superset_config.py
+++ b/tutorcairn/templates/cairn/apps/superset/superset_config.py
@@ -18,21 +18,30 @@
# https://superset.apache.org/docs/installation/configuring-superset/#configuration-behind-a-load-balancer
ENABLE_PROXY_FIX = True
+# Superset 3.0 ships with a default CSP (Content Security Policy) configuration via Talisman(Forces all connects to https)
+# https://preset.io/blog/superset-3-0-release-notes/#default-csp-is-now-in-place
+
+{% if not ENABLE_HTTPS %}
+TALISMAN_ENABLED = False
+{% endif %}
+
# Languages
# https://github.com/apache/superset/blob/dc575080d7e43d40b1734bb8f44fdc291cb95b11/superset/config.py#L324
available_languages = {
+ "de": {"flag": "de", "name": "German"},
"en": {"flag": "us", "name": "English"},
"es": {"flag": "es", "name": "Spanish"},
- "it": {"flag": "it", "name": "Italian"},
"fr": {"flag": "fr", "name": "French"},
- "zh": {"flag": "cn", "name": "Chinese"},
+ "it": {"flag": "it", "name": "Italian"},
"ja": {"flag": "jp", "name": "Japanese"},
- "de": {"flag": "de", "name": "German"},
+ "ko": {"flag": "kr", "name": "Korean"},
+ "nl": {"flag": "nl", "name": "Dutch"},
"pt": {"flag": "pt", "name": "Portuguese"},
"pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
"ru": {"flag": "ru", "name": "Russian"},
- "ko": {"flag": "kr", "name": "Korean"},
+ "sk": {"flag": "sk", "name": "Slovak"},
"sl": {"flag": "si", "name": "Slovenian"},
+ "zh": {"flag": "cn", "name": "Chinese"},
}
{#- https://github.com/apache/superset/blob/master/docs/docs/contributing/translations.mdx#enabling-language-selection #}
enabled_language_codes = ["en"]
diff --git a/tutorcairn/templates/cairn/build/cairn-superset/Dockerfile b/tutorcairn/templates/cairn/build/cairn-superset/Dockerfile
index 718b728..dc5efaa 100644
--- a/tutorcairn/templates/cairn/build/cairn-superset/Dockerfile
+++ b/tutorcairn/templates/cairn/build/cairn-superset/Dockerfile
@@ -3,7 +3,7 @@
# https://github.com/apache/superset/releases
# https://github.com/apache/superset/blob/master/Dockerfile
# https://superset.apache.org/docs/databases/installing-database-drivers
-FROM docker.io/apache/superset:2.1.0
+FROM docker.io/apache/superset:3.0.1
USER root
@@ -13,12 +13,16 @@ USER root
# https://pypi.org/project/clickhouse-sqlalchemy/
# https://pypi.org/project/Authlib/
# We preserve the clickhouse-sqlalchemy package to keep backward compatibility with existing dashboards
-RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/root/.cache/pip,sharing=shared {% endif %}pip install \
+RUN apt-get update \
+ && apt-get install -y \
+ pkg-config
+
+RUN --mount=type=cache,target=/root/.cache/pip,sharing=shared pip install \
clickhouse-driver==0.2.6 \
- mysqlclient==2.1.1 \
- clickhouse-connect==0.5.24 \
+ mysqlclient==2.2.0 \
+ clickhouse-connect==0.6.20 \
clickhouse-sqlalchemy==0.2.4 \
- authlib==1.2.0
+ authlib==1.2.1
USER superset