Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
matrix:
os: [ubuntu-latest]
python-version: ["3.12"]
toxenv: [quality, js, django42, django52]
toxenv: [quality, js, django52]

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
run: tox

- name: Run Coverage
if: matrix.python-version == '3.12' && matrix.toxenv=='django42'
if: matrix.python-version == '3.12' && matrix.toxenv=='django52'
uses: codecov/codecov-action@303a32d7a59b442fa8d48b6a1cc6825c09c847a5 # v7.1.1
with:
flags: unittests
Expand Down
2 changes: 1 addition & 1 deletion openassessment/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Initialization Information for Open Assessment Module
"""

__version__ = '7.1.1'
__version__ = '7.2'
8 changes: 4 additions & 4 deletions openassessment/assessment/test/test_serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@ def test_missing_options(self):
self.assertEqual(
criteria_exception_message.exception.errors,
{
'criteria': [
{'options': ['This field is required.']},
{} # No errors in second criterion
]
'criteria': {
0: {'options': ['This field is required.']},
# missing dict means no errors in second criterion
}
}
)

Expand Down
11 changes: 9 additions & 2 deletions pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
# SERIOUSLY.
#
# ------------------------------
# Generated by edx-lint version: 5.4.1
# Generated by edx-lint version: 6.2.0
# ------------------------------
[MASTER]
ignore = .git, .tox, migrations, acceptance
Expand Down Expand Up @@ -257,6 +257,8 @@ enable =
deprecated-pragma,
unrecognized-inline-option,
useless-suppression,

pii-invalid-no-pii-annotation,
disable =
bad-indentation,
broad-exception-raised,
Expand Down Expand Up @@ -396,4 +398,9 @@ int-import-graph =
[EXCEPTIONS]
overgeneral-exceptions = builtins.Exception

# 277a3b24a7413d64d2bb3186d6b0eae7fba4186e
[PII]
pii-terms =
email,
username

# b87d620b0f4d418cc3c9a16b247248a292d9100f
67 changes: 33 additions & 34 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,33 +6,33 @@
#
appdirs==1.4.4
# via fs
asgiref==3.11.1
asgiref==3.12.1
# via django
attrs==26.1.0
# via openedx-events
bleach==6.3.0
bleach==6.4.0
# via -r requirements/base.in
boto3==1.43.22
boto3==1.43.105
# via -r requirements/base.in
botocore==1.43.22
botocore==1.43.105
# via
# boto3
# s3transfer
certifi==2026.5.20
certifi==2026.7.22
# via requests
cffi==2.0.0
cffi==2.1.1
# via pynacl
charset-normalizer==3.4.7
charset-normalizer==3.5.1
# via requests
click==8.4.1
click==8.5.0
# via
# code-annotations
# edx-django-utils
code-annotations==3.0.0
# via edx-toggles
defusedxml==0.7.1
# via -r requirements/base.in
django==5.2.15
django==5.2.17
# via
# -c requirements/common_constraints.txt
# -r requirements/base.in
Expand All @@ -57,13 +57,13 @@ django-model-utils==5.0.0
# via
# -r requirements/base.in
# edx-submissions
django-simple-history==3.11.0
django-simple-history==3.13.0
# via -r requirements/base.in
django-waffle==5.0.0
# via
# edx-django-utils
# edx-toggles
djangorestframework==3.17.1
djangorestframework==3.18.1
# via
# -r requirements/base.in
# edx-submissions
Expand All @@ -73,7 +73,7 @@ edx-ccx-keys==2.0.2
# via openedx-events
edx-django-release-util==1.5.0
# via edx-submissions
edx-django-utils==8.0.1
edx-django-utils==8.0.2
# via
# -r requirements/base.in
# edx-toggles
Expand All @@ -86,7 +86,8 @@ edx-opaque-keys[django]==4.0.0
# edx-ccx-keys
# openedx-events
# openedx-filters
edx-submissions==4.0.0
# xblock
edx-submissions==4.0.2
# via -r requirements/base.in
edx-toggles==6.0.0
# via -r requirements/base.in
Expand All @@ -96,7 +97,7 @@ fs==2.4.16
# via xblock
html5lib==1.1
# via -r requirements/base.in
idna==3.18
idna==3.20
# via requests
jinja2==3.1.6
# via code-annotations
Expand All @@ -108,17 +109,17 @@ jsonfield==3.2.0
# via
# -r requirements/base.in
# edx-submissions
lazy==1.6
lazy==2.0
# via -r requirements/base.in
lxml[html-clean]==6.1.1
lxml[html-clean]==6.1.3
# via
# -r requirements/base.in
# edx-i18n-tools
# lxml-html-clean
# xblock
lxml-html-clean==0.4.5
# via lxml
mako==1.3.12
mako==1.4.3
# via xblock
markupsafe==3.0.3
# via
Expand All @@ -127,7 +128,7 @@ markupsafe==3.0.3
# xblock
openedx-events==11.2.0
# via -r requirements/base.in
openedx-filters==3.4.1
openedx-filters==3.14.0
# via -r requirements/base.in
path==16.16.0
# via
Expand All @@ -141,7 +142,7 @@ psutil==7.2.2
# via edx-django-utils
pycparser==3.0
# via cffi
pymongo==4.17.0
pymongo==4.18.2
# via edx-opaque-keys
pynacl==1.6.2
# via edx-django-utils
Expand All @@ -150,11 +151,11 @@ python-dateutil==2.9.0.post0
# -r requirements/base.in
# botocore
# xblock
python-slugify==8.0.4
python-slugify==9.1.2
# via code-annotations
python-swiftclient==4.10.0
python-swiftclient==4.11.0
# via -r requirements/base.in
pytz==2026.2
pytz==2026.4
# via
# -r requirements/base.in
# edx-submissions
Expand All @@ -167,9 +168,9 @@ pyyaml==6.0.3
# xblock
requests==2.34.2
# via python-swiftclient
s3transfer==0.18.0
s3transfer==0.19.2
# via boto3
simplejson==4.1.1
simplejson==4.1.2
# via xblock
six==1.17.0
# via
Expand All @@ -178,36 +179,34 @@ six==1.17.0
# fs
# html5lib
# python-dateutil
sqlparse==0.5.5
sqlparse==0.6.0
# via django
stevedore==5.8.0
stevedore==5.9.1
# via
# code-annotations
# edx-django-utils
# edx-opaque-keys
text-unidecode==1.3
# via python-slugify
typing-extensions==4.15.0
typing-extensions==4.16.0
# via edx-opaque-keys
urllib3==2.7.0
urllib3==2.8.0
# via
# botocore
# requests
voluptuous==0.16.0
# via -r requirements/base.in
web-fragments==4.0.0
# via xblock
webencodings==0.5.1
webencodings==0.6.1
# via
# bleach
# html5lib
webob==1.8.10
webob==1.8.11
# via xblock
xblock==6.1.0
xblock==6.3.3
# via -r requirements/base.in

# The following packages are considered to be unsafe in a requirements file:
setuptools==82.0.1
setuptools==84.0.0
# via
# fs
# openedx-events
Expand Down
42 changes: 23 additions & 19 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,62 +4,62 @@
#
# make upgrade
#
annotated-doc==0.0.4
annotated-doc==0.0.5
# via typer
cachetools==7.1.4
cachetools==7.2.0
# via
# -r requirements/tox.txt
# tox
certifi==2026.5.20
certifi==2026.7.22
# via requests
charset-normalizer==3.4.7
charset-normalizer==3.5.1
# via requests
colorama==0.4.6
# via
# -r requirements/tox.txt
# tox
coverage[toml]==7.14.1
coverage[toml]==7.16.2
# via coveralls
coveralls==4.1.0
# via -r requirements/ci.in
distlib==0.4.1
distlib==0.4.3
# via
# -r requirements/tox.txt
# virtualenv
filelock==3.29.1
filelock==4.0.7
# via
# -r requirements/tox.txt
# python-discovery
# tox
# virtualenv
idna==3.18
idna==3.20
# via requests
markdown-it-py==4.2.0
# via rich
mdurl==0.1.2
# via markdown-it-py
packaging==26.2
packaging==26.3
# via
# -r requirements/tox.txt
# pyproject-api
# tox
platformdirs==4.10.0
# virtualenv
platformdirs==4.12.2
# via
# -r requirements/tox.txt
# python-discovery
# tox
# virtualenv
pluggy==1.6.0
# via
# -r requirements/tox.txt
# tox
pygments==2.20.0
pygments==2.21.0
# via rich
pyproject-api==1.10.1
pyproject-api==1.11.2
# via
# -r requirements/tox.txt
# tox
python-discovery==1.4.0
python-discovery==1.6.1
# via
# -r requirements/tox.txt
# tox
Expand All @@ -74,17 +74,21 @@ tomli-w==1.2.0
# via
# -r requirements/tox.txt
# tox
tox==4.55.1
tox==4.64.5
# via -r requirements/tox.txt
typer==0.26.7
typer==0.27.2
# via coveralls
urllib3==2.7.0
typing-extensions==4.16.0
# via
# -r requirements/tox.txt
# tox
urllib3==2.8.0
# via requests
virtualenv==21.4.2
virtualenv==21.14.1
# via
# -r requirements/tox.txt
# tox

# The following packages are considered to be unsafe in a requirements file:
setuptools==82.0.1
setuptools==84.0.0
# via -r requirements/ci.in
23 changes: 23 additions & 0 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,26 @@ Django<6.0
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
# See https://github.com/openedx/edx-platform/issues/35126 for more info
elasticsearch<7.14.0

# 2026-07-06: Constrain social-auth-* packages to the latest version compatible with
# edx-drf-extensions<=10.6.0. (Newer versions require a POST instead of a GET.)
# Tracking issue: https://github.com/openedx/edx-drf-extensions/issues/561
social-auth-app-django<6.0.0
social-auth-core<5.0.0

# 2026-08-11: pip-tools is only tested against the latest pip released at the time
# pip-tools was released; also, pip-tools package dependencies are extremely permissive
# about the pip version required, so the dependency resolver will not prevent an unwanted
# pip upgrade which would break pip-tools. The end result is that pip MUST be constrained
# by all pip-tools users in order to avoid potentially weeks-long lapses in pip <->
# pip-tools compatibility. We've constrained pip here in common_constraints.txt in the
# past, but always removed it once the issue was "fixed". Removing this constraint was
# always a mistake.
#
# This is a semi-permanent constraint and should be manually bumped after each pip-tools
# release.
#
# Exceptional conditions for removal:
# - We stop using pip-tools, OR
# - We migrate to the proposed `pip-tools[stable]` extra: https://github.com/jazzband/pip-tools/pull/2257
pip<26.2.1 # Known to work with pip-tools==7.6.1
Loading
Loading