Skip to content

Releases: zettabrain/zettabrain-rag

v0.5.28 — Show correct access URL based on TLS mode

Choose a tag to compare

@zettabrain zettabrain released this 20 May 05:24

Fix: Setup wizard now shows the correct browser URL based on the chosen TLS option instead of always showing https://local.zettabrain.app:7860.

  • Caddy: shows https://your-domain.com:7860
  • Self-signed: shows https://<machine-ip>:7860 + https://localhost:7860
  • HTTP only: shows http://<machine-ip>:7860

The local machine IP is detected at runtime (ip route gethostname -Iifconfig fallback chain). The self-signed certificate SAN now includes the detected IP so the browser can verify the cert when accessed via IP address.

v0.5.27 — Fix all model names to valid Ollama pull targets

Choose a tag to compare

@zettabrain zettabrain released this 20 May 05:15

Fix: Corrected two invalid Ollama model names that caused 'pull model manifest: file does not exist':

  • phi4:3.8bphi4-mini (correct Ollama name for Microsoft Phi-4 Mini 3.8B)
  • openhermes:7b-mistral-v2-q4_K_Mopenhermes (correct tag is just openhermes / v2.5 latest)

All other models in the menu (qwen3:0.6b, gemma3:1b, tinyllama:1.1b, llama3.2:3b, mistral:7b, llama3.1:8b, mistral-nemo:12b, qwen2.5:14b, qwen2.5:32b) verified as valid pullable names.

v0.5.26 — Expanded model menu (CPU 9 options, GPU reordered)

Choose a tag to compare

@zettabrain zettabrain released this 20 May 05:11

Setup wizard model selection overhaul:

CPU-only path now shows 9 models ordered by speed (fastest first), with phi4:3.8b clearly marked as recommended for best RAG reasoning. Adds mistral:7b, llama3.1:8b, and openhermes:7b to the CPU list with RAM warnings.

GPU path reordered: phi4:3.8b first (best reasoning per GB), then mistral:7b, openhermes:7b (full tag), llama3.1:8b, then larger models.

openhermes model now uses the explicit tag openhermes:7b-mistral-v2-q4_K_M.

v0.5.25 — Fix phi4-mini model name

Choose a tag to compare

@zettabrain zettabrain released this 20 May 04:42

Fix: Corrected CPU-default model name from phi4:3.8b (invalid) to phi4-mini — the correct Ollama name for the Microsoft Phi-4 Mini 3.8B model. Updated in setup wizard, server recommendation logic, README, and demo scripts.

v0.5.24 — CPU/GPU split model menus, phi4:3.8b as CPU default

Choose a tag to compare

@zettabrain zettabrain released this 19 May 19:21

What's changed

Improved model selection

The setup wizard now shows separate menus for CPU-only and GPU machines, with models chosen appropriately for each context.

CPU-only menu (no GPU detected):

  • phi4:3.8b is the new default — significantly better reasoning than llama3.2:3b at similar RAM usage
  • qwen3:0.6b, gemma3:1b, tinyllama:1.1b added as ultra-light options for very constrained hardware
  • llama3.2:3b kept as option 5

GPU menu (NVIDIA / AMD / Apple Silicon):

  • phi4:3.8b added as option 1 — useful for lower VRAM GPUs (< 5 GB)
  • openhermes:7b added as option 2 — sharp instruction-following at 4 GB VRAM
  • Updated recommendation thresholds: ≥ 8 GB → llama3.1:8b, ≥ 5 GB → mistral:7b, < 5 GB → phi4:3.8b

Also updated

  • server.py GPU recommendation logic updated to match the new thresholds
  • README model menus and performance reference table updated to reflect v0.5.24 changes

Upgrade

# Linux / macOS
sudo pipx upgrade zettabrain-rag

# Windows
pipx upgrade zettabrain-rag

v0.5.23 — Chat timeout fix, model correction, ingest error log, UI clarity

Choose a tag to compare

@zettabrain zettabrain released this 18 May 20:22

What's changed

