Skip to content

Releases

v2.0.1 — predictable summary language

Choose a tag to compare

@Wintersta7e Wintersta7e released this 26 Aug 22:29

Summaries now come back in the language you expect.

Fixed — output language was unpredictable (#16)
Every prompt is written in English and nothing stated which language to answer in, so the model inferred one. A mostly-Chinese document carrying a few English acronyms would come back as a long English summary, while a pure-Chinese one stayed Chinese. Every request now states the language explicitly.

New — choose the summary language
A Summary language picker on the Config screen and -l/--language on the CLI. The default, Auto, matches the document. Any language name is accepted, not only the listed ones.

docsummarizer-cli notes.txt -l Chinese

Fixed — release binaries were built without Qt
The v2.0.0 downloadable assets were built without the gui extra, so they failed at startup with ModuleNotFoundError: No module named PySide6. Anyone who hit that: the assets below are the working builds.

Windows and Linux builds are CPU-only; the ~2.5 GB model downloads on first run.

DocSummarizer 2.0.0

Choose a tag to compare

@Wintersta7e Wintersta7e released this 26 Jun 18:03

DocSummarizer 2.0.0

A ground-up redesign of the desktop application around a new offline-first interface.

Highlights

  • New desktop UI — a redesigned two-pane console: brief / detailed / structured summaries, a raw-extraction view with search, and batch processing with live per-file status.
  • Source-grounded provenance — click a summary point to highlight the exact sentence it was drawn from.
  • Cancellable summaries — Stop interrupts a running summary immediately.
  • Whole-document summarization — long documents are processed in chunks (map-reduce), not truncated.
  • Refined visual design with bundled typography.
  • Accurate compute reporting — the GPU toggle reflects what the build actually supports.

Notes

  • The portable DocSummarizer.exe runs entirely on CPU and needs no GPU or installation.
  • On first launch it downloads the local model (~2.5 GB, one-time); everything runs offline afterwards.

Windows portable executable attached below.

v1.1.0

Choose a tag to compare

@Wintersta7e Wintersta7e released this 15 May 19:10

Security

  • Bump llama-cpp-python to the 0.3.x line (clears GHSA-56xg-wfcc-g829, a critical RCE via Jinja2 SSTI in chat-template parsing).
  • Bump pypdf to the 6.x line (clears ~24 DoS / RAM-exhaustion advisories that apply to attacker-supplied PDFs).
  • Bump tqdm past CVE-2024-34062 (CLI eval injection; not exploitable in this app but bumped on principle).
  • Move every other dependency to its current major.

Reliability

  • Fix Tk widget mutation from worker threads across the load, download, summarize, and batch paths.
  • Lock-protected Summarizer access with explicit close() + context-manager support (replaces unreliable __del__).
  • Fix PyInstaller spec on macOS — it was silently bundling zero llama backend libraries because the lookup path was hardcoded to venv/ / venv_linux/.
  • Drop the .doc extension claim (legacy OLE compound; python-docx cannot read it). .docx only.
  • Single stat() in document_parser metadata to avoid a network-share race.

UX

  • Real progress bar during the 4.4 GB model download (was 0% → 100% only).
  • Initial model load now shows a loading dialog and disables inputs.
  • Batch processing reports per-file success/failure with a list of failures in the completion popup.

Infrastructure

  • The package is now installable: src/docsummarizer/ layout, pip install -e ., docsummarizer and docsummarizer-cli entry points.
  • llama-cpp-python lives behind the [runtime] extra so CI installs the package without the heavy native backend.
  • GitHub Actions CI on Ubuntu × Python 3.10 / 3.11 / 3.12 — ruff check, ruff format check, 42 pytest tests.
  • Hash-pinned requirements.lock (generated by uv pip compile --generate-hashes --all-extras) for reproducible release builds.
  • Dependabot enabled (weekly, pip + github-actions).
  • Branch protection on master requiring all three matrix CI jobs.

Upgrade notes

The package install path changed: pip install -r requirements.txt no longer works (the file is gone). Use the setup scripts (setup_and_run.{sh,bat}) — they now run pip install -e ".[runtime]". For development, pip install -e ".[dev]" is enough (skips the C++ backend; tests stub it).

Release v1.0.1

Choose a tag to compare

@Wintersta7e Wintersta7e released this 25 Jan 12:48

What's New

CPU Usage Control

  • Added CPU threads slider in Settings tab (2 to max cores)
  • Users can now balance between speed and system responsiveness
  • Default: uses half of available CPU cores instead of all

Improved User Experience

  • Added loading dialog with progress indicator during model reload
  • Visual feedback when changing thread settings

Logging & Diagnostics

  • Added logging system for troubleshooting
  • Logs stored in %LOCALAPPDATA%\DocSummarizer\logs\ (Windows) or ~/.local/share/DocSummarizer/logs/ (Linux)
  • Tracks: startup info, model loading time, summarization speed (tokens/sec)
  • No sensitive data logged (document content is never stored)

Bug Fixes

  • Fixed "NoneType object has no attribute 'write'" error when downloading model on Windows
  • Fixed "system cannot find the path" error when loading model (llama_cpp DLLs now bundled)
  • Fixed window not closing properly on X button
  • Reduced CPU usage during inference with n_threads_batch optimization