diff --git a/lang/python-doc-html/distinfo b/lang/python-doc-html/distinfo
index 8202a86fd20d..e0bae4a193da 100644
--- a/lang/python-doc-html/distinfo
+++ b/lang/python-doc-html/distinfo
@@ -1,41 +1,41 @@
-TIMESTAMP = 1726081897
+TIMESTAMP = 1733386424
SHA256 (python/python-2.7.18-docs-html.tar.bz2) = 20445e9a571cacdd350f702f0980e4dc559b6ff81f1d69affe9b0a862fef2f0e
SIZE (python/python-2.7.18-docs-html.tar.bz2) = 4634932
SHA256 (python/python-2.7.18-docs-pdf-a4.tar.bz2) = dbac6953e48aac341351067ba0938393e415b10bf48ac8cbbc7247deaf13ab67
SIZE (python/python-2.7.18-docs-pdf-a4.tar.bz2) = 11486967
SHA256 (python/python-2.7.18-docs-pdf-letter.tar.bz2) = 565971040db8994630fd5c2447e45c38428cfb22a7845cd2620160daf2c60b1e
SIZE (python/python-2.7.18-docs-pdf-letter.tar.bz2) = 11486126
SHA256 (python/python-2.7.18-docs-text.tar.bz2) = c86f5b5a2bd8f90158523efd350198d6cde7353965ef5a6ca5e54e5174af47f2
SIZE (python/python-2.7.18-docs-text.tar.bz2) = 1631043
SHA256 (python/python-3.10.15-docs-html.tar.bz2) = a740d8c11f672a28cd21daa599b3751988022175be8c748b5410e3a4372b0828
SIZE (python/python-3.10.15-docs-html.tar.bz2) = 7452520
SHA256 (python/python-3.10.15-docs-pdf-a4.tar.bz2) = fbf35d60ef16ba4b4ba7f88ed78acb9bd00386f7339dd2d391574e17d68a6224
SIZE (python/python-3.10.15-docs-pdf-a4.tar.bz2) = 16543291
SHA256 (python/python-3.10.15-docs-pdf-letter.tar.bz2) = 309bb8e45229bf88edbc339914f4de85ab9a0a1f157a52270f99728dfd2fdc69
SIZE (python/python-3.10.15-docs-pdf-letter.tar.bz2) = 16644436
SHA256 (python/python-3.10.15-docs-text.tar.bz2) = b9f74545c485c26d60d3feb5b1a127191fcd58e8e047a62327001a2cc4f978b2
SIZE (python/python-3.10.15-docs-text.tar.bz2) = 2683837
SHA256 (python/python-3.11.10-docs-html.tar.bz2) = 6eeed16865c386679def105055b2fc09263c9ac4af500b4cecb024e4943cf80e
SIZE (python/python-3.11.10-docs-html.tar.bz2) = 7988162
SHA256 (python/python-3.11.10-docs-pdf-a4.tar.bz2) = 0ff73263168f99693e4f87d379b1a55b8dc95e41faa8208a24ceab47029acfa5
SIZE (python/python-3.11.10-docs-pdf-a4.tar.bz2) = 17355973
SHA256 (python/python-3.11.10-docs-pdf-letter.tar.bz2) = d35c03be5b6634c770ebd31e81c68907879cafd34403a11075c6444365b6acf6
SIZE (python/python-3.11.10-docs-pdf-letter.tar.bz2) = 17488268
SHA256 (python/python-3.11.10-docs-text.tar.bz2) = 34aae592c0f3a0af28f633d166fcc45d3c53f001ae04287edd49925a4d1f1fca
SIZE (python/python-3.11.10-docs-text.tar.bz2) = 2826502
SHA256 (python/python-3.8.20-docs-html.tar.bz2) = 607e09f3ad7fd8638b4e32b5f92badefd0ec5620caf4e1cedf0c969349c30b81
SIZE (python/python-3.8.20-docs-html.tar.bz2) = 6727651
SHA256 (python/python-3.8.20-docs-pdf-a4.tar.bz2) = f0084efbe629bd14f5ab09e23775509ebf36fb6f4abaf026b0c6386ebe4b12e6
SIZE (python/python-3.8.20-docs-pdf-a4.tar.bz2) = 15125296
SHA256 (python/python-3.8.20-docs-pdf-letter.tar.bz2) = e0c385d3497d278acc334549d6b8e07fd56d363dc351c16eb01b959ba91792be
SIZE (python/python-3.8.20-docs-pdf-letter.tar.bz2) = 15235810
SHA256 (python/python-3.8.20-docs-text.tar.bz2) = aeca1b6f67b356cc2787294fa98e90162aceb02c6f7c1eabcf44ac4f037a92e7
SIZE (python/python-3.8.20-docs-text.tar.bz2) = 2444931
-SHA256 (python/python-3.9.20-docs-html.tar.bz2) = 90d7e27dac32b6bf40c9134757d35bde31e17c056ae183f4ebac9447d1fc0b88
-SIZE (python/python-3.9.20-docs-html.tar.bz2) = 6988218
-SHA256 (python/python-3.9.20-docs-pdf-a4.tar.bz2) = dc063d43ccb8753b1383137ae532880c53bdc104f42b990b69cf5aa961e4d81d
-SIZE (python/python-3.9.20-docs-pdf-a4.tar.bz2) = 15751964
-SHA256 (python/python-3.9.20-docs-pdf-letter.tar.bz2) = d2943c2798afb248126859ccdbd7008c88a162f1fbf0fc05c7e3f3e14c1c2dff
-SIZE (python/python-3.9.20-docs-pdf-letter.tar.bz2) = 15863386
-SHA256 (python/python-3.9.20-docs-text.tar.bz2) = 60fccc8f716b1364087e0191715660bcc0c711ea706d8ef7d5e4bec52d9a376d
-SIZE (python/python-3.9.20-docs-text.tar.bz2) = 2553492
+SHA256 (python/python-3.9.21-docs-html.tar.bz2) = 5bde5e1568d61d8ea9a8c2cbb272a37868a09717a6f95faba0b1a77dc515de3e
+SIZE (python/python-3.9.21-docs-html.tar.bz2) = 6989677
+SHA256 (python/python-3.9.21-docs-pdf-a4.tar.bz2) = 90740fc4ca814ee743d456f530fb7b5b3276ba1ff729c891da9ec834852d3d8b
+SIZE (python/python-3.9.21-docs-pdf-a4.tar.bz2) = 15753451
+SHA256 (python/python-3.9.21-docs-pdf-letter.tar.bz2) = e2f57a845c66cdcf506d86aa16befa49f2ac8ec3d4d3959f14d0b2f559f5946c
+SIZE (python/python-3.9.21-docs-pdf-letter.tar.bz2) = 15864180
+SHA256 (python/python-3.9.21-docs-text.tar.bz2) = 4e5ce8f977e221ce77ce058194d007b95f29d5ff2baa3a2961322768c25a9e2b
+SIZE (python/python-3.9.21-docs-text.tar.bz2) = 2554222
diff --git a/lang/python39/Makefile.version b/lang/python39/Makefile.version
index 86edcdff798b..4c8d5aa2d94d 100644
--- a/lang/python39/Makefile.version
+++ b/lang/python39/Makefile.version
@@ -1,7 +1,7 @@
# Mk/Uses/python.mk includes this file, don't remove it!
# Do not forget to
# 1. Update python documentation (lang/python-doc-*)
# Run "make -C lang/python-doc-html makesum"
# 2. Remove PORTREVISION in Makefile
-PYTHON_DISTVERSION= 3.9.20
+PYTHON_DISTVERSION= 3.9.21
diff --git a/lang/python39/distinfo b/lang/python39/distinfo
index 7ec880d6bbaa..717eb4507ca4 100644
--- a/lang/python39/distinfo
+++ b/lang/python39/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726212016
-SHA256 (python/Python-3.9.20.tar.xz) = 6b281279efd85294d2d6993e173983a57464c0133956fbbb5536ec9646beaf0c
-SIZE (python/Python-3.9.20.tar.xz) = 19648968
+TIMESTAMP = 1733385857
+SHA256 (python/Python-3.9.21.tar.xz) = 3126f59592c9b0d798584755f2bf7b081fa1ca35ce7a6fea980108d752a05bb1
+SIZE (python/Python-3.9.21.tar.xz) = 19647056