Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 4 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ All notable changes to this project will be documented in this file.

## [0.0.2] - 2026-08-27

This entry describes the release candidate; it does not authorize or attest publication.

### Changed

- Pinned bundled native vllm.cpp to tag `v0.0.2`, commit `7020de93652ca920424a10ac5255b34810dd2f24`, moving the stable C contract from ABI 10 with 19 functions to ABI 17 with 35 functions; system libraries must match the new ABI, layouts, signatures, and exports.
Expand All @@ -16,17 +14,17 @@ This entry describes the release candidate; it does not authorize or attest publ
- Removed arbitrary package size and file-count caps for both crates. File counts, compressed sizes, regular-file payload sums, and SHA-256 hashes remain diagnostics, not release limits; archive inventories must match Cargo's package lists, and content, provenance, extracted-build, and downstream compatibility checks remain required.
- Contained the entire Rust logits-processor trampoline lifetime, including final capture destruction after concurrent registration teardown, while preserving callback panic reporting and panic-payload disposal.
- Pinned online GGUF and Safetensors metadata and body retrieval to a validated immutable commit; explicit full-SHA requests reject different metadata or offline snapshots. Validate downloads before explicitly updating requested refs, and repair hf-hub's implicit pinned-SHA ref writes on rejection without rolling back mutable aliases. Offline resolution still requires a cache ref; mutable `main` remains the default requested revision.
- Native C API fixture failures now retain the default scheduler's failing status; an alternate scheduler run cannot make the gate pass. Callback counts are not token counts, so the upstream callback-count assertion alone does not establish token loss.
- Optional ASan/UBSan and native-only TSan recipes select exact package/target test executables from Cargo JSON, reject empty suites, and require each exact TSan filter to pass one named test. Removed the stale release number from the CUDA/Vulkan conflict diagnostic.
- Simplified duplicated packaging policy and release documentation, and replaced the video downloader/mux application with a minimal local-checkpoint PPM/WAV example. Narrowed the committed WAV fixture reader, repeated link-mode tests, native-gate status plumbing, and redundant build/sampling checks. Bundled builds now watch the complete native include directory. Public library APIs and centralized native-buffer safety checks are unchanged.
- The native C API fixture preserves the default scheduler's result. Callback counts are not token counts and do not alone prove token loss.
- Hardened optional ASan/UBSan and native-only TSan recipes to select exact Cargo test targets and require nonempty passing suites; each exact TSan filter must run one named test. Also corrected the CUDA/Vulkan conflict diagnostic.
- Replaced the video downloader/mux application with a minimal local-checkpoint PPM/WAV example; narrowed its fixture reader and simplified duplicate maintainer checks. Bundled builds now watch the complete native include directory; public APIs and centralized native-buffer safety checks are unchanged.

### Added

- `Device::{Auto, Cpu, Cuda}` selection and KV-memory controls with native precedence `num_blocks > kv_cache_memory_bytes > gpu_memory_utilization` and profile/fallback sizing.
- Pre-tokenized `Engine::complete_tokens` with owned token output, optional copied completion metadata, and explicit truncation reporting.
- Thread-local, exclusive `TranscriptionEngine` and `EmbeddingEngine` owners with borrowed inputs and Rust-owned transcription and row-major embedding results.
- Separate `VideoEngine` checkpoint-set ownership, blocking generation parameters/results, and standalone `VideoMuxParams`/`VideoMuxArgv` composition that never executes ffmpeg.
- Model-free acceptance gates for docs, tests, ABI/layout/signature/exports, native fixtures, sanitizers, link modes, packages, downstream consumers, publish dry-run, and exact MSRV. Focused Rust regressions cover callback destruction and loopback Hub branch movement/cache identity. Native-gate status, exact artifact selection, nonzero test counts and named filters, and regular-file payload accounting remain enforced by the gate implementations. These gate definitions are not evidence of an exact-candidate pass.
- Added model-free gates for docs, workspace tests, ABI/layout/signature/exports, native fixtures, sanitizers, link modes, packages, downstream consumers, publish dry-run, and exact MSRV. Rust regressions cover callback destruction and Hub branch/cache identity; gates retain exact artifact selection, nonzero/named test assertions, and diagnostic-only payload accounting.

### Compatibility

Expand Down
9 changes: 4 additions & 5 deletions Justfile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ header-check:
"${CXX:-c++}" -std=c++20 -fsyntax-only -x c++ -I'{{ root }}/vllm-cpp-sys' \
'{{ root }}/vllm-cpp-sys/wrapper.h'

# Run focused tests for private build-script artifact selection helpers.
# Run focused no-CMake tests; the workspace all-target test also covers this suite.
build-support-test:
#!/usr/bin/env bash
set -euo pipefail
Expand All @@ -72,7 +72,7 @@ build-support-test:
-o "$temp/build-support-tests"
"$temp/build-support-tests"

# Test the pure Linux backend build planner without configuring CMake.
# Run the pure planner tests without CMake; the workspace all-target test covers this suite.
backend-config:
#!/usr/bin/env bash
set -euo pipefail
Expand All @@ -92,8 +92,8 @@ backend-integrity:
layout-test:
CARGO_TARGET_DIR="${CARGO_TARGET_DIR:-{{ root }}/target/layout-test}" cargo test --locked -p vllm-cpp-sys --release --test layout

# Run generated-binding, header, layout, and backend configuration conformance checks.
sys: bindings-check header-check build-support-test backend-config backend-integrity layout-test
# Static sys checks; release layout is in the matrix or standalone `layout-test`.
sys: bindings-check header-check backend-integrity

# Test all Linux CPU link modes and the exact shared-library exports.
link-modes:
Expand Down Expand Up @@ -721,7 +721,6 @@ native-capi:
ctest --test-dir "$build" -N --tests-regex '^test_capi$' | tee "$listing"
test_count=$(grep -Ec '^[[:space:]]*Test #[0-9]+: test_capi$' "$listing")
[[ $test_count -eq 1 ]]
grep -Fxq 'Total Tests: 1' "$listing"

env -u VT_ASYNC_SCHED -u VT_ASYNC_RUNNER \
ctest --test-dir "$build" --output-on-failure --tests-regex '^test_capi$' \
Expand Down
Loading
Loading