Skip to content

chore(deps): fold all open dependabot updates and take the newest PDF parser - #418

Merged
us merged 9 commits into
mainfrom
chore/deps-batch-2026-08
Aug 9, 2026
Merged

chore(deps): fold all open dependabot updates and take the newest PDF parser#418
us merged 9 commits into
mainfrom
chore/deps-batch-2026-08

Conversation

@us

@us us commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Folds every open dependabot PR into one branch and takes the newest published
release of the PDF parser.

Supersedes #415, #396, #382, #381, #284.

What changed

Rust (Cargo.lock, 16 crates) — tokio 1.52.3→1.53.1, serde_json 1.0.150→1.0.151,
toml 1.1.3→1.1.4, lol_html 3.0.0→3.0.1, htmd 0.5.4→0.5.5, xxhash-rust 0.8.16→0.8.18,
regex 1.13.0→1.13.1, pdf-inspector 0.1.4→0.1.6, similar 3.1.1→3.1.2,
schemars 1.2.1→1.2.2, thiserror 2.0.18→2.0.20, clap 4.6.1→4.6.6, uuid 1.23.5→1.24.0,
libc 0.2.186→0.2.189, async-trait 0.1.89→0.1.91, anyhow 1.0.103→1.0.104.

The lockfile is taken verbatim from the current dependabot group PR, so it does not
go stale the moment this merges.

GitHub Actions (9) — checkout 7.0.0→7.0.1, setup-uv 8.3.2→9.0.0, claude-code-action
1.0.174→1.0.183, codeql-action 4.37.0→4.37.4, setup-python 6.3.0→7.0.0,
docker/login-action 4.4.0→4.6.0, scorecard-action 2.4.3→2.4.4.

setup-uv v9 flipped prune-cache from true to false. Pinned back to true at all five
call sites so the uv cache keeps getting trimmed instead of competing with the Rust
caches for the repo's cache budget. setup-python v7 dropped the pip-install input,
which the one call site (release.yml publish-pypi) never used.

TypeScript SDK — typescript 6.0.3→7.0.2, @types/node→26.2.0. TS 7 removed
moduleResolution: node10, which the CJS build used; bundler is the only mode it
still pairs with module: CommonJS. Emit verified byte-identical to the tsc 6 output
for dist/esm (including .d.ts) and dist/cjs, so the published package is unchanged.

bench — aiohttp 3.14.1→3.14.3.

PDF parser

pdf-inspector is Firecrawl's own parser (github.com/firecrawl/pdf-inspector).
0.1.7 is the newest release on crates.io, but it is not the one this PR takes.

A/B'd process_pdf_mem over 30 real PDFs (arXiv papers plus the repo fixture),
total markdown extracted:

version chars over the corpus vs 0.1.6
0.1.4 (what main ships) 1,902,036 -23,148
0.1.6 (this PR) 1,925,184
0.1.7 (newest) 1,911,452 -13,732

0.1.7 is a small improvement on 7 documents and roughly equal on 21, but on
arXiv 1412.6980 it drops pages 6-11 to 4-39% of their text, losing the
experiments section and the whole bibliography. Pages either side are
byte-identical and 0.1.5/0.1.6 extract the document fully, so it is a
regression, not a quality tradeoff. Upstream main behaves the same way.

So the workspace pins =0.1.6 and dependabot ignores 0.1.7 specifically,
which still leaves 0.1.8 to be offered when it lands. Reported upstream.

lopdf stays on 0.41 because pdf-inspector still pins ^0.41.0. The
dependabot ignore entry for it is still correct; its comment was refreshed to
say why and when it can be dropped.

Verification

  • cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings clean.
  • cargo build --workspace --all-targets ok, cargo test --workspace 1590 passed.
  • SDK: npm ci && npm run build && npm test 17/17, emit byte-identical to tsc 6.
  • htmd 0.5.4 vs 0.5.5 over 15 real pages: 14 byte-identical, 1 gains 418 chars, zero
    words lost anywhere.
  • lol_html 3.0.1's fixes (uppercase attribute selectors, :nth-of-type casing) are
    unreachable here; neither construct appears in clean.rs or table_normalize.rs.
  • similar 3.1.2 fixes Algorithm::Lcs deadline panics; crw-diff uses only
    TextDiff::from_lines with the default algorithm and no deadline, so that path is
    not reached.
  • bench/requirements.txt resolves cleanly with uv.
  • Every bumped action SHA verified against its version tag.

