From 6f0d8b66a574c4c30d5649dd1d964137babf9edc Mon Sep 17 00:00:00 2001 From: tdruez Date: Fri, 10 Jul 2026 13:11:28 +0400 Subject: [PATCH 1/2] chore: bump version to v38.0.0 for release Signed-off-by: tdruez --- CHANGELOG.rst | 29 ++++++++++++++++++++++++++++- pyproject.toml | 2 +- scancodeio/__init__.py | 2 +- uv.lock | 4 ++-- 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 03534745c4..b27ae64f5c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,9 +1,36 @@ Changelog ========= +**v38 Breaking Changes:** + +* Migrate VulnerableCode integration to API v3 + +v38.0.0 (2026-07-10) +-------------------- + +* feat: Migrate VulnerableCode integration to API v3 by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2148 +* fix: add setup-buildx step to enable GHA cache support by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2176 +* feat: denormalize project counts to improve performances by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2178 +* feat: UI refinements for project list and detail pages by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2180 +* chore: upgrade service images to latest version by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2183 +* feat: auto-fill project PURL from single input URL by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2185 +* feat: render the compliance alert value as a colored label by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2186 +* feat: add pipeline availability check with disabled state in UI by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2188 +* feat: replace django-taggit with a plain Project.labels JSONField by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2189 +* feat: move scanpipe settings to local settings.py with lazy resolutio… by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2187 +* fix: ClamAV scan crash on codebase root directory by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2190 +* chore: upgrade vulnerable dependencies by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2191 +* fix: harden SSRF mitigation against redirect and URL-parser bypasses by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2192 +* fix: spelling typos in docs, models, and pipes by @mr-raj12 in https://github.com/aboutcode-org/scancode.io/pull/2046 +* fix: get_data_from_manifests returning wrong type on early exit by @prajakta128 in https://github.com/aboutcode-org/scancode.io/pull/2182 +* docs: update Errors section to Messages in Web UI tutorial by @dikshaa2909 in https://github.com/aboutcode-org/scancode.io/pull/2066 +* fix: flag_and_ignore_files_over_max_size inconsistent return value and docstring by @prajakta128 in https://github.com/aboutcode-org/scancode.io/pull/2184 +* fix: silent overwrite when two input sources share the same filename by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2193 +* fix: xlsx_errors column overwriting last data field in XLSX export by @tdruez in https://github.com/aboutcode-org/scancode.io/pull/2194 + **v37 Breaking Changes:** -- Drop support for Python3.10 and Python3.11 +* Drop support for Python3.10 and Python3.11 v37.2.0 (2026-06-12) -------------------- diff --git a/pyproject.toml b/pyproject.toml index ed1fb51a0b..03d1949e44 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "scancodeio" -version = "37.2.0" +version = "38.0.0" description = "Automate software composition analysis pipelines" readme = "README.rst" requires-python = ">=3.12,<3.15" diff --git a/scancodeio/__init__.py b/scancodeio/__init__.py index 302061b634..4683b7ba06 100644 --- a/scancodeio/__init__.py +++ b/scancodeio/__init__.py @@ -28,7 +28,7 @@ import git -VERSION = "37.2.0" +VERSION = "38.0.0" PROJECT_DIR = Path(__file__).resolve().parent ROOT_DIR = PROJECT_DIR.parent diff --git a/uv.lock b/uv.lock index 27ef2bbe1b..ac6dd69d9a 100644 --- a/uv.lock +++ b/uv.lock @@ -3,7 +3,7 @@ revision = 3 requires-python = ">=3.12, <3.15" [options] -exclude-newer = "2026-07-02T09:19:30.58842Z" +exclude-newer = "2026-07-03T09:09:56.083213Z" exclude-newer-span = "P7D" [[package]] @@ -2929,7 +2929,7 @@ packages = [ [[package]] name = "scancodeio" -version = "37.2.0" +version = "38.0.0" source = { editable = "." } dependencies = [ { name = "aboutcode-api-auth" }, From f18007ebd65834d36774b6f8768f04b56b524c3d Mon Sep 17 00:00:00 2001 From: tdruez Date: Fri, 10 Jul 2026 13:21:13 +0400 Subject: [PATCH 2/2] upgrade dependencies Signed-off-by: tdruez --- pyproject.toml | 21 ++++++------ uv.lock | 90 ++++++++++++++++++++++++++------------------------ 2 files changed, 57 insertions(+), 54 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 03d1949e44..89963ce1db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,22 +36,22 @@ dependencies = [ "importlib-metadata==8.7.1", "setuptools==82.0.1", # Django related - "Django==6.0.5", - "django-environ==0.13.0", + "django==6.0.6", + "django-environ==0.14.0", "django-crispy-forms==2.6", "crispy-bootstrap3==2024.1", "django-filter==25.2", "djangorestframework==3.17.1", "django-htmx==1.27.0", - "django-debug-toolbar==6.3.0", + "django-debug-toolbar==7.0.0", # Database "psycopg[binary]==3.3.4", # wait_for_database Django management command "django-probes==1.8.0", # Task queue - "rq==2.9.0", + "rq==2.10.0", "django-rq==4.1.0", - "redis==7.4.0", + "redis==8.0.1", # WSGI server "gunicorn==26.0.0", "packaging==26.2", @@ -60,7 +60,7 @@ dependencies = [ # ScanCode-toolkit "scancode-toolkit[packages]==32.5.0", "extractcode[full]==31.1.0", - "commoncode==32.4.2", + "commoncode==32.5.2", "Beautifulsoup4[chardet]==4.14.3", "packageurl-python==0.17.6", # FetchCode @@ -77,18 +77,18 @@ dependencies = [ # Utilities "XlsxWriter==3.2.9", "openpyxl==3.1.5", - "requests==2.33.1", + "requests==2.34.2", "charset-normalizer==3.4.7", "chardet==7.4.3", "urllib3==2.7.0", - "idna==3.16", + "idna==3.18", "GitPython==3.1.50", "lxml==6.1.1", - "certifi==2026.5.20", + "certifi==2026.6.17", # Profiling "pyinstrument==5.1.2", # CycloneDX - "cyclonedx-python-lib==11.7.0", + "cyclonedx-python-lib==11.11.0", "jsonschema==4.26.0", # MatchCode-toolkit "matchcode-toolkit==7.2.2", @@ -110,6 +110,7 @@ dependencies = [ "cryptography==49.0.0", "aiohttp==3.14.1", "pydantic-settings==2.14.2", + "croniter==6.2.3", ] [project.optional-dependencies] diff --git a/uv.lock b/uv.lock index ac6dd69d9a..7268a949ba 100644 --- a/uv.lock +++ b/uv.lock @@ -3,7 +3,7 @@ revision = 3 requires-python = ">=3.12, <3.15" [options] -exclude-newer = "2026-07-03T09:09:56.083213Z" +exclude-newer = "2026-07-03T09:18:13.885146Z" exclude-newer-span = "P7D" [[package]] @@ -433,11 +433,11 @@ wheels = [ [[package]] name = "certifi" -version = "2026.5.20" +version = "2026.6.17" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/ce/ee2ecad540810a79593028e88299baeae54d346cc7a0d94b6199988b89b1/certifi-2026.5.20.tar.gz", hash = "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d", size = 135422, upload-time = "2026-05-20T11:46:50.073Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/c7/424b75da314c1045981bd9777432fad05a9e0c69daa4ed7e308bbaffe405/certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432", size = 134594, upload-time = "2026-06-17T10:31:07.894Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/59/8c/57e832b7af6d7c5abe66eb3fbe3a3a32f4d11ea23a1aa7131371035be991/certifi-2026.5.20-py3-none-any.whl", hash = "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897", size = 134134, upload-time = "2026-05-20T11:46:48.578Z" }, + { url = "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db", size = 133289, upload-time = "2026-06-17T10:31:06.348Z" }, ] [[package]] @@ -633,7 +633,7 @@ wheels = [ [[package]] name = "commoncode" -version = "32.4.2" +version = "32.5.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "attrs" }, @@ -643,9 +643,9 @@ dependencies = [ { name = "saneyaml" }, { name = "text-unidecode" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/10/b3/390c26c8715f2256184f8a70f9f65da6d9bfd53a725ebf640857004a9c40/commoncode-32.4.2.tar.gz", hash = "sha256:8f78ca62085b4a0c3c4dfc2820d61fd1cd24bc64b4a76dc7d6a4db46766eda3c", size = 1742998, upload-time = "2026-01-08T07:55:16.289Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/69/50e2f0cac532d373c15b5d41bc9d948cf273b6a6dcf24649e6fbccb82e59/commoncode-32.5.2.tar.gz", hash = "sha256:2964ca058cf93f2917048ee3ff03907cf65f8f2034de09992b52063801a91790", size = 114405, upload-time = "2026-06-11T10:30:40.786Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/6c/e82a1152974c9e1ed0a6de0ed52f4dd062258b4ad7b64524d7fd8b1177f7/commoncode-32.4.2-py3-none-any.whl", hash = "sha256:ca0986a31fb6438b683cae06cf3af49259800fb0c6ba4d72c4b42b4d202d45db", size = 94409, upload-time = "2026-01-08T07:55:14.561Z" }, + { url = "https://files.pythonhosted.org/packages/75/38/cbf9da6c3905dcc96a8519b5f33d35ec62766a0a8b7933dfbe632b015807/commoncode-32.5.2-py3-none-any.whl", hash = "sha256:eb1e7919b73f752a000b974128768abc0a9b4867058fa1321ebed1552fabde75", size = 130456, upload-time = "2026-06-11T10:30:39.475Z" }, ] [[package]] @@ -687,14 +687,14 @@ wheels = [ [[package]] name = "croniter" -version = "6.2.2" +version = "6.2.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "python-dateutil" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/de/5832661ed55107b8a09af3f0a2e71e0957226a59eb1dcf0a445cce6daf20/croniter-6.2.2.tar.gz", hash = "sha256:ba60832a5ec8e12e51b8691c3309a113d1cf6526bdf1a48150ce8ec7a532d0ab", size = 113762, upload-time = "2026-03-15T08:43:48.112Z" } +sdist = { url = "https://files.pythonhosted.org/packages/03/35/96ad0a71eb0b27ab4476a7ed23facd0713d82da9c911edc8af7f34a62d6a/croniter-6.2.3.tar.gz", hash = "sha256:fb129986ef7e2c44e3f4c9f503da83ad914d2afa48f40a43ee3dca4b5c41d476", size = 166174, upload-time = "2026-07-02T14:34:22.166Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/39/783980e78cb92c2d7bdb1fc7dbc86e94ccc6d58224d76a7f1f51b6c51e30/croniter-6.2.2-py3-none-any.whl", hash = "sha256:a5d17b1060974d36251ea4faf388233eca8acf0d09cbd92d35f4c4ac8f279960", size = 45422, upload-time = "2026-03-15T08:43:46.626Z" }, + { url = "https://files.pythonhosted.org/packages/5c/dd/6466498a8b69754cffbd7237ce4c66446ca5ffcf53fb397d437666f056d2/croniter-6.2.3-py3-none-any.whl", hash = "sha256:137a97001b4d52fb71c10b750e303db79e6e42d40fff8ff77126102176c9f786", size = 46446, upload-time = "2026-07-02T14:34:20.889Z" }, ] [[package]] @@ -749,7 +749,7 @@ wheels = [ [[package]] name = "cyclonedx-python-lib" -version = "11.7.0" +version = "11.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "license-expression" }, @@ -758,9 +758,9 @@ dependencies = [ { name = "sortedcontainers" }, { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/21/0d/64f02d3fd9c116d6f50a540d04d1e4f2e3c487f5062d2db53733ddb25917/cyclonedx_python_lib-11.7.0.tar.gz", hash = "sha256:fb1bc3dedfa31208444dbd743007f478ab6984010a184e5bd466bffd969e936e", size = 1411174, upload-time = "2026-03-17T15:19:16.606Z" } +sdist = { url = "https://files.pythonhosted.org/packages/75/c9/5d0ccdd19bc7d8ab803b90695c1706aa2ea8529685d18e682dc2524d2630/cyclonedx_python_lib-11.11.0.tar.gz", hash = "sha256:4b3194db72b613717f2912447e67ab618c75ff7dcac6c4af3c0e9e1ac617c102", size = 1442983, upload-time = "2026-06-17T11:57:49.055Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/09/fe0e3bc32bd33707c519b102fc064ad2a2ce5a1b53e2be38b86936b476b1/cyclonedx_python_lib-11.7.0-py3-none-any.whl", hash = "sha256:02fa4f15ddbba21ac9093039f8137c0d1813af7fe88b760c5dcd3311a8da2178", size = 513041, upload-time = "2026-03-17T15:19:14.369Z" }, + { url = "https://files.pythonhosted.org/packages/22/f3/56ccb2884aaa3db5622368e5191a3384b15f35392aa93df8b2f508c660d2/cyclonedx_python_lib-11.11.0-py3-none-any.whl", hash = "sha256:3049fc83e06a059b5c5907a527625a8ed5073caab10607ed4c9e5503b590fd44", size = 528689, upload-time = "2026-06-17T11:57:47.358Z" }, ] [[package]] @@ -816,16 +816,16 @@ wheels = [ [[package]] name = "django" -version = "6.0.5" +version = "6.0.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "asgiref" }, { name = "sqlparse" }, { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5e/f1/bf85f0d29ef76abf901f193fe8fef4769d3da7794197832bc30151c071d8/django-6.0.5.tar.gz", hash = "sha256:bc6d6872e98a2864c836e42edd644b362db311147dd5aa8d5b82ba7a032f5269", size = 10924131, upload-time = "2026-05-05T13:54:39.329Z" } +sdist = { url = "https://files.pythonhosted.org/packages/78/29/ac41e16097af67066d97a7d5775c5d8e7efc5d0284f6b0a159e07b9adb92/django-6.0.6.tar.gz", hash = "sha256:ad03916ba59523d781ae5c3f631960c23d69a9d9c43cecda52fc23b47e953713", size = 10905525, upload-time = "2026-06-03T13:02:46.503Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/5b/1328f8b84fce040c404f76822bf8c57d254e368e8cbd8bd67ec2b26d75f5/django-6.0.5-py3-none-any.whl", hash = "sha256:9d58a7cb49244e74c8e161d5e403a46d6209f1009ba40f5a66d6aa0d0786a8f0", size = 8368680, upload-time = "2026-05-05T13:54:33.532Z" }, + { url = "https://files.pythonhosted.org/packages/eb/50/23f9dc45483419a3cc2085b498b25adfbf10642b2941c73e6d2dfaffc9ab/django-6.0.6-py3-none-any.whl", hash = "sha256:25148b1194c47c2e685e5f5e9c5d59c78b075dfd282cb9618861ba6c1708f4d2", size = 8373354, upload-time = "2026-06-03T13:02:41.72Z" }, ] [[package]] @@ -842,24 +842,24 @@ wheels = [ [[package]] name = "django-debug-toolbar" -version = "6.3.0" +version = "7.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, { name = "sqlparse" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d8/ea/b62673424dd72d2dbf5adf4145281a421d5792f47380d9bc8e3b11e1a769/django_debug_toolbar-6.3.0.tar.gz", hash = "sha256:f830a86fe02e17f625a22cfbed24a5bd1500762e201ec959c50efb0f9327282b", size = 334079, upload-time = "2026-04-02T16:07:01.385Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/ac/3ac674f99c64bfbcd9ae3d7f5f3577f23ea52884e5ac36842e1f024dce03/django_debug_toolbar-7.0.0.tar.gz", hash = "sha256:ef7494c5b459c149e87cc2da88d86e944064945e86bd7b2d879093586b5fefbf", size = 359560, upload-time = "2026-06-19T00:21:23.346Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/9e/d8c3c845f4b5ccac7377c19f4049e7e00c6f121846a81f69a497b45734df/django_debug_toolbar-6.3.0-py3-none-any.whl", hash = "sha256:a199ce3d0f884739a9096835ad417479fede05f3b3c4824bc8b354721ba8f629", size = 298304, upload-time = "2026-04-02T16:06:59.617Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ab/684a56624f9ed35127e203e52d2c241f3b7b70d37cfa8cb2ba4fc8e1e8d7/django_debug_toolbar-7.0.0-py3-none-any.whl", hash = "sha256:656161388ce48384276342eeb16d532113ec670816fa1546cc3753730aa51b3d", size = 302038, upload-time = "2026-06-19T00:21:21.531Z" }, ] [[package]] name = "django-environ" -version = "0.13.0" +version = "0.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/3c/60983e6ec9b24a8d8588eecebfd21123cba980bce0a905807a27692f0860/django_environ-0.13.0.tar.gz", hash = "sha256:6c401e4c219442c2c4588c2116d5292b5484a6f69163ed09cd41f3943bfb645f", size = 63529, upload-time = "2026-02-18T01:08:08.791Z" } +sdist = { url = "https://files.pythonhosted.org/packages/57/e1/4c4ddcf6e90f023e89edb1d92f9a7fffce61ad4b691df497f2f5c0be6e26/django_environ-0.14.0.tar.gz", hash = "sha256:b6c48d93b9d2ff8a3ea14099e90c35aa4f101c1b4d5f262dfee0d27b06742ed7", size = 60417, upload-time = "2026-06-18T22:49:55.847Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c4/00/3767393ece946084e1c6830a33ffb8e39d68642e27ad5ac7d4c8bd5de866/django_environ-0.13.0-py3-none-any.whl", hash = "sha256:37799d14cd78222c6fd8298e48bfe17965ff8e586091ad66a463e52e0e7b799e", size = 20682, upload-time = "2026-02-18T01:08:07.359Z" }, + { url = "https://files.pythonhosted.org/packages/1a/fe/67b423fc30f16d10259e901320fbc121746bf168aaaad9043e6ebb0110c1/django_environ-0.14.0-py3-none-any.whl", hash = "sha256:8dbe8a57f0a540ab8abd6f54f230de5e99e3a2c9d797cb9caecb037bca3d47d8", size = 20934, upload-time = "2026-06-18T22:49:54.355Z" }, ] [[package]] @@ -1314,11 +1314,11 @@ wheels = [ [[package]] name = "idna" -version = "3.16" +version = "3.18" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1a/88/bcf9709822fe69d02c2a6a77956c98ce6ea8ca8767a9aadcedc7eb6a2390/idna-3.16.tar.gz", hash = "sha256:d7a6da03db833450fca25d2358ac9ff06cd624577a4aea3a596d5c0f77b8e03d", size = 203770, upload-time = "2026-05-22T00:16:18.781Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/16/70255075a9859a0e3adb789b68ceb0e210dec03934245fd98d248226572f/idna-3.16-py3-none-any.whl", hash = "sha256:cc246e3a3f89580c3a951b5ad298ca4638078b2cdd4f115654332b5c26daded5", size = 74165, upload-time = "2026-05-22T00:16:16.698Z" }, + { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, ] [[package]] @@ -2606,11 +2606,11 @@ wheels = [ [[package]] name = "redis" -version = "7.4.0" +version = "8.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7b/7f/3759b1d0d72b7c92f0d70ffd9dc962b7b7b5ee74e135f9d7d8ab06b8a318/redis-7.4.0.tar.gz", hash = "sha256:64a6ea7bf567ad43c964d2c30d82853f8df927c5c9017766c55a1d1ed95d18ad", size = 4943913, upload-time = "2026-03-24T09:14:37.53Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/c3/928b290c2c0ca99ab96eea5b4ff8f30be8112b075301a7d3ba214a3c8c12/redis-8.0.1.tar.gz", hash = "sha256:afc5a7a2f5a084f5b1880dec548dd45be17db7e43c82a30d84f952aefb05cfb0", size = 5114170, upload-time = "2026-06-23T14:52:37.728Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/74/3a/95deec7db1eb53979973ebd156f3369a72732208d1391cd2e5d127062a32/redis-7.4.0-py3-none-any.whl", hash = "sha256:a9c74a5c893a5ef8455a5adb793a31bb70feb821c86eccb62eebef5a19c429ec", size = 409772, upload-time = "2026-03-24T09:14:35.968Z" }, + { url = "https://files.pythonhosted.org/packages/fd/0a/c2345ebf1ebe70840ce3f6c6ee612f8fa749cfbd1b03069c53bf0c62aaad/redis-8.0.1-py3-none-any.whl", hash = "sha256:47daa35a058c23468d6437f17a8c76882cb316b838ef763036af99b96cedd743", size = 502406, upload-time = "2026-06-23T14:52:36.137Z" }, ] [[package]] @@ -2643,7 +2643,7 @@ wheels = [ [[package]] name = "requests" -version = "2.33.1" +version = "2.34.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -2651,9 +2651,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, ] [package.optional-dependencies] @@ -2777,16 +2777,16 @@ wheels = [ [[package]] name = "rq" -version = "2.9.0" +version = "2.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "click" }, { name = "croniter" }, { name = "redis" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/15/5e/43a7a61f3ebfa79789c72bf442a47fd80bb1a743caeea47b2b833001f388/rq-2.9.0.tar.gz", hash = "sha256:db5dfc1e1fe80ef977fd557d4305107dcf99a80b33d381c9a06e8a2bb11730e5", size = 744959, upload-time = "2026-05-19T15:00:29.894Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/a8/7bf65cda593feb5888214a4d1e64aae6fc5eb0bbbb74df922c916099a3e5/rq-2.10.0.tar.gz", hash = "sha256:2d8c533dd27500fedabec06295f18db595966e4f22744e6988fe31155b8f7a21", size = 754610, upload-time = "2026-06-20T03:11:45.919Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/a9/aa38ae2505e5dcb1e898f83a263e703b05829580f75ee86c5e480760ae1a/rq-2.9.0-py3-none-any.whl", hash = "sha256:665b9ad34e36ea15913e60d2a32e1775fef1e9aff907bcae297d6f70dccffed2", size = 120113, upload-time = "2026-05-19T15:00:27.511Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d3/f8c59750a1c98f99d225954eb2c3dd89f2d66b666c448b4b0dff79ab29ed/rq-2.10.0-py3-none-any.whl", hash = "sha256:1f072e0ff79771f3d3a810170df4c4836dca9ce9f31330a9fc25e25277620ec8", size = 124665, upload-time = "2026-06-20T03:11:47.524Z" }, ] [[package]] @@ -2947,6 +2947,7 @@ dependencies = [ { name = "commoncode" }, { name = "container-inspector" }, { name = "crispy-bootstrap3" }, + { name = "croniter" }, { name = "cryptography" }, { name = "cyclonedx-python-lib" }, { name = "django" }, @@ -3018,19 +3019,20 @@ requires-dist = [ { name = "beautifulsoup4", extras = ["chardet"], specifier = "==4.14.3" }, { name = "binary-inspector", specifier = "==0.2.0" }, { name = "bleach", specifier = "==6.4.0" }, - { name = "certifi", specifier = "==2026.5.20" }, + { name = "certifi", specifier = "==2026.6.17" }, { name = "chardet", specifier = "==7.4.3" }, { name = "charset-normalizer", specifier = "==3.4.7" }, { name = "clamd", specifier = "==1.0.2" }, - { name = "commoncode", specifier = "==32.4.2" }, + { name = "commoncode", specifier = "==32.5.2" }, { name = "container-inspector", specifier = "==33.1.0" }, { name = "crispy-bootstrap3", specifier = "==2024.1" }, + { name = "croniter", specifier = "==6.2.3" }, { name = "cryptography", specifier = "==49.0.0" }, - { name = "cyclonedx-python-lib", specifier = "==11.7.0" }, - { name = "django", specifier = "==6.0.5" }, + { name = "cyclonedx-python-lib", specifier = "==11.11.0" }, + { name = "django", specifier = "==6.0.6" }, { name = "django-crispy-forms", specifier = "==2.6" }, - { name = "django-debug-toolbar", specifier = "==6.3.0" }, - { name = "django-environ", specifier = "==0.13.0" }, + { name = "django-debug-toolbar", specifier = "==7.0.0" }, + { name = "django-environ", specifier = "==0.14.0" }, { name = "django-filter", specifier = "==25.2" }, { name = "django-htmx", specifier = "==1.27.0" }, { name = "django-probes", specifier = "==1.8.0" }, @@ -3044,7 +3046,7 @@ requires-dist = [ { name = "gitpython", specifier = "==3.1.50" }, { name = "go-inspector", specifier = "==0.5.0" }, { name = "gunicorn", specifier = "==26.0.0" }, - { name = "idna", specifier = "==3.16" }, + { name = "idna", specifier = "==3.18" }, { name = "importlib-metadata", specifier = "==8.7.1" }, { name = "jsonschema", specifier = "==4.26.0" }, { name = "lxml", specifier = "==6.1.1" }, @@ -3058,9 +3060,9 @@ requires-dist = [ { name = "pydantic-settings", specifier = "==2.14.2" }, { name = "pyinstrument", specifier = "==5.1.2" }, { name = "python-inspector", specifier = "==0.15.2" }, - { name = "redis", specifier = "==7.4.0" }, - { name = "requests", specifier = "==2.33.1" }, - { name = "rq", specifier = "==2.9.0" }, + { name = "redis", specifier = "==8.0.1" }, + { name = "requests", specifier = "==2.34.2" }, + { name = "rq", specifier = "==2.10.0" }, { name = "ruff", marker = "extra == 'dev'", specifier = "==0.15.14" }, { name = "rust-inspector", specifier = "==0.2.1" }, { name = "scancode-toolkit", extras = ["packages"], specifier = "==32.5.0" },