Skip to content

deps: bump pypdf from 6.16.1 to 6.16.2 - #110

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pypdf-6.16.1
Closed

deps: bump pypdf from 6.16.1 to 6.16.2#110
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/pypdf-6.16.1

Conversation

@dependabot

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

Copy link
Copy Markdown

Bumps pypdf from 6.16.1 to 6.16.2.

Release notes

Sourced from pypdf's releases.

Version 6.16.2, 2026-08-23

What's new

Bug Fixes (BUG)

Robustness (ROB)

  • Improve RC4 fallback when cryptography can't provide it (#3853) by @​msylw

Full Changelog

Changelog

Sourced from pypdf's changelog.

Version 6.16.2, 2026-08-23

Bug Fixes (BUG)

  • Make remove_from_tree() work on outline items (#3939)
  • Be more lenient about space width in layout mode text extraction (#3992)
  • Do not scale the text leading by the font size (#3987)
  • Update annotation appearance stream matrix on page transform (#3968)
  • Allow repeated page references (#3959)

Robustness (ROB)

  • Improve RC4 fallback when cryptography can't provide it (#3853)

Full Changelog

Commits
  • 1da0987 REL: 6.16.2
  • f6853cc BUG: Make remove_from_tree() work on outline items (#3939)
  • c6d38af BUG: Type character widths as float (#3996)
  • 882b3b2 STY: Type the XMP stream as StreamObject rather than ContentStream (#3995)
  • 4c8f707 STY: Accept any sequence of fit arguments in Fit (#3990)
  • 2450321 STY: Accept any sequence as the annotation border (#3991)
  • 2dcab8d MAINT: Skip test_appearance_stream_rtl when RTL support is unavailable (#3993)
  • 412975a BUG: Be more lenient about space width in layout mode text extraction (#3992)
  • ddbfea9 BUG: Interpolate the reader in the reset_translation error message (#3981)
  • c646ef2 ROB: Improve RC4 fallback when cryptography can't provide it (#3853)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 31, 2026
@dependabot
dependabot Bot requested a review from Cranot as a code owner August 31, 2026 10:35
@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 31, 2026
@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

roam-code Analysis

Mode: incremental (changed-only) — base 2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5, 1 changed+dependent files

Health Score: 76/100 FAIR

health: Fair codebase (76/100) — 66 critical, 0 warnings, focus: god_components
pr-risk: Moderate risk (30/100) — review recommended (risk_level medium) (driver: test_coverage_low)

Health Metrics

Metric Value
Health Score 76/100
Tangle Ratio 0.7%
Propagation Cost 0.0279
Total Issues 66

PR Risk

Metric Value
Risk Score 30/100

Quality Gate: PASSED

Gate expression: health_score>=50

SARIF Upload

Metric Value
Category roam-code-self-analysis/self-analysis/py3.12
Results Uploaded 117
Full analysis output

health

{
  "_meta": {
    "cache_ttl_s": 300,
    "cacheable": true,
    "index_age_s": 423433,
    "index_status": {
      "dirty_files": 0,
      "fresh": false,
      "head_commit": "708dbc0b6c4c",
      "hint": "index latest commit e4ce5f1cfe7a != HEAD 708dbc0b6c4c — git-derived metrics (commits, churn, co-change, weather) may be stale. Run `roam index --force`.",
      "indexed_commit": "e4ce5f1cfe7a"
    },
    "latency_ms": null,
    "response_tokens": 6996,
    "roam_version": "14.0.2",
    "timestamp": "2026-09-05T08:16:22Z"
  },
  "actionable_count": 18,
  "actionable_cycles": 1,
  "agent_contract": {
    "confidence": null,
    "facts": [
      "Fair codebase (76/100) — 66 critical, 0 warnings, focus: god_components",
      "health score 76",
      "tangle ratio 0.7",
      "0.0279 propagation cost findings",
      "issue count 66"
    ],
    "next_commands": [
      "roam debt",
      "roam trends --days 30"
    ],
    "risks": []
  },
  "algebraic_connectivity": null,
  "algebraic_connectivity_available": false,
  "bottleneck_thresholds": {
    "list_limit": 15,
    "p70": 36867.2,
    "p90": 174379.9,
    "population": 3449,
    "utility_multiplier": 1.5
  },
  "category_severity": {
    "bottlenecks": {
      "critical": 15,
      "info": 0,
      "warning": 0
    },
    "cycles": {
      "critical": 1,
      "info": 0,
      "warning": 0
    },
    "god_components": {
      "critical": 50,
      "info": 0,
      "warning": 0
    },
    "layer_violations": {
      "critical": 0,
      "info": 0,
      "warning": 0
    }
  },
  "command": "health",
  "cycles_actionable": 1,
  "cycles_total": 52,
  "framework_filtered": 0,
  "god_component_thresholds": {
    "list_limit": 50,
    "min_degree": 20,
    "population": 634
  },
  "health_score": 76,
  "ignored_cycles": 51,
  "imported_coverable_lines": 0,
  "imported_coverage_files": 0,
  "imported_coverage_pct": null,
  "imported_covered_lines": 0,
  "index_status": {
    "dirty_files": 0,
    "fresh": false,
    "head_commit": "708dbc0b6c4c",
    "hint": "index latest commit e4ce5f1cfe7a != HEAD 708dbc0b6c4c — git-derived metrics (commits, churn, co-change, weather) may be stale. Run `roam index --force`.",
    "indexed_commit": "e4ce5f1cfe7a"
  },
  "issue_count": 66,
  "list_counts": {
    "bottlenecks": 15,
    "cycle_break_suggestions": 1,
    "cycles": 52,
    "god_components": 50,
    "layer_violations": 0,
    "next_steps": 2,
    "score_breakdown": 5
  },
  "project": "roam-code",
  "propagation_cost": 0.0279,
  "schema": "roam-envelope-v1",
  "schema_version": "1.2.0",
  "severity": {
    "critical": 66,
    "info": 51,
    "warning": 0
  },
  "summary": {
    "actionable_cycles": 1,
    "algebraic_connectivity": null,
    "algebraic_connectivity_available": false,
    "category_severity": {
      "bottlenecks": {
        "critical": 15,
        "info": 0,
        "warning": 0
      },
      "cycles": {
        "critical": 1,
        "info": 0,
        "warning": 0
      },
      "god_components": {
        "critical": 50,
        "info": 0,
        "warning": 0
      },
      "layer_violations": {
        "critical": 0,
        "info": 0,
        "warning": 0
      }
    },
    "cycles_actionable": 1,
    "cycles_definition": "Cycle counts derived from `roam.graph.cycles.find_cycles(G, min_size=2)` on the symbol graph. `cycles_total` = all SCCs of size >= 2; `cycles_actionable` = SCCs spanning >=2 files AND no test files (same-file and test-only cycles are informational). Run `roam health` for the per-cycle breakdown.",
    "cycles_total": 52,
    "detail_available": true,
    "god_components": 50,
    "god_components_definition": "God components: symbols where `(in_degree + out_degree) > 20` from the `graph_metrics` table, with utility-aware severity bands (standard >50=CRITICAL >30=WARNING; utility >150=CRITICAL >90=WARNING). Run `roam health` for the per-symbol breakdown. Legacy aliases: `god_objects` (fingerprint), `god_classes` (rules).",
    "health_score": 76,
    "health_score_definition": "weighted geometric mean (0-100) of 5 sigmoid health factors: tangle_ratio, god_components, bottlenecks, layer_violations, file_health (+coverage if available); computed by roam.quality.health_score.compute_health_score, shared verbatim with the `snapshots` writer so `roam health --baseline` compares like with like.",
    "ignored_cycles": 51,
    "imported_coverage_files": 0,
    "imported_coverage_pct": null,
    "issue_count": 66,
    "partial_success": true,
    "preserved_list_truncations": {},
    "propagation_cost": 0.0279,
    "severity": {
      "critical": 66,
      "info": 51,
      "warning": 0
    },
    "tangle_ratio": 0.7,
    "tangle_ratio_definition": "percent of symbols inside non-trivial SCCs (size >= 2), counting ALL such SCCs, not just actionable ones; higher = more cyclic coupling. `roam fingerprint` reports the identical measurement as a fraction (percent / 100).",
    "total_cycles": 52,
    "truncated": true,
    "truncation_reason": "detail_mode",
    "verdict": "Fair codebase (76/100) — 66 critical, 0 warnings, focus: god_components",
    "warnings_out": [
      "health_algebraic_connectivity_warning:RuntimeWarning:algebraic_connectivity compute failed (ModuleNotFoundError): No module named 'numpy'; returning 0.0 sentinel — value is NOT a legitimate disconnected-graph reading",
      "health_god_components_list_capped:showing_top_50_of_634",
      "health_bottlenecks_list_capped:showing_top_15_of_3449"
    ]
  },
  "tangle_ratio": 0.7,
  "total_cycles": 52,
  "utility_count": 32,
  "version": "14.0.2",
  "warnings_out": [
    "health_algebraic_connectivity_warning:RuntimeWarning:algebraic_connectivity compute failed (ModuleNotFoundError): No module named 'numpy'; returning 0.0 sentinel — value is NOT a legitimate disconnected-graph reading",
    "health_god_components_list_capped:showing_top_50_of_634",
    "health_bottlenecks_list_capped:showing_top_15_of_3449"
  ]
}

pr-risk

{
  "_meta": {
    "cache_ttl_s": 60,
    "cacheable": true,
    "index_age_s": 423434,
    "index_status": {
      "dirty_files": 0,
      "fresh": false,
      "head_commit": "708dbc0b6c4c",
      "hint": "index latest commit e4ce5f1cfe7a != HEAD 708dbc0b6c4c — git-derived metrics (commits, churn, co-change, weather) may be stale. Run `roam index --force`.",
      "indexed_commit": "e4ce5f1cfe7a"
    },
    "latency_ms": null,
    "response_tokens": 873,
    "roam_version": "14.0.2",
    "timestamp": "2026-09-05T08:16:23Z"
  },
  "actor": null,
  "agent_contract": {
    "confidence": null,
    "facts": [
      "Moderate risk (30/100) — review recommended (risk_level medium) (driver: test_coverage_low)",
      "risk score 30",
      "2 risk rank findings",
      "1 changed files",
      "1 lines added"
    ],
    "next_commands": [],
    "risks": [
      "pr-risk: moderate (30/100) on 2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5..HEAD — driver: test_coverage_low"
    ]
  },
  "author": null,
  "blast_radius_pct": 0,
  "bus_factor_risk": 0,
  "change_shape": "mixed",
  "changed_files": 1,
  "closest_historical_pattern": null,
  "closest_similarity": 0,
  "cluster_spread": 0,
  "clusters_touched": 0,
  "command": "pr-risk",
  "coupling_score": 0,
  "dead_code": [],
  "dead_exports": 0,
  "familiarity": {
    "avg_familiarity": 1,
    "files": [],
    "files_assessed": 0
  },
  "findings": [
    {
      "claim": "pr-risk: moderate (30/100) on 2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5..HEAD — driver: test_coverage_low",
      "confidence": "heuristic",
      "evidence": {
        "actor": null,
        "author": null,
        "blast_radius_pct": 0,
        "bus_factor_risk": 0,
        "changed_files_count": 1,
        "commit_range": "2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5..HEAD",
        "coupling_score": 0,
        "created_at_epoch": 1788596183,
        "diff_id": "7fccaded5a22",
        "familiarity_risk": 0,
        "file_list": [
          "pyproject.toml"
        ],
        "hotspot_score": 0,
        "label": "2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5..HEAD",
        "lines_added": 1,
        "lines_removed": 1,
        "minor_risk": 0,
        "novelty_score": 0,
        "reductive_change": false,
        "risk_level": "moderate",
        "risk_score": 30,
        "staged": false,
        "test_coverage_pct": 0,
        "top_driver": "test_coverage_low"
      },
      "finding_id_str": "pr-risk:composite-risk-score:7fccaded5a22",
      "kind": "pr-risk:composite-risk-score",
      "severity": "medium",
      "source_detector": "pr-risk",
      "source_version": "1.0.0",
      "subject_id": null,
      "subject_kind": "commit"
    }
  ],
  "hotspot_score": 0,
  "label": "2b7ce4094d7c02b7088f40e3a385edb1e5dfdbb5..HEAD",
  "layer_spread": 0,
  "layers_touched": 0,
  "lines_added": 1,
  "lines_removed": 1,
  "minor_risk": {
    "files": [],
    "files_assessed": 0,
    "minor_files": 0
  },
  "novelty_score": 0,
  "per_file": [
    {
      "blast": 0,
      "churn": 644,
      "is_test": false,
      "lines_added": 1,
      "lines_removed": 1,
      "path": "pyproject.toml",
      "symbols": 0
    }
  ],
  "project": "roam-code",
  "reductive_change": false,
  "reductive_discount_applied": false,
  "risk_level": "moderate",
  "risk_level_canonical": "medium",
  "risk_rank": 2,
  "risk_score": 30,
  "schema": "roam-envelope-v1",
  "schema_version": "1.2.0",
  "suggested_reviewers": [
    {
      "actor": "Cranot",
      "author": "Cranot",
      "lines": 449
    },
    {
      "actor": "t",
      "author": "t",
      "lines": 15
    },
    {
      "actor": "dependabot[bot]",
      "author": "dependabot[bot]",
      "lines": 1
    }
  ],
  "summary": {
    "change_shape": "mixed",
    "changed_files": 1,
    "findings_count": 1,
    "lines_added": 1,
    "lines_removed": 1,
    "partial_success": false,
    "risk_level": "moderate",
    "risk_level_canonical": "medium",
    "risk_rank": 2,
    "risk_score": 30,
    "score_classification": "classified",
    "verdict": "Moderate risk (30/100) — review recommended (risk_level medium) (driver: test_coverage_low)"
  },
  "test_coverage_pct": 0,
  "total_clusters": 11438,
  "total_layers": 45,
  "version": "14.0.2",
  "warnings_out": []
}

roam-code analysis | Commands: health pr-risk

@dependabot dependabot Bot changed the title deps: bump pypdf from 6.15.0 to 6.16.1 deps: bump pypdf from 6.16.1 to 6.16.2 Sep 3, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/pypdf-6.16.1 branch from e4ce5f1 to 882e36a Compare September 3, 2026 07:07
@Cranot

Cranot commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Thanks! The upstream fixes look useful. This currently changes the version in pyproject.toml, but our CI installs from uv.lock, and the dependency checks also pin the expected version. Those need to move together before we can validate the upgrade.

Leaving this open for a coordinated update. The earlier red checks don't establish that pypdf 6.16.2 itself is broken, so I don't want to label it a regression without testing the matching locked environment.

Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.16.1 to 6.16.2.
- [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.16.1...6.16.2)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.16.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/pypdf-6.16.1 branch from 882e36a to 1d8e546 Compare September 5, 2026 08:15
@dependabot @github

dependabot Bot commented on behalf of github Sep 7, 2026

Copy link
Copy Markdown
Author

Superseded by #115.

@dependabot dependabot Bot closed this Sep 7, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/pypdf-6.16.1 branch September 7, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant