Skip to content

chore: add uv exclude-newer policy#3903

Open
lucarlig wants to merge 5 commits intomainfrom
chore/uv-newer
Open

chore: add uv exclude-newer policy#3903
lucarlig wants to merge 5 commits intomainfrom
chore/uv-newer

Conversation

@lucarlig
Copy link
Copy Markdown
Collaborator

🔗 Related Issue

Closes #3902


📝 Summary

Add a repository-level uv exclude-newer policy and refresh uv.lock under that policy.

This uses a 10 days window. A 14 days window was evaluated first, but it currently makes resolution unsatisfiable because sse-starlette>=3.3.3 falls inside that cutoff.


🏷️ Type of Change

  • Bug fix
  • Feature / Enhancement
  • Documentation
  • Refactor
  • Chore (deps, CI, tooling)
  • Other (describe below)

🧪 Verification

Check Command Status
Lockfile validation uv lock --check
Lockfile refresh uv lock
Pre-commit hooks on diff git commit

✅ Checklist

  • Code formatted (make black isort pre-commit)
  • Tests added/updated for changes
  • Documentation updated (if applicable)
  • No secrets or credentials committed

📓 Notes (optional)

The detect-secrets hook refreshed .secrets.baseline metadata and line numbers after the pyproject.toml insertion, so that file is included with the config and lockfile changes.

Closes #3902

Signed-off-by: lucarlig <luca.carlig@ibm.com>
@lucarlig lucarlig marked this pull request as ready for review March 28, 2026 08:28
@lucarlig lucarlig requested a review from crivetimihai as a code owner March 28, 2026 08:28
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 28, 2026

⚠️ Deprecation Warning: The deny-licenses option is deprecated for possible removal in the next major release. For more information, see issue 997.

Dependency Review

The following issues were found:
  • ❌ 1 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 12 package(s) with unknown licenses.
See the Details below.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA dd4962b.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Vulnerabilities

uv.lock

NameVersionVulnerabilitySeverity
requests2.32.5Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility functionmoderate
Only included vulnerabilities with severity moderate or higher.

License Issues

uv.lock

PackageVersionLicenseIssue Type
build1.4.0NullUnknown License
jaraco-context6.1.1NullUnknown License
langchain-core1.2.23NullUnknown License
langgraph1.1.2NullUnknown License
langgraph-sdk0.3.11NullUnknown License
langsmith0.7.20NullUnknown License
pipdeptree2.31.0NullUnknown License
pyrefly0.57.0NullUnknown License
python-discovery1.1.3NullUnknown License
tox4.50.0NullUnknown License
uv0.10.11NullUnknown License
vulture2.15NullUnknown License
Denied Licenses: GPL-1.0, GPL-2.0, GPL-3.0, AGPL-3.0, SSPL-1.0, RPL-1.5, OSL-3.0, CPAL-1.0
Excluded from license check: pkg:pypi/pylint-pydantic

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
pip/requests 2.32.5 UnknownUnknown
pip/cryptography 46.0.5 UnknownUnknown
pip/anyio 4.12.1 UnknownUnknown
pip/attrs 25.4.0 UnknownUnknown
pip/build 1.4.0 UnknownUnknown
pip/faker 40.11.0 🟢 4.9
Details
CheckScoreReason
Code-Review⚠️ 2Found 7/30 approved changesets -- score normalized to 2
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Maintained🟢 1030 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Packaging⚠️ -1packaging workflow not detected
Token-Permissions🟢 9detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Binary-Artifacts🟢 10no binaries found in the repo
Security-Policy⚠️ 0security policy file not detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Signed-Releases⚠️ -1no releases found
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/fastapi 0.135.1 UnknownUnknown
pip/gunicorn 25.1.0 UnknownUnknown
pip/jaraco-context 6.1.1 UnknownUnknown
pip/jsonpointer 3.0.0 🟢 4.6
Details
CheckScoreReason
Code-Review🟢 5Found 4/7 approved changesets -- score normalized to 5
Packaging⚠️ -1packaging workflow not detected
Maintained🟢 1014 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 10no binaries found in the repo
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Security-Policy⚠️ 0security policy file not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/langchain-core 1.2.23 UnknownUnknown
pip/langgraph 1.1.2 UnknownUnknown
pip/langgraph-sdk 0.3.11 UnknownUnknown
pip/langsmith 0.7.20 UnknownUnknown
pip/nh3 0.3.3 UnknownUnknown
pip/openai 2.29.0 UnknownUnknown
pip/pipdeptree 2.31.0 UnknownUnknown
pip/protobuf 6.33.5 UnknownUnknown
pip/pyrefly 0.57.0 UnknownUnknown
pip/pytest-cov 7.0.0 UnknownUnknown
pip/python-discovery 1.1.3 UnknownUnknown
pip/redis 7.3.0 UnknownUnknown
pip/ruff 0.15.6 UnknownUnknown
pip/tomli 2.4.0 UnknownUnknown
pip/tox 4.50.0 UnknownUnknown
pip/ty 0.0.23 UnknownUnknown
pip/uv 0.10.11 UnknownUnknown
pip/vulture 2.15 UnknownUnknown
pip/werkzeug 3.1.6 UnknownUnknown

Scanned Files

  • uv.lock

Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
Signed-off-by: lucarlig <luca.carlig@ibm.com>
@crivetimihai crivetimihai added chore Linting, formatting, dependency hygiene, or project maintenance chores SHOULD P2: Important but not vital; high-value items that are not crucial for the immediate release devops DevOps activities (containers, automation, deployment, makefiles, etc) labels Mar 29, 2026
@crivetimihai crivetimihai added this to the Release 1.0.0 milestone Mar 29, 2026
@crivetimihai
Copy link
Copy Markdown
Member

Thanks @lucarlig — reproducible lockfile resolution is a valuable CI improvement. The 10-day exclude-newer window is a reasonable trade-off given the sse-starlette constraint. Please rebase onto main to resolve the merge conflicts so we can get this merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Linting, formatting, dependency hygiene, or project maintenance chores devops DevOps activities (containers, automation, deployment, makefiles, etc) SHOULD P2: Important but not vital; high-value items that are not crucial for the immediate release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CHORE][CI]: Add uv exclude-newer dependency age guardrail

2 participants