Skip to content

Releases

v0.7.6

Choose a tag to compare

@github-actions github-actions released this 06 Nov 22:26

Summary

Preserves each model thinking step on its own line during analytical reasoning, adds a live progress spinner with real-time generation metrics during buffered inference, and enables instant sub-millisecond caching for live news briefings with a 2-hour TTL.

Changes

  • Multi-Line Thinking Trace (src/engine/llm.rs): Preserves intermediate thinking steps (💭 Thinking: <Step> (Xs)) on dedicated lines above the active spinner as reasoning transitions, settling cleanly into the collapsible dropdown indicator (💭 Thought for Xs ›).
  • Live Buffered Generation Status (src/engine/llm.rs): Keeps the progress spinner active during buffered content accumulation with live metrics (token count, generation rate in t/s, and elapsed time), ensuring clear visual feedback throughout inference.
  • News Briefing Caching & Fast-Path (src/main.rs, src/commands/summarize.rs, src/storage/cache.rs): Added sub-millisecond cache hits for news queries within the 2-hour news TTL (news_ttl_hours), eliminating redundant LLM re-synthesis on repeated invocations while preserving --no-cache refresh support.

v0.7.5

Choose a tag to compare

@github-actions github-actions released this 06 Nov 01:58

Summary

Unifies caching and persistence into a single DuckDB store (srz.duckdb), adds pure SQL windowed LRU pruning, shortens news caching to 2 hours, makes reader view file exports strictly opt-in, and adds intuitive cache clear aliases.

Changes

  • Unified DuckDB Storage (src/storage/): Consolidated all caching into srz.duckdb and eliminated redundant cache tables in favor of indexed library lookups, removing cross-database locking overhead.
  • Pure SQL LRU Pruning (src/storage/cache.rs): Replaced in-memory sorting with windowed SQL eviction in DuckDB, reclaiming disk space atomically with zero memory allocations.
  • 2-Hour News TTL (src/sources/news.rs, src/config/file.rs): Shortened news and feed caching to 2 hours (news_ttl_hours) to keep briefings fresh while preserving fast repeat lookups.
  • Opt-In View Exports (src/main.rs): Made standalone HTML and Markdown file generation in views/ strictly opt-in via --open or --output, keeping disk storage clean.
  • Cache Clear Aliases (src/config/cli.rs, src/storage/cache.rs): Added srz cache clear (along with purge and wipe), invalidating cached summaries and server capabilities while keeping user reading history intact.

v0.7.4

Choose a tag to compare

@github-actions github-actions released this 05 Nov 15:47

Summary

Introduces an Antigravity/Gemini-style compact thinking UI with live one-liner step summaries and collapsible dropdowns, native zero-dependency EPUB book extraction, sub-millisecond cache fast-paths and offline chat management, dynamic per-turn BM25 grounding in interactive Q&A, calibrated single-pass token chunking, and deterministic release CI builds.

Changes

  • Compact Thinking UI (src/engine/llm.rs, src/ui/render.rs): Replaced multi-line raw thinking trace dumps with a live, real-time one-liner spinner summary (💭 Thinking: <Step> (Xs)...) and an Antigravity/Gemini-style collapsible dropdown indicator (💭 Thought for Xs ›), preserving the full chain-of-thought in HTML reader views and opt-in --show-thinking CLI streaming.
  • Native EPUB Ingestion (src/sources/epub.rs, src/sources/document.rs): Pure-Rust zero-dependency EPUB book extraction and chapter stitching in reading order using existing zip and XML dependencies.
  • Cache Fast-Paths & Offline Chat (src/main.rs, src/commands/ask.rs): Instantaneous sub-millisecond cache hit delivery for web, books, and local files before initializing network or LLM engines, complete reasoning trace preservation, and offline chat management (--chats, --show-chat, --delete-chat).
  • Dynamic BM25 Grounding & Index Filtering (src/commands/ask.rs, src/storage/db.rs): Re-ranks grounding context dynamically per turn in interactive Q&A, optimizes single-pass BM25 chunk scoring, and filters stop words and short tokens in the library search index to prevent table bloat.
  • Engine & Streaming Fixes (src/engine/llm.rs, src/ui/printer.rs): Calibrated single-pass tokenization ratios eliminating N+1 /tokenize loops, aligned tree reduction tokens with active profiles, and preserved line buffering in StreamMarkdownRenderer when color is disabled.
  • Security Hardening (src/storage/db.rs, src/sources/youtube.rs): Sanitized YAML frontmatter scalars and filename collisions in Markdown vault exports, validated SQL attachment identifiers, and hardened YouTube transcript parsing against malformed escapes.
  • Build & CI Pipeline (.github/workflows/release.yml): Streamlined release workflow using rust-cache for deterministic, reliable release artifact generation.

v0.7.3