Bug fixes

  • Chat no longer times out on CPU-only hardware — the Ollama streaming request timeout was increased from 180 s to 600 s. On CPU-only machines, a 7B model can take several minutes to generate a first token; the previous limit caused blank answers with the spinner spinning indefinitely.
  • llama3.1:13b replaced with mistral-nemo:12b — Llama 3.1 has no 13B variant in Ollama's library (only 8B, 70B, 405B). The setup wizard and the GPU-based model recommendation in the server now correctly offer mistral-nemo:12b (~7 GB, 12 GB+ RAM recommended) for that tier.
  • Scanned/image-only PDFs correctly reported — files with no extractable text (e.g. scanned certificates, passport photos) now print a clear [SKIP] filename (no text found — likely a scanned/image-only PDF) message instead of the generic "no chunks embedded" message.

New features

  • Ingestion error log — every failed or skipped file is now appended to /opt/zettabrain/src/ingest_errors.log with a timestamp and the exact reason. Useful for diagnosing which files need OCR or are otherwise unreadable.
  • "Sources" label in the chat UI — retrieved source document chips now appear under a clear SOURCES heading, making it obvious they are reference documents rather than part of the answer.

CI

  • Install scripts deploy on every push to main — the deploy-install.yml workflow path filter (paths: [install.sh, ...]) was removed so S3 and CloudFront are always kept in sync with the repo on every release.

Upgrade

# Linux / macOS
sudo pipx upgrade zettabrain-rag

# Windows
pipx upgrade zettabrain-rag

v0.5.22 — DOCX support fix + resilient ingestion

Choose a tag to compare

@zettabrain zettabrain released this 18 May 20:21

What's changed

Bug fixes

  • Add docx2txt dependencyDocx2txtLoader requires the docx2txt package, which was missing from pyproject.toml. Fresh installs crashed with ModuleNotFoundError: No module named 'docx2txt' when encountering Word documents during ingestion.
  • Ingestion no longer aborts on a single bad file — a load error (missing module, corrupt file, encoding issue) in one file now prints [FAIL] filename — load error: ... and continues to the next file instead of crashing the entire run.
  • Secondary guard in the main ingestion loop — an additional try/except around each file in the loop catches any unexpected error that slips past the per-file handler, ensuring the full document set is always processed.

Upgrade

# Linux / macOS
sudo pipx upgrade zettabrain-rag

# Windows
pipx upgrade zettabrain-rag

v0.5.21

Choose a tag to compare

@zettabrain zettabrain released this 12 May 18:37

What's new

macOS support (EC2 Mac / Apple Silicon / Intel)

  • Full macOS support in zettabrain-setup — detects platform, uses Homebrew, launchd, and mount_smbfs
  • Ollama installed via brew install ollama with brew services management
  • ZettaBrain web server registered as a launchd plist at /Library/LaunchDaemons/io.zettabrain.server.plist
  • S3 object storage persisted via launchd instead of /etc/fstab + systemd
  • Caddy installed via Homebrew with correct brew prefix Caddyfile path
  • Logs written to /opt/zettabrain/logs/ on macOS

Bug fixes

  • Fixed ${VAR^^} bad substitution on macOS default bash 3.2 — replaced with tr '[:lower:]' '[:upper:]'
  • Fixed Python/langchain not found after pipx install — added ~/.local/pipx/venvs/ path (Homebrew pipx uses this instead of ~/.local/share/pipx/venvs/)

Infrastructure

  • GitHub org renamed: olajide-zettabrainzettabrain
  • Updated all URLs in pyproject.toml and README.md

Supported platforms

Platform Tested
Ubuntu 22.04 / 24.04
Amazon Linux 2 / 2023
RHEL / Rocky / AlmaLinux 8/9
macOS 12+ Intel (mac1.metal)
macOS 12+ Apple Silicon (mac2.metal, mac2-m2.metal)
Windows (via install.cmd / install.ps1)

Install

# Linux
curl -fsSL https://zettabrain.app/install.sh | sudo bash

# macOS
curl -fsSL https://zettabrain.app/install.sh | bash

# Windows
irm https://zettabrain.app/install.ps1 | iex