Skip to content

Commit 24d3896

Browse files
authored
feat!: Upgrading to django52. (#4680)
* feat!: Upgrading to django52.
1 parent 6812335 commit 24d3896

File tree

12 files changed

+231
-224
lines changed

12 files changed

+231
-224
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
python-version: ['py312']
14-
django-version: ['django42', 'django52']
14+
django-version: ['django52']
1515
db-version: ['mysql80']
1616
pytest-split-group: [1, 2, 3, 4, 5, 6]
1717
status: ['']

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ $(COMMON_CONSTRAINTS_TXT):
5555
upgrade: $(COMMON_CONSTRAINTS_TXT)
5656
sed 's/django-simple-history==3.0.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
5757
mv requirements/common_constraints.tmp requirements/common_constraints.txt
58+
sed 's/Django<5.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
59+
mv requirements/common_constraints.tmp requirements/common_constraints.txt
5860
pip install -q -r requirements/pip_tools.txt
5961
pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip.txt requirements/pip.in
6062
pip-compile --rebuild --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in

requirements/base.txt

Lines changed: 48 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
5-
# pip-compile --output-file=requirements/base.txt requirements/base.in
5+
# pip-compile --cert=None --client-cert=None --index-url=None --output-file=requirements/base.txt --pip-args=None requirements/base.in
66
#
77
aiohappyeyeballs==2.6.1
88
# via aiohttp
@@ -21,7 +21,7 @@ algoliasearch-django==1.7.3
2121
# -r requirements/base.in
2222
amqp==5.3.1
2323
# via kombu
24-
asgiref==3.9.1
24+
asgiref==3.9.2
2525
# via
2626
# django
2727
# django-cors-headers
@@ -37,22 +37,22 @@ attrs==25.3.0
3737
# zeep
3838
backoff==2.2.1
3939
# via -r requirements/base.in
40-
beautifulsoup4==4.13.5
40+
beautifulsoup4==4.14.2
4141
# via
4242
# -r requirements/base.in
4343
# taxonomy-connector
44-
billiard==4.2.1
44+
billiard==4.2.2
4545
# via celery
46-
boto3==1.40.16
46+
boto3==1.40.41
4747
# via
4848
# django-ses
4949
# snowflake-connector-python
50-
botocore==1.40.16
50+
botocore==1.40.41
5151
# via
5252
# boto3
5353
# s3transfer
5454
# snowflake-connector-python
55-
cachetools==5.5.2
55+
cachetools==6.2.0
5656
# via google-auth
5757
cairocffi==1.7.1
5858
# via cairosvg
@@ -78,7 +78,7 @@ charset-normalizer==3.4.3
7878
# via
7979
# requests
8080
# snowflake-connector-python
81-
click==8.2.1
81+
click==8.3.0
8282
# via
8383
# celery
8484
# click-didyoumean
@@ -94,10 +94,11 @@ click-repl==0.3.0
9494
# via celery
9595
code-annotations==2.3.0
9696
# via edx-toggles
97-
contentful==2.4.0
97+
contentful==2.5.0
9898
# via -r requirements/base.in
99-
cryptography==45.0.6
99+
cryptography==45.0.7
100100
# via
101+
# -c requirements/constraints.txt
101102
# pyjwt
102103
# pyopenssl
103104
# snowflake-connector-python
@@ -110,9 +111,8 @@ defusedxml==0.7.1
110111
# djangorestframework-xml
111112
# python3-openid
112113
# social-auth-core
113-
django==4.2.23
114+
django==5.2.6
114115
# via
115-
# -c requirements/common_constraints.txt
116116
# -c requirements/constraints.txt
117117
# -r requirements/base.in
118118
# algoliasearch-django
@@ -181,7 +181,7 @@ django-config-models==2.9.0
181181
# via -r requirements/base.in
182182
django-contrib-comments==2.2.0
183183
# via -r requirements/base.in
184-
django-cors-headers==4.7.0
184+
django-cors-headers==4.9.0
185185
# via -r requirements/base.in
186186
django-countries==7.6.1
187187
# via -r requirements/base.in
@@ -208,7 +208,9 @@ django-filter==25.1
208208
django-fsm==3.0.0
209209
# via -r requirements/base.in
210210
django-guardian==3.0.3
211-
# via -r requirements/base.in
211+
# via
212+
# -c requirements/constraints.txt
213+
# -r requirements/base.in
212214
django-libsass==0.9
213215
# via -r requirements/base.in
214216
django-localflavor==5.0
@@ -219,7 +221,7 @@ django-multi-email-field==0.8.0
219221
# via -r requirements/base.in
220222
django-multiselectfield==1.0.1
221223
# via -r requirements/base.in
222-
django-nested-admin==4.1.3
224+
django-nested-admin==4.1.4
223225
# via -r requirements/base.in
224226
django-nine==0.2.7
225227
# via django-elasticsearch-dsl-drf
@@ -275,15 +277,15 @@ djangorestframework-csv==3.0.2
275277
# via -r requirements/base.in
276278
djangorestframework-xml==2.0.0
277279
# via -r requirements/base.in
278-
dnspython==2.7.0
280+
dnspython==2.8.0
279281
# via pymongo
280282
drf-extensions==0.8.0
281283
# via -r requirements/base.in
282284
drf-flex-fields==1.0.2
283285
# via -r requirements/base.in
284286
drf-jwt==1.19.2
285287
# via edx-drf-extensions
286-
drf-yasg==1.21.10
288+
drf-yasg==1.21.11
287289
# via
288290
# -r requirements/base.in
289291
# edx-api-doc-tools
@@ -301,7 +303,7 @@ edx-django-release-util==1.5.0
301303
# via -r requirements/base.in
302304
edx-django-sites-extensions==5.1.0
303305
# via -r requirements/base.in
304-
edx-django-utils==8.0.0
306+
edx-django-utils==8.0.1
305307
# via
306308
# -r requirements/base.in
307309
# django-config-models
@@ -361,9 +363,9 @@ getsmarter-api-clients==0.6.3
361363
# via -r requirements/base.in
362364
google-api-core==2.25.1
363365
# via google-api-python-client
364-
google-api-python-client==2.179.0
366+
google-api-python-client==2.183.0
365367
# via -r requirements/base.in
366-
google-auth==2.40.3
368+
google-auth==2.41.0
367369
# via
368370
# google-api-core
369371
# google-api-python-client
@@ -382,7 +384,7 @@ gspread==6.2.1
382384
# via -r requirements/base.in
383385
html2text==2025.4.15
384386
# via -r requirements/base.in
385-
httplib2==0.22.0
387+
httplib2==0.31.0
386388
# via
387389
# google-api-python-client
388390
# google-auth-httplib2
@@ -407,24 +409,24 @@ jsonfield==3.2.0
407409
# via -r requirements/base.in
408410
jsonschema==4.25.1
409411
# via -r requirements/base.in
410-
jsonschema-specifications==2025.4.1
412+
jsonschema-specifications==2025.9.1
411413
# via jsonschema
412414
kombu==5.5.4
413415
# via celery
414416
libsass==0.23.0
415417
# via django-libsass
416-
lxml[html-clean]==6.0.1
418+
lxml[html-clean]==6.0.2
417419
# via
418420
# -r requirements/base.in
419421
# lxml-html-clean
420422
# zeep
421423
lxml-html-clean==0.4.2
422424
# via lxml
423-
markdown==3.8.2
425+
markdown==3.9
424426
# via -r requirements/base.in
425-
markupsafe==3.0.2
427+
markupsafe==3.0.3
426428
# via jinja2
427-
more-itertools==10.7.0
429+
more-itertools==10.8.0
428430
# via simple-salesforce
429431
multidict==6.6.4
430432
# via
@@ -453,32 +455,30 @@ packaging==25.0
453455
# drf-yasg
454456
# kombu
455457
# snowflake-connector-python
456-
pbr==7.0.1
457-
# via stevedore
458458
pillow==9.5.0
459459
# via
460460
# -c requirements/constraints.txt
461461
# -r requirements/base.in
462462
# cairosvg
463463
# django-stdimage
464-
platformdirs==4.3.8
464+
platformdirs==4.4.0
465465
# via
466466
# snowflake-connector-python
467467
# zeep
468-
prompt-toolkit==3.0.51
468+
prompt-toolkit==3.0.52
469469
# via click-repl
470470
propcache==0.3.2
471471
# via
472472
# aiohttp
473473
# yarl
474474
proto-plus==1.26.1
475475
# via google-api-core
476-
protobuf==6.32.0
476+
protobuf==6.32.1
477477
# via
478478
# google-api-core
479479
# googleapis-common-protos
480480
# proto-plus
481-
psutil==7.0.0
481+
psutil==7.1.0
482482
# via edx-django-utils
483483
pyasn1==0.6.1
484484
# via
@@ -488,7 +488,7 @@ pyasn1-modules==0.4.2
488488
# via google-auth
489489
pycountry==24.6.1
490490
# via -r requirements/base.in
491-
pycparser==2.22
491+
pycparser==2.23
492492
# via cffi
493493
pyjwt[crypto]==2.10.1
494494
# via
@@ -499,13 +499,13 @@ pyjwt[crypto]==2.10.1
499499
# simple-salesforce
500500
# snowflake-connector-python
501501
# social-auth-core
502-
pymongo==4.14.1
502+
pymongo==4.15.1
503503
# via edx-opaque-keys
504-
pynacl==1.5.0
504+
pynacl==1.6.0
505505
# via edx-django-utils
506-
pyopenssl==25.1.0
506+
pyopenssl==25.3.0
507507
# via snowflake-connector-python
508-
pyparsing==3.2.3
508+
pyparsing==3.2.5
509509
# via httplib2
510510
python-dateutil==2.9.0.post0
511511
# via
@@ -532,7 +532,7 @@ pytz==2025.2
532532
# snowflake-connector-python
533533
# taxonomy-connector
534534
# zeep
535-
pyyaml==6.0.2
535+
pyyaml==6.0.3
536536
# via
537537
# code-annotations
538538
# drf-yasg
@@ -577,13 +577,13 @@ requests-toolbelt==0.10.1
577577
# zeep
578578
rjsmin==1.2.2
579579
# via django-compressor
580-
rpds-py==0.27.0
580+
rpds-py==0.27.1
581581
# via
582582
# jsonschema
583583
# referencing
584584
rsa==4.9.1
585585
# via google-auth
586-
s3transfer==0.13.1
586+
s3transfer==0.14.0
587587
# via boto3
588588
semantic-version==2.10.0
589589
# via edx-drf-extensions
@@ -598,10 +598,11 @@ six==1.17.0
598598
# edx-django-release-util
599599
# elasticsearch-dsl
600600
# python-dateutil
601-
snowflake-connector-python==3.17.2
601+
snowflake-connector-python==3.17.4
602602
# via -r requirements/base.in
603603
social-auth-app-django==5.4.3
604604
# via
605+
# -c requirements/constraints.txt
605606
# -r requirements/base.in
606607
# edx-auth-backends
607608
social-auth-core==4.7.0
@@ -610,16 +611,16 @@ social-auth-core==4.7.0
610611
# social-auth-app-django
611612
sortedcontainers==2.4.0
612613
# via snowflake-connector-python
613-
soupsieve==2.7
614+
soupsieve==2.8
614615
# via beautifulsoup4
615616
sqlparse==0.5.3
616617
# via django
617-
stevedore==5.4.1
618+
stevedore==5.5.0
618619
# via
619620
# code-annotations
620621
# edx-django-utils
621622
# edx-opaque-keys
622-
taxonomy-connector==2.3.9
623+
taxonomy-connector==2.3.13
623624
# via -r requirements/base.in
624625
text-unidecode==1.3
625626
# via python-slugify
@@ -631,7 +632,7 @@ tomlkit==0.13.3
631632
# via snowflake-connector-python
632633
tqdm==4.67.1
633634
# via openai
634-
typing-extensions==4.14.1
635+
typing-extensions==4.15.0
635636
# via
636637
# aiosignal
637638
# beautifulsoup4
@@ -661,7 +662,7 @@ vine==5.1.0
661662
# kombu
662663
walrus==0.9.5
663664
# via edx-event-bus-redis
664-
wcwidth==0.2.13
665+
wcwidth==0.2.14
665666
# via prompt-toolkit
666667
webencodings==0.5.1
667668
# via
@@ -671,7 +672,7 @@ xss-utils==0.8.0
671672
# via -r requirements/base.in
672673
yarl==1.20.1
673674
# via aiohttp
674-
zeep==4.3.1
675+
zeep==4.3.2
675676
# via simple-salesforce
676677
zipp==3.23.0
677678
# via importlib-metadata

requirements/common_constraints.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# this file from Github directly. It does not require packaging in edx-lint.
1313

1414
# using LTS django version
15-
Django<5.0
15+
1616

1717
# elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process.
1818
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html

requirements/constraints.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
-c common_constraints.txt
55

66
# Stay on an LTS release
7-
django<4.3
7+
django<5.3
88

99
# Elasticsearch upgrades need to be done in lockstep across Open edX
1010
elasticsearch>=7.8,<7.14
@@ -54,3 +54,11 @@ openai<=0.28.1
5454
# importlib.resources' has no attribute 'files'
5555
# To be unpinned once course-discovery moves to Python 3.12
5656
edx-lint==5.3.7
57+
58+
# upgrade it seperately
59+
social-auth-app-django<=5.4.3
60+
# upgrade it seperately. new version brings new migration.
61+
django-guardian==3.0.3
62+
63+
# latest release has major upgrade.
64+
cryptography<46.0.0

0 commit comments

Comments
 (0)