Choose a tag to compare

@github-actions github-actions released this 04 Nov 22:57

Summary

Delivers major performance, UX, and architectural upgrades: in-process hardware profiling with sysinfo, semantic HTML-to-Markdown scraping with htmd, crash-safe atomic file persistence, strict XDG data directory compliance, seamless in-TUI grounded chat (a in srz browse), user-facing DuckDB SQL analytics (srz query), multi-format library vault exports (srz export), unified URL context fetching, and RAG/cache optimizations.

Changes

  • Hardware & Scraping Modernization (src/system/, src/sources/): Replaced subprocess inspection with pure-Rust sysinfo hardware profiling, and integrated htmd for semantic Markdown scraping preserving headings, tables, and code fences.
  • Storage & XDG Architecture (src/system/fs_util.rs, src/storage/db.rs): Migrated user database and chats to XDG_DATA_HOME (~/.local/share/srz) with automatic migration from legacy cache paths, and hardened writes with atomic tempfiles and 0600 permissions.
  • Interactive Tools & Analytics (src/commands/, src/ui/tui.rs): Added srz query for analytical SQL queries, srz export for Obsidian/Logseq Markdown vaults, JSON, CSV, and Parquet, and the a keybinding in srz browse for instant grounded chat.
  • Unified Ingestion (src/commands/): Unified URL fetching so srz ask <url> natively supports YouTube video transcripts and remote PDFs alongside web articles.
  • RAG & Cache Optimizations (src/engine/chunker.rs, src/storage/cache.rs, src/ui/render.rs): Eliminated redundant BPE passes during context selection (cutting tokenization passes by ~67%), bypassed startup DDL for existing caches, batched LRU evictions in a single transaction, and pre-allocated HTML card buffers.
  • Correctness & Safety (src/commands/library.rs, src/config/cli.rs, src/main.rs): Sanitized terminal tables and guarded against multi-byte UTF-8 slice panics in handle_query, registered missing typo suggestions for query/export, and removed unreachable CLI match arms.

v0.7.2

Choose a tag to compare

@github-actions github-actions released this 04 Nov 18:10

Summary

Introduces intelligent local model diagnostics and CLI typo suggestions, week-by-default news search recency with empty-feed guidance, comprehensive Security Audit #5 hardening, simplified Llama GUI model recommendations, and dynamic token budgeting up to 128k context.

Changes

  • News Recency Defaults & Guidance (srz news): Defaults news search recency to week (past 7 days) across CLI options and natural queries to prevent empty feeds on niche topics, and adds actionable diagnostic tips suggesting -t month or -t all when feeds return no results.
  • Local Model Diagnostics & Command Typo Guidance (src/engine/llm.rs, src/config/cli.rs): Replaces raw JSON dumps with clear 'Local model not detected' diagnostics on model mismatch, suggests closest available models from the backend via string similarity, and offers command typo suggestions (e.g. srz doctur -> doctor).
  • Security Audit #5 Hardening (Findings 26–31): Enforces input bounds across JSON responses, syndication feeds, and config files; neutralizes dangerous URI schemes in markdown; sanitizes control codes in terminal outputs; and adds symlink guards to database initialization.
  • Static Analysis & Session ID Disambiguation (src/commands/ask.rs): Disambiguated chat session IDs to clear CodeQL rust/cleartext-logging false positives.
  • Dual Model Naming Strategy (srz recommend, src/config/cli.rs): Retains full verbose model IDs (ggml-org/gemma-4-E4B-it-GGUF:Q8_0) for CLI defaults, configuration templates, and backend API requests while providing concise Llama GUI model cards (gemma-4 with E4B / 26B-A4B badges and Q8_0 quant) in srz recommend and diagnostic tips.
  • Dynamic Token Budget Precision (format_untrusted_section): Honors dynamic token budgets (e.g., 28k–56k on 32k–64k servers) up to 128k context rather than clamping to legacy 16,000 token limits.
  • Storage & Ingestion Deduplication (src/storage/, src/system/, src/sources/): Centralized URL helpers, unified DuckDB query constants, optimized feed parsing, and consolidated LLM retry paths.

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 01 Nov 04:42

Summary

Fixes cross-platform compiler and Clippy warnings on Linux and Windows targets, and removes the rust-version constraint to allow Cargo to freely resolve the latest dependencies.

Changes

  • Cross-Platform Compatibility & Clippy Fixes: Resolved target-specific unused import warnings under -D warnings on Linux (std::process::Command in hardware.rs) and Windows (super::* in fs_util.rs), expanding cross-platform unit test coverage.
  • Dependency Resolution: Removed the explicit rust-version constraint from Cargo.toml to allow Cargo's 2024 resolver to freely select the latest SemVer-compatible releases (including uuid v1.29.0) without holding packages back or emitting MSRV warnings.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 04:29