dependabot Bot and others added 9 commits August 9, 2026 02:20
… 15 updates

Bumps the cargo-minor-patch group with 15 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [tokio](https://github.com/tokio-rs/tokio) | `1.52.3` | `1.53.1` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.150` | `1.0.151` |
| [toml](https://github.com/toml-rs/toml) | `1.1.3+spec-1.1.0` | `1.1.4+spec-1.1.0` |
| [lol_html](https://github.com/cloudflare/lol-html) | `3.0.0` | `3.0.1` |
| [htmd](https://github.com/letmutex/htmd) | `0.5.4` | `0.5.5` |
| [xxhash-rust](https://github.com/DoumanAsh/xxhash-rust) | `0.8.16` | `0.8.18` |
| [regex](https://github.com/rust-lang/regex) | `1.13.0` | `1.13.1` |
| [pdf-inspector](https://github.com/firecrawl/pdf-inspector) | `0.1.4` | `0.1.7` |
| [schemars](https://github.com/GREsau/schemars) | `1.2.1` | `1.2.2` |
| [thiserror](https://github.com/dtolnay/thiserror) | `2.0.18` | `2.0.19` |
| [clap](https://github.com/clap-rs/clap) | `4.6.1` | `4.6.5` |
| [uuid](https://github.com/uuid-rs/uuid) | `1.23.5` | `1.24.0` |
| [libc](https://github.com/rust-lang/libc) | `0.2.186` | `0.2.189` |
| [async-trait](https://github.com/dtolnay/async-trait) | `0.1.89` | `0.1.91` |
| [anyhow](https://github.com/dtolnay/anyhow) | `1.0.103` | `1.0.104` |



Updates `tokio` from 1.52.3 to 1.53.1
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.52.3...tokio-1.53.1)

Updates `serde_json` from 1.0.150 to 1.0.151
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.150...v1.0.151)

Updates `toml` from 1.1.3+spec-1.1.0 to 1.1.4+spec-1.1.0
- [Commits](toml-rs/toml@toml-v1.1.3...toml-v1.1.4)

Updates `lol_html` from 3.0.0 to 3.0.1
- [Release notes](https://github.com/cloudflare/lol-html/releases)
- [Changelog](https://github.com/cloudflare/lol-html/blob/main/CHANGELOG.md)
- [Commits](cloudflare/lol-html@v3.0.0...v3.0.1)

Updates `htmd` from 0.5.4 to 0.5.5
- [Release notes](https://github.com/letmutex/htmd/releases)
- [Commits](letmutex/htmd@v0.5.4...v0.5.5)

Updates `xxhash-rust` from 0.8.16 to 0.8.18
- [Commits](https://github.com/DoumanAsh/xxhash-rust/commits)

Updates `regex` from 1.13.0 to 1.13.1
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](rust-lang/regex@1.13.0...1.13.1)

Updates `pdf-inspector` from 0.1.4 to 0.1.7
- [Commits](https://github.com/firecrawl/pdf-inspector/commits)

Updates `schemars` from 1.2.1 to 1.2.2
- [Release notes](https://github.com/GREsau/schemars/releases)
- [Changelog](https://github.com/GREsau/schemars/blob/master/CHANGELOG.md)
- [Commits](GREsau/schemars@v1.2.1...v1.2.2)

Updates `thiserror` from 2.0.18 to 2.0.19
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@2.0.18...2.0.19)

Updates `clap` from 4.6.1 to 4.6.5
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.6.1...clap_complete-v4.6.5)

Updates `uuid` from 1.23.5 to 1.24.0
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](uuid-rs/uuid@v1.23.5...v1.24.0)

Updates `libc` from 0.2.186 to 0.2.189
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.189/CHANGELOG.md)
- [Commits](rust-lang/libc@0.2.186...0.2.189)

Updates `async-trait` from 0.1.89 to 0.1.91
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](dtolnay/async-trait@0.1.89...0.1.91)

Updates `anyhow` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](dtolnay/anyhow@1.0.103...1.0.104)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.53.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor-patch
- dependency-name: serde_json
  dependency-version: 1.0.151
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: toml
  dependency-version: 1.1.4+spec-1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: lol_html
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: htmd
  dependency-version: 0.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: xxhash-rust
  dependency-version: 0.8.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: regex
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: pdf-inspector
  dependency-version: 0.1.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: schemars
  dependency-version: 1.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: thiserror
  dependency-version: 2.0.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: clap
  dependency-version: 4.6.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: uuid
  dependency-version: 1.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-minor-patch
- dependency-name: libc
  dependency-version: 0.2.189
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: async-trait
  dependency-version: 0.1.91
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
- dependency-name: anyhow
  dependency-version: 1.0.104
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.14.1 to 3.14.3.
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](aio-libs/aiohttp@v3.14.1...v3.14.3)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-version: 3.14.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the actions group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `7.0.0` | `7.0.1` |
| [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) | `8.3.2` | `9.0.0` |
| [anthropics/claude-code-action](https://github.com/anthropics/claude-code-action) | `1.0.174` | `1.0.183` |
| [github/codeql-action/init](https://github.com/github/codeql-action) | `4.37.0` | `4.37.4` |
| [github/codeql-action/analyze](https://github.com/github/codeql-action) | `4.37.0` | `4.37.4` |
| [actions/setup-python](https://github.com/actions/setup-python) | `6.3.0` | `7.0.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.4.0` | `4.6.0` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.4.3` | `2.4.4` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.37.0` | `4.37.4` |



Updates `actions/checkout` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@9c091bb...3d3c42e)

Updates `astral-sh/setup-uv` from 8.3.2 to 9.0.0
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@11f9893...c771a70)

Updates `anthropics/claude-code-action` from 1.0.174 to 1.0.183
- [Release notes](https://github.com/anthropics/claude-code-action/releases)
- [Commits](anthropics/claude-code-action@1253134...be7b93b)

Updates `github/codeql-action/init` from 4.37.0 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@99df26d...f205ea1)

Updates `github/codeql-action/analyze` from 4.37.0 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@99df26d...f205ea1)

Updates `actions/setup-python` from 6.3.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@ece7cb0...5fda3b9)

Updates `docker/login-action` from 4.4.0 to 4.6.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@af1e73f...dbcb813)

Updates `ossf/scorecard-action` from 2.4.3 to 2.4.4
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](ossf/scorecard-action@4eaacf0...2d11466)

Updates `github/codeql-action/upload-sarif` from 4.37.0 to 4.37.4
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@99df26d...f205ea1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: anthropics/claude-code-action
  dependency-version: 1.0.183
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/login-action
  dependency-version: 4.5.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: github/codeql-action/init
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.37.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 26.1.1 to 26.1.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
TypeScript 7 removed `moduleResolution: node10`, which the CJS build used.
`bundler` is the only resolution mode it still pairs with `module: CommonJS`;
emit is byte-identical to the tsc 6 output for both dist/esm (incl. .d.ts) and
dist/cjs. Drops the now-unused `ignoreDeprecations: "6.0"` escape hatch and
takes @types/node 26.2.0 in the same lockfile pass.
The lock still carried the pre-release 0.29.0 workspace crate versions; cargo
rewrites them to 0.30.0 on the first build. Refreshes the dependabot ignore
comment for lopdf: pdf-inspector 0.1.7 still pins lopdf 0.41, so the direct
bump stays unresolvable.
setup-uv v9 flipped the `prune-cache` default from true to false. Caching is
on by default on hosted runners, so leaving it unset lets the uv cache grow
unpruned and compete with the Rust caches for the repo's cache budget. Pins
the v8 behaviour explicitly at all five call sites.
Dependabot superseded the folded group PR with a regenerated one an hour
later. Takes its lockfile verbatim: adds similar 3.1.1 -> 3.1.2 and moves
clap to 4.6.6, thiserror to 2.0.20 and syn to 2.0.20.
Measured process_pdf_mem over 30 real PDFs. 0.1.6 extracts 23,148 more
characters than the 0.1.4 we ship today; 0.1.7 gives 13,732 of that back.
Almost all of the loss is one document (arXiv 1412.6980) where pages 6 to 11
drop to 4-39% of their text, covering the experiments section and the whole
bibliography. Pages either side are byte-identical, and 0.1.5 and 0.1.6 both
extract the document fully, so 0.1.7 is a regression rather than a quality
tradeoff. Dependabot ignores that one version so 0.1.8 is still offered.
@us
us merged commit aef4719 into main Aug 9, 2026
13 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 9, 2026
@us
us deleted the chore/deps-batch-2026-08 branch August 9, 2026 19:13
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant