diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 90ff8b1e..2742b13f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -4,6 +4,10 @@ Change history for XBlock SDK These are notable changes in XBlock. +0.9.0 +----- +* Xblock bumped to 3.0.0. Removed the deprecated id_generator method parameter in xblock.runtime + 0.8.0 ----- * Added support for python 3.12 diff --git a/requirements/base.txt b/requirements/base.txt index fabdf932..0a9da4fc 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,13 +8,17 @@ appdirs==1.4.4 # via fs arrow==1.3.0 # via cookiecutter -asgiref==3.7.2 +asgiref==3.8.0 # via django +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django binaryornot==0.4.4 # via cookiecutter -boto3==1.34.49 +boto3==1.34.67 # via fs-s3fs -botocore==1.34.49 +botocore==1.34.67 # via # boto3 # s3transfer @@ -28,7 +32,7 @@ click==8.1.7 # via cookiecutter cookiecutter==2.6.0 # via -r requirements/base.in -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -74,7 +78,7 @@ pygments==2.17.2 # via rich pypng==0.20220715.0 # via -r requirements/base.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # arrow # botocore @@ -82,9 +86,7 @@ python-dateutil==2.8.2 python-slugify==8.0.4 # via cookiecutter pytz==2024.1 - # via - # django - # xblock + # via xblock pyyaml==6.0.1 # via # cookiecutter @@ -93,9 +95,9 @@ requests==2.31.0 # via # -r requirements/base.in # cookiecutter -rich==13.7.0 +rich==13.7.1 # via cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via boto3 simplejson==3.19.2 # via @@ -110,7 +112,7 @@ sqlparse==0.4.4 # via django text-unidecode==1.3 # via python-slugify -types-python-dateutil==2.8.19.20240106 +types-python-dateutil==2.9.0.20240316 # via arrow typing-extensions==4.10.0 # via @@ -128,7 +130,7 @@ webob==1.8.7 # via # -r requirements/base.in # xblock -xblock[django]==1.10.0 +xblock[django]==3.0.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/ci.txt b/requirements/ci.txt index e7a87609..9f335db1 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,7 +4,7 @@ # # make upgrade # -cachetools==5.3.2 +cachetools==5.3.3 # via tox chardet==5.2.0 # via tox @@ -16,7 +16,7 @@ filelock==3.13.1 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 15aafb29..e3bf8eae 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # using LTS django version -Django<4.0 +Django<5.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html @@ -21,3 +21,12 @@ elasticsearch<7.14.0 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected django-simple-history==3.0.0 + +# opentelemetry requires version 6.x at the moment: +# https://github.com/open-telemetry/opentelemetry-python/issues/3570 +# Normally this could be added as a constraint in edx-django-utils, where we're +# adding the opentelemetry dependency. However, when we compile pip-tools.txt, +# that uses version 7.x, and then there's no undoing that when compiling base.txt. +# So we need to pin it globally, for now. +# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 +importlib-metadata<7 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index f14a06a2..97db89c6 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,4 +10,5 @@ # Common constraints for edx repos -c common_constraints.txt +backports.zoneinfo;python_version<"3.9" lxml<5.0.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index 71aaf115..c11fadf8 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,7 @@ # # make upgrade # -acid-xblock==0.2.1 +acid-xblock==0.3.0 # via # -r requirements/test.in # -r requirements/test.txt @@ -18,7 +18,7 @@ arrow==1.3.0 # -r requirements/base.txt # -r requirements/test.txt # cookiecutter -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/base.txt # -r requirements/test.txt @@ -27,23 +27,29 @@ astroid==3.1.0 # via # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # -r requirements/test.txt + # django binaryornot==0.4.4 # via # -r requirements/base.txt # -r requirements/test.txt # cookiecutter -boto3==1.34.49 +boto3==1.34.67 # via # -r requirements/base.txt # -r requirements/test.txt # fs-s3fs -botocore==1.34.49 +botocore==1.34.67 # via # -r requirements/base.txt # -r requirements/test.txt # boto3 # s3transfer -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/test.txt # tox @@ -73,7 +79,7 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-lint colorama==0.4.6 # via @@ -83,7 +89,7 @@ cookiecutter==2.6.0 # via # -r requirements/base.txt # -r requirements/test.txt -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.in # -r requirements/test.txt @@ -98,7 +104,7 @@ distlib==0.3.8 # via # -r requirements/test.txt # virtualenv -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -198,7 +204,7 @@ openedx-django-pyfs==3.5.0 # -r requirements/base.txt # -r requirements/test.txt # xblock -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pyproject-api @@ -249,7 +255,7 @@ pyproject-api==1.6.1 # via # -r requirements/test.txt # tox -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -263,11 +269,11 @@ pytest-django==4.8.0 # via # -r requirements/test.in # -r requirements/test.txt -pytest-rerunfailures==13.0 +pytest-rerunfailures==14.0 # via # -r requirements/test.in # -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # -r requirements/test.txt @@ -284,7 +290,6 @@ pytz==2024.1 # via # -r requirements/base.txt # -r requirements/test.txt - # django # xblock pyyaml==6.0.1 # via @@ -298,12 +303,12 @@ requests==2.31.0 # -r requirements/base.txt # -r requirements/test.txt # cookiecutter -rich==13.7.0 +rich==13.7.1 # via # -r requirements/base.txt # -r requirements/test.txt # cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via # -r requirements/base.txt # -r requirements/test.txt @@ -343,13 +348,13 @@ tomli==2.0.1 # pyproject-api # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint -tox==4.13.0 +tox==4.14.1 # via # -r requirements/test.in # -r requirements/test.txt -types-python-dateutil==2.8.19.20240106 +types-python-dateutil==2.9.0.20240316 # via # -r requirements/base.txt # -r requirements/test.txt @@ -382,7 +387,7 @@ webob==1.8.7 # -r requirements/base.txt # -r requirements/test.txt # xblock -xblock[django]==1.10.0 +xblock[django]==3.0.0 # via # -r requirements/base.txt # -r requirements/test.txt diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 44c48d99..b1ac4e54 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.0.3 +build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 66656035..cf449024 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.1.1 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index b1fe6965..aa0d0941 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,7 +4,7 @@ # # make upgrade # -acid-xblock==0.2.1 +acid-xblock==0.3.0 # via -r requirements/test.txt appdirs==1.4.4 # via @@ -14,7 +14,7 @@ arrow==1.3.0 # via # -r requirements/test.txt # cookiecutter -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/test.txt # django @@ -22,20 +22,25 @@ astroid==3.1.0 # via # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django binaryornot==0.4.4 # via # -r requirements/test.txt # cookiecutter -boto3==1.34.49 +boto3==1.34.67 # via # -r requirements/test.txt # fs-s3fs -botocore==1.34.49 +botocore==1.34.67 # via # -r requirements/test.txt # boto3 # s3transfer -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/test.txt # tox @@ -61,7 +66,7 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-lint colorama==0.4.6 # via @@ -69,7 +74,7 @@ colorama==0.4.6 # tox cookiecutter==2.6.0 # via -r requirements/test.txt -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov @@ -81,7 +86,7 @@ distlib==0.3.8 # via # -r requirements/test.txt # virtualenv -django==3.2.24 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/test.txt @@ -166,7 +171,7 @@ openedx-django-pyfs==3.5.0 # via # -r requirements/test.txt # xblock -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pyproject-api @@ -214,7 +219,7 @@ pyproject-api==1.6.1 # via # -r requirements/test.txt # tox -pytest==8.0.2 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -224,9 +229,9 @@ pytest-cov==4.1.0 # via -r requirements/test.txt pytest-django==4.8.0 # via -r requirements/test.txt -pytest-rerunfailures==13.0 +pytest-rerunfailures==14.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # arrow @@ -240,7 +245,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/test.txt - # django # xblock pyyaml==6.0.1 # via @@ -252,11 +256,11 @@ requests==2.31.0 # via # -r requirements/test.txt # cookiecutter -rich==13.7.0 +rich==13.7.1 # via # -r requirements/test.txt # cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via # -r requirements/test.txt # boto3 @@ -291,11 +295,11 @@ tomli==2.0.1 # pyproject-api # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint -tox==4.13.0 +tox==4.14.1 # via -r requirements/test.txt -types-python-dateutil==2.8.19.20240106 +types-python-dateutil==2.9.0.20240316 # via # -r requirements/test.txt # arrow @@ -323,7 +327,7 @@ webob==1.8.7 # via # -r requirements/test.txt # xblock -xblock[django]==1.10.0 +xblock[django]==3.0.0 # via # -r requirements/test.txt # acid-xblock diff --git a/requirements/test.txt b/requirements/test.txt index 447c1fc5..5bd6460e 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,7 +4,7 @@ # # make upgrade # -acid-xblock==0.2.1 +acid-xblock==0.3.0 # via -r requirements/test.in appdirs==1.4.4 # via @@ -14,24 +14,29 @@ arrow==1.3.0 # via # -r requirements/base.txt # cookiecutter -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/base.txt # django +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django binaryornot==0.4.4 # via # -r requirements/base.txt # cookiecutter -boto3==1.34.49 +boto3==1.34.67 # via # -r requirements/base.txt # fs-s3fs -botocore==1.34.49 +botocore==1.34.67 # via # -r requirements/base.txt # boto3 # s3transfer -cachetools==5.3.2 +cachetools==5.3.3 # via tox certifi==2024.2.2 # via @@ -54,7 +59,7 @@ colorama==0.4.6 # via tox cookiecutter==2.6.0 # via -r requirements/base.txt -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.in # pytest-cov @@ -132,7 +137,7 @@ openedx-django-pyfs==3.5.0 # via # -r requirements/base.txt # xblock -packaging==23.2 +packaging==24.0 # via # pyproject-api # pytest @@ -154,7 +159,7 @@ pypng==0.20220715.0 # via -r requirements/base.txt pyproject-api==1.6.1 # via tox -pytest==8.0.2 +pytest==8.1.1 # via # pytest-cov # pytest-django @@ -163,9 +168,9 @@ pytest-cov==4.1.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -pytest-rerunfailures==13.0 +pytest-rerunfailures==14.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # arrow @@ -178,7 +183,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/base.txt - # django # xblock pyyaml==6.0.1 # via @@ -189,11 +193,11 @@ requests==2.31.0 # via # -r requirements/base.txt # cookiecutter -rich==13.7.0 +rich==13.7.1 # via # -r requirements/base.txt # cookiecutter -s3transfer==0.10.0 +s3transfer==0.10.1 # via # -r requirements/base.txt # boto3 @@ -221,9 +225,9 @@ tomli==2.0.1 # pyproject-api # pytest # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/test.in -types-python-dateutil==2.8.19.20240106 +types-python-dateutil==2.9.0.20240316 # via # -r requirements/base.txt # arrow @@ -247,7 +251,7 @@ webob==1.8.7 # via # -r requirements/base.txt # xblock -xblock[django]==1.10.0 +xblock[django]==3.0.0 # via # -r requirements/base.txt # acid-xblock diff --git a/sample_xblocks/basic/content.py b/sample_xblocks/basic/content.py index cf5e3e1f..efe0a7aa 100644 --- a/sample_xblocks/basic/content.py +++ b/sample_xblocks/basic/content.py @@ -160,7 +160,7 @@ def fallback_view(self, _view_name, context=None): return Fragment(Template(self.content).substitute(**context)) @classmethod - def parse_xml(cls, node, runtime, keys, id_generator): + def parse_xml(cls, node, runtime, keys): """ Parse the XML for an HTML block. diff --git a/sample_xblocks/basic/problem.py b/sample_xblocks/basic/problem.py index 3d834bbe..104a7f7d 100644 --- a/sample_xblocks/basic/problem.py +++ b/sample_xblocks/basic/problem.py @@ -57,7 +57,7 @@ class ProblemBlock(XBlock): has_children = True @classmethod - def parse_xml(cls, node, runtime, keys, id_generator): + def parse_xml(cls, node, runtime, keys): block = runtime.construct_xblock_from_class(cls, keys) # Find