Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
329f883
perf(carmenta): depthwise kernel, fused epilogues, 1x1-as-matmul: 4.3…
tim-almond-house Oct 30, 2026
502c961
docs(carmenta): record the refuted single-level-parallelism re-measur…
tim-almond-house Oct 30, 2026
83496a7
feat(carmenta): built-in deskew (OcrOptions::deskew): skewed pages 48…
tim-almond-house Oct 30, 2026
e22c28f
chore(deps): drop carmenta's unused candle-transformers and tokenizer…
tim-almond-house Oct 30, 2026
72a81a2
feat(carmenta): word boxes for mobiledet-svtr, from the CTC frames an…
tim-almond-house Oct 30, 2026
cb2cf0f
perf(carmenta): auto_orient reads the page first and decides only whe…
tim-almond-house Oct 30, 2026
059e9c3
feat(core): threads::available_threads / affinity_pool honour the pro…
tim-almond-house Oct 30, 2026
3688bd8
docs(carmenta): state the SVTR charset's Latin gap in the README
tim-almond-house Oct 30, 2026
ed7b78d
style: clippy pedantic on the new code (doc backticks, identity map, …
tim-almond-house Oct 30, 2026
47d6f5c
feat(carmenta): read table bands across their rows (ruled table 77% -…
tim-almond-house Oct 30, 2026
8b1000b
fix(carmenta): cap the detector floor's upscale at 4x; record the ref…
tim-almond-house Oct 31, 2026
a09ef57
tools: stage the mobiledet-svtr weights for a versioned host (uploads…
tim-almond-house Oct 31, 2026
a6d6fb2
docs(carmenta): pdfcraft_bench describes its corpus instead of naming…
tim-almond-house Oct 31, 2026
17ced67
docs(carmenta): record the refuted vertical crop pad (fixes a 5x7 D, …
tim-almond-house Oct 31, 2026
3aa9ab6
feat(carmenta): publish the mobiledet-svtr weights; hf_repo in both p…
tim-almond-house Oct 31, 2026
9329feb
fix(models): fetch only the files an engine opens, as offline resolut…
tim-almond-house Oct 31, 2026
70f08d0
chore: allow unsafe_code at each site, so path and git dependents bui…
tim-almond-house Oct 31, 2026
65052a3
feat(core)!: OcrOutput reports the turn auto_orient applied; rotated_…
tim-almond-house Oct 31, 2026
16813c2
fix(carmenta): a formula splice keeps the word boxes it does not touch
tim-almond-house Oct 31, 2026
0c72364
fix(bench): pdfcraft_bench reads the affinity mask after the load
tim-almond-house Oct 31, 2026
ac5062b
fix(deps): rustls 0.23.46, rustls-webpki 0.103.16, webpki-root-certs …
tim-almond-house Oct 31, 2026
ee628f9
chore(release): ffai-core 0.9.0, ffai-carmenta 0.13.0, and every depe…
tim-almond-house Oct 31, 2026
fa2a79e
fix(deps): quinn-proto 0.11.19, webpki-roots 1.0.11; cargo-audit carr…
tim-almond-house Oct 31, 2026
833939f
fix(supply-chain): cargo-vet passes again
tim-almond-house Oct 31, 2026
2635b6b
fix(supply-chain): cargo-vet policy for the serde_json fork
tim-almond-house Oct 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .cargo/audit.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# cargo-audit's ignores. deny.toml carries the same advisories with the full
# justification; keep the two lists in step (CI runs both).
[advisories]
ignore = [
# zip 8.6.0 extraction advisories, fixed only in zip 9, which candle-core
# 0.11 cannot take (it pins ^8.6). All three are in ZipArchive::extract /
# ZipStreamReader::extract; candle reads entries by name and never extracts.
# Added 2026-10-31. Review 2026-11-15, or when candle moves to zip 9.
"RUSTSEC-2026-0367",
"RUSTSEC-2026-0368",
"RUSTSEC-2026-0369",
]
71 changes: 28 additions & 43 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 9 additions & 10 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ members = ["crates/*"]
exclude = ["demo-ui"]

[workspace.package]
version = "0.8.0"
version = "0.9.0"
edition = "2024"
rust-version = "1.95"
license = "MIT OR Apache-2.0"
Expand All @@ -16,14 +16,14 @@ authors = ["Remade With Rust"]

[workspace.dependencies]
# ---- internal crates ----
ffai-core = { path = "crates/ffai-core", version = "0.8.0" }
ffai-media = { path = "crates/ffai-media", version = "0.6.8" }
ffai-models = { path = "crates/ffai-models", version = "0.6.6" }
ffai-mercury = { path = "crates/ffai-mercury", version = "1.0.5" }
ffai-carmenta = { path = "crates/ffai-carmenta", version = "0.12.0" }
ffai-diana = { path = "crates/ffai-diana", version = "0.8.0" }
ffai-argus = { path = "crates/ffai-argus", version = "0.8.0" }
ffai-bench = { path = "crates/ffai-bench", version = "0.7.7" }
ffai-core = { path = "crates/ffai-core", version = "0.9.0" }
ffai-media = { path = "crates/ffai-media", version = "0.7.0" }
ffai-models = { path = "crates/ffai-models", version = "0.7.0" }
ffai-mercury = { path = "crates/ffai-mercury", version = "1.1.0" }
ffai-carmenta = { path = "crates/ffai-carmenta", version = "0.13.0" }
ffai-diana = { path = "crates/ffai-diana", version = "0.9.0" }
ffai-argus = { path = "crates/ffai-argus", version = "0.9.0" }
ffai-bench = { path = "crates/ffai-bench", version = "0.8.0" }

# ---- tensor spine ----
# Candle is FFai's PyTorch: every engine shares its Tensor/Device types so
Expand All @@ -46,7 +46,6 @@ toml = "0.8"
anyhow = "1"
clap = { version = "4", features = ["derive"] }
hound = "3"
dirs = "6"
sha2 = "0.10"
serde_json = "1"
regex = "1"
Expand Down
6 changes: 6 additions & 0 deletions crates/ffai-argus-wasm/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.3.0](https://github.com/Remade-With-Rust/FFAI/compare/ffai-argus-wasm-v0.2.0...ffai-argus-wasm-v0.3.0) - 2026-10-31

### Changed

- Requires `ffai-core` 0.9: `OcrOptions` gained `deskew` and `OcrOutput` gained `skew_degrees` and `turns`, so the core types this crate exposes changed.

## [0.2.0](https://github.com/Remade-With-Rust/FFAI/compare/ffai-argus-wasm-v0.1.3...ffai-argus-wasm-v0.2.0) - 2026-10-08

### Changed
Expand Down
4 changes: 2 additions & 2 deletions crates/ffai-argus-wasm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "ffai-argus-wasm"
description = "Argus in the browser — pure-Rust SmolVLM image captioning compiled to WebAssembly, no ONNX runtime, no Python"
version = "0.2.0"
version = "0.3.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
Expand All @@ -25,7 +25,7 @@ ffai-core = { workspace = true }
# **0.7.2, not 0.7.1** — see the note in `ffai-mercury-wasm`. `SmolVlm::from_bytes`
# and `ArgusBytes` first exist in 0.7.2, and a tarball verification resolves
# this from crates.io rather than from the path.
ffai-argus = { path = "../ffai-argus", version = "0.8.0", default-features = false }
ffai-argus = { path = "../ffai-argus", version = "0.9.0", default-features = false }
wasm-bindgen = "=0.2.121" # pinned to the installed wasm-bindgen-cli; the two must match exactly

# The binary is the only thing entitled to choose an allocator, and a cdylib IS
Expand Down
6 changes: 6 additions & 0 deletions crates/ffai-argus/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.9.0](https://github.com/Remade-With-Rust/FFAI/compare/ffai-argus-v0.8.0...ffai-argus-v0.9.0) - 2026-10-31

### Changed

- Requires `ffai-core` 0.9: `OcrOptions` gained `deskew` and `OcrOutput` gained `skew_degrees` and `turns`, so the core types this crate exposes changed.

## [0.8.0](https://github.com/Remade-With-Rust/FFAI/compare/ffai-argus-v0.7.5...ffai-argus-v0.8.0) - 2026-10-08

### Changed
Expand Down
2 changes: 1 addition & 1 deletion crates/ffai-argus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ffai-core = { workspace = true }
# their own weights; they must not inherit fetch just because Argus is linked.
# Not `workspace = true`: cargo forbids overriding default-features on an
# inherited dep.
ffai-models = { path = "../ffai-models", version = "0.6.6", default-features = false }
ffai-models = { path = "../ffai-models", version = "0.7.0", default-features = false }
# The tokenizer is the ENGINE's business now, not just the step-4 test's: the
# assembled prompt has to become ids and the generated ids have to become text.
tokenizers = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions crates/ffai-argus/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -407,9 +407,9 @@ or in `Cargo.toml`:

```toml
[dependencies]
ffai-argus = "0.6" # the engine
ffai-argus = "0.9" # the engine
ffai-core = "0.7" # the VlmEngine trait, the registry, the cost counters
ffai-media = "0.6" # decoding an image/video file is the CALLER's job
ffai-media = "0.7" # decoding an image/video file is the CALLER's job
```

`ffai-media` is separate on purpose: the engine takes an already-decoded
Expand Down
6 changes: 6 additions & 0 deletions crates/ffai-bench/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.8.0](https://github.com/Remade-With-Rust/FFAI/compare/ffai-bench-v0.7.7...ffai-bench-v0.8.0) - 2026-10-31

### Changed

- Requires `ffai-core` 0.9: `OcrOptions` gained `deskew` and `OcrOutput` gained `skew_degrees` and `turns`, so the core types this crate exposes changed.

## [0.7.7](https://github.com/Remade-With-Rust/FFAI/compare/ffai-bench-v0.7.6...ffai-bench-v0.7.7) - 2026-09-25

### Added
Expand Down
2 changes: 1 addition & 1 deletion crates/ffai-bench/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description = "FFai's analyzer — one call to compare any engine against world
# the runner records a clip failure and continues instead of aborting the
# whole corpus, and decode is wrapped so a panicking dependency costs one
# page rather than the run.
version = "0.7.7"
version = "0.8.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
Expand Down
Loading
Loading