Skip to content

chore(deps): bump pypdf from 6.14.2 to 6.15.0 in /envs/repl_env - #1073

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/repl_env/pypdf-6.15.0
Open

chore(deps): bump pypdf from 6.14.2 to 6.15.0 in /envs/repl_env#1073
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/uv/envs/repl_env/pypdf-6.15.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 9, 2026

Copy link
Copy Markdown
Contributor

Bumps pypdf from 6.14.2 to 6.15.0.

Release notes

Sourced from pypdf's releases.

Version 6.15.0, 2026-08-06

What's new

Security (SEC)

Deprecations (DEP)

New Features (ENH)

  • Add ActualText tag when we produce RTL appearance stream (#3901) by @​PJBrs
  • Allow keeping original PDF header in non-incremental clone mode (#3918) by @​pctablet505
  • AppearanceStream: Add support for RTL appearance streams with Arabic characters (#3831) by @​PJBrs
  • Add actions base class (#3552) by @​j-t-1

Bug Fixes (BUG)

Documentation (DOC)

Maintenance (MAINT)

Full Changelog

Changelog

Sourced from pypdf's changelog.

Version 6.15.0, 2026-08-06

Security (SEC)

  • Improve performance of read_until_whitespace (#3947)
  • Limit CID width range and width count when loading fonts (#3946)
  • Limit token length for ToUnicode entries (#3944)

Deprecations (DEP)

  • Deprecate previously missed inline_images setter as well (#3897)

New Features (ENH)

  • Add ActualText tag when we produce RTL appearance stream (#3901)
  • Allow keeping original PDF header in non-incremental clone mode (#3918)
  • AppearanceStream: Add support for RTL appearance streams with Arabic characters (#3831)
  • Add actions base class (#3552)

Bug Fixes (BUG)

  • Expand low-bit samples for images without a filter (#3938)
  • Decode low-bit DeviceRGB images as RGB instead of palette (#3929)
  • Correctly handle IndirectObject in FlateDecode.decode DecodeParms (#3937)

Documentation (DOC)

  • Image and attachment filenames are unsanitized (#3942)

Maintenance (MAINT)

  • Update charset mappings (#3935)

Full Changelog

Commits
  • 7f226a2 REL: 6.15.0
  • 4959848 SEC: Improve performance of read_until_whitespace (#3947)
  • 51cb6ac SEC: Limit CID width range and width count when loading fonts (#3946)
  • afba808 SEC: Limit token length for ToUnicode entries (#3944)
  • aa2f37d DOC: Image and attachment filenames are unsanitized (#3942)
  • 760ba28 DOC: Further clarify security policy
  • 55bd85c BUG: Expand low-bit samples for images without a filter (#3938)
  • 4807cb4 ROB: Tolerate malformed /FontBBox when building font descriptors (#3895)
  • ce9320b DEV: Bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (#3941)
  • 8b6f6fd ENH: Add ActualText tag when we produce RTL appearance stream (#3901)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Note

Low Risk
Dependency-only patch/minor bump on server-side PDF parsing; security fixes reduce risk versus staying on 6.14.2, with no direct code changes.

Overview
Raises the pypdf floor in envs/repl_env from 6.14.2 to 6.15.0 in pyproject.toml and refreshes uv.lock so the REPL Gradio tab’s server-side PDF upload path (_extract_text_from_upload / PdfReader) resolves to the newer release.

6.15.0 brings security hardening (limits on font/CID/ToUnicode parsing and read_until_whitespace performance), plus minor bug fixes and deprecations; no application code changes beyond the dependency pins. Lockfile edits for pandas / secretstorage dependency markers are incidental resolver output, not functional changes in this repo.

Reviewed by Cursor Bugbot for commit 6da100f. Bugbot is set up for automated code reviews on this repo. Configure here.

Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.14.2 to 6.15.0.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](py-pdf/pypdf@6.14.2...6.15.0)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added Dependencies python:uv Pull requests that update python:uv code labels Aug 9, 2026
@burtenshaw burtenshaw added environment size: small Small pull request labels Aug 9, 2026 — with Cursor
@bot-ci-comment

bot-ci-comment Bot commented Aug 9, 2026

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alignment Review Report

Scope: this PR is a Dependabot minor version bump of pypdf (6.14.26.15.0) in envs/repl_env. It touches only envs/repl_env/pyproject.toml and envs/repl_env/uv.lockno Python source, no README, nothing under src/.

Automated Checks

  • Lint: PASS (for this PR's scope). The repo-wide .claude/hooks/lint.sh hook reports pre-existing formatting drift in ~25 unrelated envs/* files (and Python code blocks inside their READMEs). None of those files are modified by this PR, and this PR changes zero .py files, so no lint issue is attributable to this change. (Note: uv was not preinstalled in the review environment and had to be installed to run the hook.)
  • Debug code: CLEAN (for this PR's scope). .claude/hooks/check-debug.sh only scans src/; every print/TODO it flags is pre-existing and untouched here, since this PR changes nothing under src/.

Open RFCs Context

Open/active RFCs: 000, 001, 002 (all In Review; 002 has a pending amendment), 003 (In Review), 005 (In Review), 010 (Draft). None relate to third-party dependency management or the repl_env Gradio document-upload feature, so none are relevant to this change.

Tier 1: Fixes Required

  • None. pyproject.toml (pypdf>=6.15.0) and uv.lock (pypdf 6.15.0, with matching sdist + wheel hashes) are internally consistent. The extra uv.lock churn (marker normalization for pandas 2.3.3/3.0.1 and secretstorage) is a benign uv lock re-resolution artifact, not a functional change.

Tier 2: Alignment Discussion

Principle Conflicts

None identified. pypdf is an optional, server-side-only dependency (guarded by try/except ImportError in envs/repl_env/server/gradio_ui.py) used solely by the Gradio debug UI's document-upload path — outside the smolagents sandbox and outside both API boundaries. No principle (lifecycle deltas, human/agent parity, hands-on, design-for-LLMs) is affected.

RFC Conflicts

None identified. The change does not touch any area under discussion in the open RFCs.

Summary

  • 0 mechanical issues to fix
  • 0 alignment points for human review
  • 0 RFC conflicts to discuss

Verdict: Low-risk, self-contained dependency bump. The only usage is the stable PdfReader / .pages / .extract_text() API (gradio_ui.py), which is unchanged across this minor release, so breakage risk is minimal. Safe to merge once CI is green.

Open in Web View Automation 

Sent by Cursor Automation: Pre-review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alignment Review Report

Third pypdf-in-repl_env bump (after #1013 6.13.3→6.14.2 and the #1015 aggregate). This is a native Dependabot minor bump 6.14.2 → 6.15.0 touching only envs/repl_env/pyproject.toml (direct-dep floor) and envs/repl_env/uv.lock (requires-dist + the [[package]] pypdf version/sdist/wheel). No Python source, no src/, no README.

Automated Checks

  • Lint: PASS (for this PR's scope). .claude/hooks/lint.sh flags ~25 pre-existing formatting-drift files under envs/* (and Python code fences inside their READMEs), but this PR changes zero .py files — only .toml/.lock, which the pipeline never lints — so nothing is attributable to this change. (uv isn't preinstalled on the review VM; installed on demand to run the checks.)
  • Debug code: CLEAN (for this PR's scope). check-debug.sh scans only src/; every hit is pre-existing and untouched here.
  • uv lock --check --project envs/repl_env: PASS (121 packages) — the lock is internally consistent with the bumped floor.

Open RFCs Context

Active RFCs: 000/001/002/003/005 (In Review; 002 has a pending Cloud-Sandbox amendment), 010 (Draft), plus 004 (rubrics, no status header) and 008 (auto-validation, In Review). None relate to packaging / dependency management / PyPI, so none are relevant to this change.

Tier 1: Fixes Required

None. Verified:

  • Hashes are real & match PyPI exactly, yanked=false: wheel sha256:14e001d6… (378123 B), sdist sha256:d39c4d95… (6993794 B).
  • Constraints satisfied: pypdf requires-python >=3.9 ⊇ repl_env >=3.10; its only runtime dep is typing_extensions>=4.0; python<3.11 (already locked); no new transitive deps.
  • Lock is born-clean: revision = 3 unchanged, 0 HF-mirror refs (126 pypi.org/simple at both base and head), and only pypdf's files.pythonhosted.org lines changed — so no index-source-flip and no revision-bump side effects.
  • The extra pandas/secretstorage environment-marker simplifications in the lock are a benign uv marker-normalization artifact (resolved versions unchanged; uv lock --check passes).

Tier 2: Alignment Discussion

Security (positive — reason to merge)

This is effectively a security upgrade. pypdf 6.14.2 (currently on main) is affected by two newly-disclosed DoS advisories, both fixed in exactly 6.15.0:

repl_env runs PdfReader(...).pages[*].extract_text() on user-uploaded PDFs (envs/repl_env/server/gradio_ui.py:146) — exactly the code path these CVEs target — so the upgrade is well-motivated.

Principle Conflicts

None identified. pypdf is an optional (guarded try/except ImportError), server-side-only dependency used solely by the Gradio debug UI's document-upload path — outside the smolagents sandbox and outside both API boundaries.

RFC Conflicts

None identified. No RFC covers packaging / dependency management / PyPI.

Process note (recurring, non-blocking)

ALIGNMENT FLAG: Native Dependabot env-lock PR bypasses exclude-paths

  • Policy at stake: .github/dependabot.yml's uv updater is configured directory: "/" with exclude-paths: ["envs/**"].
  • The concern: this native dependabot/uv/envs/repl_env/… PR still edits envs/repl_env/**, i.e. the exclude-paths filter isn't honored by the uv ecosystem (known platform limitation). The intended aggregation path is the codex/dependabot-envs-* roll-ups. Recurs on every native env-lock PR; harmless for this change, but worth reconciling config vs. actual behavior.
  • Suggested reviewer: @burtenshaw (dependabot.yml author)

Summary

  • 0 mechanical issues to fix
  • 1 alignment point for human review (recurring exclude-paths process mismatch; non-blocking)
  • 0 RFC conflicts

Verdict: Clean, born-clean, security-positive direct-dependency bump. Safe to merge once CI is green.

Open in Web View Automation 

Sent by Cursor Automation: Pre-review

"gradio>=4.0.0",
# Document upload support in the Gradio tab (server-side only, not in the sandbox)
"pypdf>=6.14.2",
"pypdf>=6.15.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Direct-dep floor bump. 6.15.0 is a security fix: it patches CVE-2026-71852 and CVE-2026-71870 — both DoS-during-text-extraction issues from crafted PDFs that affect 6.14.2. This is directly relevant because repl_env calls extract_text() on user-uploaded PDFs in server/gradio_ui.py. Constraint-wise, pypdf requires-python >=3.9 is satisfied by repl_env's >=3.10, and its only runtime dep (typing_extensions) is already locked.

Comment thread envs/repl_env/uv.lock
[[package]]
name = "pypdf"
version = "6.14.2"
version = "6.15.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hashes verified against PyPI: wheel 14e001d6… (378123 B) and sdist d39c4d95… (6993794 B), yanked=false. The lock is born-clean (revision = 3 unchanged, 0 HF-mirror refs — all pypi.org/simple), so there's no index-flip or revision-bump side effect, and uv lock --check --project envs/repl_env passes (121 packages). The unrelated pandas/secretstorage marker simplifications elsewhere in this file are benign uv normalization.

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

Labels

Dependencies environment python:uv Pull requests that update python:uv code size: small Small pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant