Skip to content

EPUB 3.2 Rationale

Dave Cramer edited this page Apr 13, 2018 · 2 revisions

EPUB 3.2 Proposal

Introduction

EPUB 3.2 is envisioned to recast EPUB 3.1 as a wholly backward compatible update to EPUB 3.0.1 while still incorporating most features and changes found in EPUB 3.1. EPUB 3.1 would be withdrawn/superseded after the publication of EPUB 3.2. The design criteria include:

  • Guarantee that any EPUB 3.0.1 publication conforms to EPUB 3.2.
  • EPUB 3.0.1 Reading systems would accept and render any EPUB 3.2 publication although graceful fallback may sometimes be required.
  • Introduce those features of EPUB 3.1 which are required for proper handling of encrypted content, e.g. via Readium LCP.

Rationale

  • No commercial EPUB 3.1 publications have been sold, since epubcheck does not support EPUB 3.1.
  • EPUB 3.1 requires non-negligible adoption costs due to the change in version number in the package file (e.g., updating workflows and production tools, potentially supporting 3.0 and 3.1 during a transition phase both in workflows and supply chains, requiring reading systems to add support both 3.1 rendering while retaining 3.0 support). The business advantages provided by 3.1 (e.g., WOFF 2.0, SFNT, commitment to future HTML and SVG versions, recommendation that publications and Reading Systems confirm with EPUB Accessibility 1.0) are retained in 3.2.
  • The latest specifications from Publishing@W3C should have high prospects for use in the market; all the more important as 3.2 will be the first specification for EPUB generated after the merger with the W3C.
  • EPUB 4 will come out of the efforts the W3C Publishing working group, it will almost certainly not be directly backward compatible with EPUB 3.x; EPUB 3.2 will remove one non-compatible version (3.1) on the path from EPUB 3 to EPUB 4.
  • Difficulties in ISO/IEC: In ISO/IEC, the latest version supersedes all previous versions. Standardizing EPUB 3.1 in ISO/IEC will thus invalidate ISO/IEC EPUB 3 thereby making all EPUB 3 publications non-conformant to ISO/IEC specifications.

Changes to EPUB 3.1 for EPUB 3.2

  1. The value of the version attribute on the package element is “3.0” rather than “3.1” for EPUB 3.2.
  2. Update EPUB Revision History to note that EPUB 3.2 retracts incompatibilities between EPUB 3.0.1 and EPUB 3.1. And further note that EPUB 3.2, as now defined, is backward compatible with EPUB 3.0.1 and replaces EPUB 3.1 as the most modern
  3. Allow EPUB 3.2 Reading Systems to fail if they encounter Foreign Resources without Fallbacks, but strongly recommend they do not do so. LINKto 3.1 section. Along the lines of "Foreign Resources may be included in an EPUB Publication without a fallback provided ..." but add "however RS's may ignore these resources".
  4. Allow EPUB 3.2 Reading Systems to refuse Remotely-Hosted Resources. But recommend they do not do so.
  5. Use of the meta refines attribute is “discouraged” rather than “deprecated” in EPUB 3.2. However, addition of the new duration, opf:alt-rep, opf:authority, opf:file-as, opf:role, opf:scheme and opf:term attributes is retained in EPUB 3.2.
  6. Reintroduce, but highly discourage the use of, the OPF2 meta element. Retain the EPUB 3.0.1 language that is obsoleted.
  7. In EPUB 3.0.1 the NCX was "superseded" and in EPUB 3.1 it was "superseded and marked for removal". For 3.2, it should be simply "deprecated" (or even just leaving as "superseded" could be okay).
  8. Reintroduce the guide element of package, but note that it is obsolete and deprecated. Allow EPUB 3.2 Reading Systems to not support it.
  9. Reintroduce the bindings element of package, but note that it is obsolete and deprecated. Allow EPUB 3.2 Reading Systems to not support it.
  10. Reintroduce but strongly discourage the switch element. Allow EPUB 3.2 Reading Systems to not support it.
  11. Reintroduce but strongly discourage the trigger element. Allow EPUB 3.2 Reading Systems to not support it.

EPUB 3.1 changes retained in EPUB 3.2

  1. Preserve the new specification organization from EPUB 3.1 for EPUB 3.2.
  2. Preserve the vocabularies (such as manifest properties vocabulary) introduced by EPUB 3.1.
  3. Retain EPUB 3.1 Accessibility Support language roughly as is for EPUB 3.2 (though, some of the A11Y specs may need to be slightly altered to reflect this).
  4. Retain WOFF 2.0 and SFNT as new core media types in EPUB 3.2 (some testing to make sure EPUB 3.0.1 5. Reading Systems can handle this may be required, but such failures are considered unlikely).
  5. Remove support for EPUBCFI’s for hyperlinking.
  6. Retain the priority of linked metadata records over directly included records in EPUB 3.2.
  7. Retain in EPUB 3.2 the updated references to HTML and SVG.
  8. Retain EPUB 3.1’s replacement of EPUB Stylesheets with CSS references.
  9. Retain EPUB 3.1’s prioritization of Author and User Stylesheets.
  10. Retain EPUB 3.1’s scripting clarifications except deprecate (rather than remove) support for embed and object for container-constrained scripting.
  11. Retain epubReadingSystem Object clarifications.
  12. Retain the OCF/encryption changes from EPUB 3.1 (as well as the introduction of the Compression element), as these are used by LCP.
  13. Retain the Package Metadata Expression clarifications relative to Media Overlays.
  14. Retain EPUB Canonical Fragment Identifier clarifications (and removal of support for EPUBCFI’s for hyperlinking).
  15. Retain the clarifications relating to Alternate Style Tags.

Editors

Garth Conboy; Google

Makoto Murata; Keio Advanced Publishing Laboratory and JEPA

Dave Cramer; Hachette Book Group