Skip to content

v0.5.4

Choose a tag to compare

@yeasy yeasy released this 05 Apr 06:03
· 129 commits to main since this release

What's Changed

Highlights

  • Layout demotion logic fixed: COMPARISON and TWO_COLUMN slides now correctly demote to CONTENT when either column is empty, preventing lopsided slides
  • Security hardened: Web UI error messages no longer leak internal details; path traversal checks added to template handler
  • Type annotations modernized: All modules now use PEP 604 union syntax and built-in generics (Python 3.10+)
  • Model catalog updated: Added GPT-5.4-pro, o3/o3-pro/o3-mini/o4-mini reasoning models; Anthropic Haiku alias simplified

Fixed

  • Layout selector and slide planner now demote COMPARISON/TWO_COLUMN to CONTENT when a column would be empty
  • CHART and STATISTICS layouts demoted to CONTENT when data is missing
  • AutoPPTError messages sanitized in web UI to prevent information leakage
  • Research context truncated to 100K characters to prevent excessive prompt sizes
  • generate_outline now raises RuntimeError when called on a closed Generator
  • Template handler rejects path traversal attempts
  • Style selector validates theme dictionaries are in sync at import time
  • RateLimitError normalizes negative retry_after values
  • MockProvider preserves original casing in topic/hint extraction
  • Added types-requests to dev dependencies to fix mypy CI

Changed

  • Default OpenAI model: gpt-4.1 → gpt-5.4-mini
  • Anthropic Haiku: claude-haiku-4-5-20251001 → claude-haiku-4-5
  • SlideConfig.bullets now defaults to empty list
  • Architecture docs expanded with all module boundaries

Full Changelog: v0.5.3...v0.5.4