v1.3.1

spider-rs/spiderv1.3.1Feb 6, 2026by denizsafak

AI Summary

A bug fix release improving the JSON parsing logic in the automation module to handle LLM responses that include reasoning text before the JSON code block.

Key Highlights

  • Improved `best_effort_parse_json_object` parsing function
  • Ability to find JSON blocks anywhere in the response, not just at boundaries
  • Support for JSON arrays in addition to objects
  • Better fallback parsing for various LLM response formats

New Features

  • Robust parsing of LLM reasoning text
  • Handling of JSON arrays in extraction results
  • Flexible fallback parsing for different model outputs

Full Release Notes

- Special thanks to [@jeremiahsb](https://github.com/jeremiahsb) for his [massive contribution](https://github.com/denizsafak/abogen/pull/120) (>55k lines!) that brought the Web UI, EPUB 3 pipeline, and core architectural improvements to life.
- Added an EPUB 3 packaging pipeline that builds media-overlay EPUBs from generated audio and chunk metadata.
- Persisted chunk timing metadata in job artifacts and exercised the exporter with automated tests.
- Added Flask-based Web UI (`abogen-web`) for Docker and headless server deployments.
- Reorganized codebase to support both PyQt6 desktop GUI and Web UI from a shared core.
- Added Supertonic TTS engine support with GPU acceleration.
- Added entity analysis and pronunciation override system for proper nouns.
- Added speaker/role assignment for multi-voice "theatrical" audiobooks.
- Added Calibre OPDS and Audiobookshelf integration.

Update:
```
uv tool update abogen
```