LLM Scanner: Redefine depth semantics for timeline scanning. depth now counts levels of scannable spans (top-level agents/solvers and their scannable descendants).
0.4.29 (05 May 2026)
Transcripts: Treat directories with .eval files as an eval log collection (presence of .parquet no longer prevails).
Dependencies: Sync to semaphore changes in Inspect v0.3.217.
Bugfix: Exit non-zero when --fail-on-error and scan does not complete.
Bugfix: Always reset text progress indicator when job completes.
0.4.28 (29 April 2026)
LLM Scanner: Send default-template prompts as two content blocks (preamble + transcript / per-scanner tail) with cache_prompt=True. On Anthropic, the shared-prefix block is marked for caching so multiple scanners on the same transcript share a cache entry.
LLM Scanner: template parameter accepts a tuple[str, str] of (prefix, suffix) to opt custom templates into the same two-block cache-aware rendering. Passing a single str keeps the legacy single-block behavior unchanged.
Scanners: Run the first scanner alone for each transcript; release the rest only after it completes. Lets the lead’s generate populate the prompt cache so followers hit the warm cache.
Scanner as Scorer: When Result.value is None but the result includes an answer, explanation, or metadata, return a NOANSWER score that preserves those fields instead of dropping the score entirely.
generate_answer() / structured_generate(): add config: GenerateConfig | None parameter for per-call overrides (e.g. cache), so callers no longer need to mutate or copy the role Model to set generation options. parallel_tool_calls remains forced to False for structured answers.
Scout View: Improve message collapse behavior.
Scout View: Fade out bottom of truncated expandable panels to indicate more content below.
Scout View: Fix timeline error markers incorrectly flagging every model and tool event.
Scout View: Store task list filter/sort state independently per scope (Tasks vs Folders, individual folders).
Scout View: Add Tokens and Duration columns to samples list.
Scanner Tools: ResultReducer for reducing results from multiple transcript segments into single results, with built-in majority and LLM-based reducers.
Transcript DB: claude_code() source for importing transcripts from Claude Code session logs. Supports filtering by project, session, and time range, session merging, and image extraction.
CLI: scout import command for importing transcripts from registered sources into Scout projects.
Serialization: Use pa.large_string for string types to support larger column/file sizes.
Multiprocessing: Improve handling of model instances with multiprocessing serialization.
Transcripts: unthin target and and add scores from sample JSON.
Transcripts: Set row group size to 25 (specify as rows not bytes).
Transcripts: Address DuckDB 1.5 compatibility issue w/ mixed type CASE expressions.
Transcripts: Switch over to async ZIP modules (async_zip, zip_common, compression, compression_transcoding, async_bytes_reader) that have migrated to inspect_ai.
View Server: Add optimized /transcripts/{dir}/{id}/info and /transcripts/{dir}/{id}/messages-events endpoints for fetching transcript data. The messages-events endpoint streams raw (potentially compressed) JSON for improved performance.
Bugfix: Eliminate problem with stale transcript status when deleting validation cases.
0.4.11 (29 January 2026)
Projects: Always read scout.local.yaml even if there is no scout.yaml file.
Projects: Always apply project level filter to scans (AND combine with scan filters).
Validation: Label validation is now binary: validate true if the label is present with a truthy value; validate false if the label is not present or has only falsey values.
Scan Results: Add exclude_columns parameter for reading parquet reuslts to optionally reduce memory usage.
Scan Results: Pre-fetch optimization for S3/remote parquet files.
Transcript DB: observe() decorator/context manager for writing transcripts based on observed LLM generations.
Transcript DB: langsmith() and logfire() transcript sources for importing transcripts from LLM observability systems.
0.4.10 (21 January 2026)
Scanning: Implement significant scanning performance improvement when scanning eval logs and events are unneeded.
Scan config: Set ‘model’ to None if no model is specified.
Scan config: Deprecate use of environment variables for config (in favor of project config).
Scout View: Move ‘Project’ UI button to main activity bar.
0.4.9 (20 January 2026)
Bugfix: Don’t check index coverage when running with an active limit or other query filter.