diff --git a/CHANGELOG.md b/CHANGELOG.md
index 33a5843..3371eb1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,18 @@ instructions, because git commits are used to generate release notes:
+
+## v21.0.0 (2025-11-10)
+
+- [Improvement] Migrate from pylint and black to ruff. (by @Abdul-Muqadim-Arbisoft)
+- [Improvement] Test python package distribution build when running make test. (by @Abdul-Muqadim-Arbisoft)
+
+- [Improvement] Upgraded Android build configuration to use latest SDK and API versions (`ANDROID_API_LEVEL=36`, `ANDROID_SDK_VERSION=13114758`) to ensure compatibility with the latest Android tools. (by @Abdul-Muqadim-Arbisoft)
+
+- [Bugfix] Fix Android build on Apple Silicon by forcing the base Docker image to use `linux/amd64`, ensuring Android SDK and Gradle tools run correctly across all platforms. (by @Abdul-Muqadim-Arbisoft)
+
+- 💥[Feature] Upgrade to Ulmo. (by @Abdul-Muqadim-Arbisoft)
+
## v20.0.0 (2025-06-10)
diff --git a/changelog.d/20250907_194312_abdul.muqadim_migrate_ruff.md b/changelog.d/20250907_194312_abdul.muqadim_migrate_ruff.md
deleted file mode 100644
index d484909..0000000
--- a/changelog.d/20250907_194312_abdul.muqadim_migrate_ruff.md
+++ /dev/null
@@ -1,2 +0,0 @@
-- [Improvement] Migrate from pylint and black to ruff. (by @Abdul-Muqadim-Arbisoft)
-- [Improvement] Test python package distribution build when running make test. (by @Abdul-Muqadim-Arbisoft)
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index 374a994..aaa2c3b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -27,14 +27,14 @@ classifiers = [
"Programming Language :: Python :: 3.12",
]
dependencies = [
- "tutor>=20.0.0,<21.0.0"
+ "tutor>=21.0.0,<22.0.0"
]
# Version will be dynamically loaded from __about__.py
dynamic = ["version"]
[project.optional-dependencies]
dev = [
- "tutor[dev]>=20.0.0,<21.0.0",
+ "tutor[dev]>=21.0.0,<22.0.0",
"ruff",
]
diff --git a/tutorandroid/__about__.py b/tutorandroid/__about__.py
index 9c9eb91..9bfcca5 100644
--- a/tutorandroid/__about__.py
+++ b/tutorandroid/__about__.py
@@ -1 +1 @@
-__version__ = "20.0.0"
+__version__ = "21.0.0"
diff --git a/tutorandroid/templates/android/build/Dockerfile b/tutorandroid/templates/android/build/Dockerfile
index 2579ca4..64fb84a 100644
--- a/tutorandroid/templates/android/build/Dockerfile
+++ b/tutorandroid/templates/android/build/Dockerfile
@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1
-FROM docker.io/ubuntu:24.04 AS base
+FROM --platform=linux/amd64 docker.io/ubuntu:24.04 AS base
LABEL maintainer="Overhang.IO "
ENV DEBIAN_FRONTEND=noninteractive
@@ -16,7 +16,7 @@ FROM base AS sdk
# Install Android SDK
# Inspired from https://github.com/LiveXP/docker-android-sdk/blob/master/Dockerfile
# Get sdk version from here: https://developer.android.com/studio#command-tools
-ENV ANDROID_SDK_VERSION=11076708
+ENV ANDROID_SDK_VERSION=13114758
ENV ANDROID_SDK_PATH=/app/android-sdk
ENV ANDROID_HOME=/app/android-sdk
RUN mkdir ${ANDROID_HOME}
@@ -28,7 +28,7 @@ RUN wget --quiet https://dl.google.com/android/repository/commandlinetools-linux
# Accept licenses
# https://developer.android.com/studio/command-line/sdkmanager
# Check target version: https://github.com/edx/edx-app-android/blob/master/constants.gradle
-ARG ANDROID_API_LEVEL=34
+ARG ANDROID_API_LEVEL=36
RUN yes | /app/android-sdk/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_HOME} --install "platforms;android-$ANDROID_API_LEVEL" 1> /dev/null
###### Checkout code