Releases: zettabrain/zettabrain-rag
Release list
v0.5.28 — Show correct access URL based on TLS mode
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 get → hostname -I → ifconfig 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
Fix: Corrected two invalid Ollama model names that caused 'pull model manifest: file does not exist':
phi4:3.8b→phi4-mini(correct Ollama name for Microsoft Phi-4 Mini 3.8B)openhermes:7b-mistral-v2-q4_K_M→openhermes(correct tag is justopenhermes/ 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)
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
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
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.8bis the new default — significantly better reasoning thanllama3.2:3bat similar RAM usageqwen3:0.6b,gemma3:1b,tinyllama:1.1badded as ultra-light options for very constrained hardwarellama3.2:3bkept as option 5
GPU menu (NVIDIA / AMD / Apple Silicon):
phi4:3.8badded as option 1 — useful for lower VRAM GPUs (< 5 GB)openhermes:7badded 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.pyGPU 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-ragv0.5.23 — Chat timeout fix, model correction, ingest error log, UI clarity
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:13breplaced withmistral-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 offermistral-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.logwith 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— thedeploy-install.ymlworkflow 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-ragv0.5.22 — DOCX support fix + resilient ingestion
What's changed
Bug fixes
- Add
docx2txtdependency —Docx2txtLoaderrequires thedocx2txtpackage, which was missing frompyproject.toml. Fresh installs crashed withModuleNotFoundError: 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/exceptaround 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-ragv0.5.21
What's new
macOS support (EC2 Mac / Apple Silicon / Intel)
- Full macOS support in
zettabrain-setup— detects platform, uses Homebrew, launchd, andmount_smbfs - Ollama installed via
brew install ollamawithbrew servicesmanagement - 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 withtr '[: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-zettabrain→zettabrain - Updated all URLs in
pyproject.tomlandREADME.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