Skip to content

Tags: andileco/php-epub

Tags

1.0.0

Toggle 1.0.0's commit message
Fix identifier mismatch, preserve layout in dedup, emit subtitle/edition

- Memoize the auto-generated UUID in Metadata::getIdentifier() so the
  OPF dc:identifier and NCX dtb:uid always match (previously every call
  returned a fresh UUID, failing epubcheck on every book).
- Add Chapter::withSubChapters() and use it during chapter ID
  deduplication so parent chapters keep their layout, viewport, and
  other properties (previously rebuilt chapters silently lost
  fixed-layout overrides).
- Emit subtitle (dc:title with title-type refinement) and edition
  (schema:bookEdition) in the OPF; both setters were previously
  accepted but never output.
- Remove unused MimeTypes::fromExtension() and an unused import in
  NavBuilder; add .m4a audio mapping.
- Add LICENSE (MIT), phpunit.xml.dist, and .gitignore.
- Add regression tests for identifier consistency, subtitle/edition
  output, and layout preservation on nested chapters.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bqt5ZiReX6Bks6JahW67VR