Summary

Introduces intelligent hardware-based model recommendations, server capability discovery with dynamic token budgeting, direct syndication feed ingestion in srz news, and normalized DuckDB storage.

Changes

  • Hardware Advisor & Tailored Setup (srz recommend): Inspects host RAM tier to recommend optimal Gemma 4 Q8_0 models, launch commands, and context windows (with --json support); srz config init now auto-populates hardware-tailored defaults and provides connection error guidance.
  • Dynamic Token Budgeting (DynamicBudget): Automatically detects server context window (n_ctx) and slot capacity to mathematically size prompt budgets, chunk overlap, and completion headroom without manual tuning or OOMs.
  • Server-Native Tokenization (POST /tokenize): Queries native /tokenize endpoints in llama.cpp, Ollama, and vLLM for exact token counting across code and multilingual text, cached in DuckDB for instant startup.
  • Syndication Feed Ingestion (srz news): Supports direct RSS, Atom, and JSON feed URLs with feed auto-detection, concurrent article scraping, and offline caching.
  • Storage & Engine Performance: Unified DuckDB SQL LRU cache eviction, eliminated dual-writes, and added --context-window, --max-tokens, and --concurrency flags for fine-grained runtime control.

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 31 Oct 19:42

Summary

Expands project documentation with the official mdBook static website, brand logo assets, and architectural and learning guides.

Changes

  • Documentation Website: Launched official mdBook documentation site at https://newguy012.github.io/srz/ with complete CLI guides and tutorials.
  • Book Refresh & Logo: Synchronized all book/src documentation with current CLI features, updated configuration schemas, and added the official logo banner to the landing page.
  • Rust Guide & Security Audit: Added RUST_LEARNING_GUIDE.md systems architecture case study and SECURITY_AUDIT.md.
  • README & Overview References: Integrated doc site links across README.md and docs/OVERVIEW.md.

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 31 Oct 00:06

Summary

Updates core dependencies to their latest major releases (feed-rs v3, dom_smoothie v0.19, tiktoken-rs v0.12, rustyline v19, quick-xml v0.42), modernizes CI crates.io release workflows, and improves development tooling.

Changes

  • Dependency Upgrades: Upgraded parsing and ingestion libraries (feed-rs 3, dom_smoothie 0.19, tiktoken-rs 0.12, rustyline 19, quick-xml 0.42, and html-escape 0.3) for improved feed compatibility, token budgeting, and terminal prompt ergonomics.
  • CI / Crates.io Release Hardening: Modernized Cargo token configuration to CARGO_REGISTRY_TOKEN and added idempotent crates.io publishing to ensure reliable automated releases and retry resilience.
  • Release Automation: Updated ./scripts/release.sh to default to patch version increments (0.6.0 -> 0.6.1).
  • Developer Experience: Added standard Git pre-commit hooks and format-on-save configuration enforcing cargo fmt across all staged Rust sources.

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 21:24

v0.6.0

Summary

Upgrades core content ingestion with industry-standard Rust parsers (feed-rs, dom_smoothie, tiktoken-rs, pulldown-cmark, quick-xml, rustyline) and streamlines runtime pipelines for faster, zero-allocation processing and single-pass cache management.

Changes

  • Universal News & Syndication Feeds (srz news): Integrated feed-rs for robust parsing of RSS 0.9/1.0/2.0, Atom, and JSON feeds alongside automated Google News query resolution and URL un-obfuscation.
  • Readability Web Extraction: Integrated Mozilla Readability DOM density scoring via dom_smoothie, cleanly stripping ads, navigation bars, cookie prompts, and sidebars before LLM synthesis.
  • BPE Token Budgeting & Fast Chunking: Adopted OpenAI cl100k_base BPE token counting via tiktoken-rs with unified paragraph chunking and an O(1) fast-path that avoids redundant tokenization for short documents.
  • Interactive Chat Line Editing (srz ask -i): Upgraded the interactive Q&A REPL with rustyline for in-line arrow-key editing, command history, Ctrl+C/Ctrl+D handling, and exact session ID display for easy resumption.
  • GitHub Flavored Markdown & Web Views: Switched Markdown-to-HTML rendering to pulldown-cmark for standards-compliant tables, task lists, and strikethrough, opened cross-platform via open::that_detached.
  • Streaming YouTube Captions: Replaced manual caption tag matching with quick-xml streaming event parsing and multi-client Innertube player fallbacks.
  • Optimized Cache Pruning: Refactored cache retention to collect surviving file metadata in a single pass, running LRU size evictions completely in memory without redundant disk re-scans.
  • Zero-Allocation Text & Query Processing: Replaced ad-hoc string parsing with zero-allocation ASCII case-insensitive matching in CLI routing, term search, and HTML entity decoding (html-escape).