This is a maintenance release of EPUBCheck, the conformance validator for EPUB publications. It includes various improvements and bug fixes that have been contributed over the past two years.
This release was made by the DAISY Consortium, for the W3C.
Many thanks to the various people who contributed to this release, including @bitsgalore, @kalaspuffar, @kamorrissey, @matthew-macgregor, @mkraetke, @murata2makoto, @takahashim, @tledoux… and especially Tobias Fischer (@tofi86), who has been the primary project maintainer after v4.0.2 and before the DAISY Consortium took over the maintenance role in October 2018!
Note: this release does not yet implement support for the newer EPUB 3.2 specifications.
Bug Fixes
- silence a Saxon warning (Schematron XSLT) (5045d78b), closes #859
- fix path resolution in EpubNCXCheck (ctc package) (f572a861)
- handle
IllegalStateExceptionin NCX checker (25336894), closes #666 - check that the
mimetypefile is uncompressed (6764e250), closes #303 - fix wrong exit message for single file validation (68af5a9a), closes #740
- allow ARIA
roleattributes in SVG (49412e05), closes #769 - allow empty
xml:langattributes (392c2f68), closes #777 - handle no src uri in fonts, correct embedded font boolean in the XML output (a26f9c13), closes #773
- fix issues with landmarks checks
ACC-008(74d0bdd1), closes #457, #734 - fix focus issue when using EPUBCheck in a GUI app (cd63a166), closes #665
- fix incorrect warning
ACC_011(5e6a69af), closes #680 - make the
typeattribute optional on SVGstyleelements (275f6b6a), closes #688 - exit with error when directory is not found in expanded mode (e42d189c), closes #525
- fix a
NullPointerExceptionwhen checking an empty meta rendition element in OPF (42d75297), closes #727 - fix
DefaultReportImplto avoid duplicate path info in message locations (9321355b), closes #729 - fix broken
OPF_060andOPF_061message format (9f0e7d12), closes #658 - fix broken
OPF_060andOPF_061checks for duplicate ZIP entries (05e96f40), closes #728
Features
- allow the configuration of EPUBCheck’s locale (9b249956), closes #650, #498
- report invalid
dc:identifierUUIDs validation (asWARNING) (48800a04), closes #853 - change
--versionand-versioncommand line options to output EPUBCheck version (e498c61d), closes #743 - check files with extensions other than
.epub(1b67e046), closes #490 - report
file://URL asINFO(8f7a2b7d), closes #289 - improve messages for
OPF-058andOPF-059(5e33645e), closes #804 - enable
NCX_001check also for EPUB 3 when an NCX file is present (9715c352) - report non-matching identifiers in OPF and NCX as an error again (515682dc)
- improved css font size validation (25c0b372), closes #529
- issue a
WARNINGwhen landmarks anchors are not unique (557308ef), closes #493 - issue a
WARNINGwhen guide/reference elements are not unique (25f28c01), closes #493 - partial update of OPF 2.0 RelaxNG schema to latest version (changing datatype
texttoanyURIforhrefattributes) (251aa936), closes #725 - display error/warning count in EPUBCheck results (b7babedf), closes #655
- add file path info in
uriattributes of the XML report (c958c117), closes #540 - update the XHTML 1.1 RelaxNG schema to latest version (4c6fb49a)
- update the OPF20 RNG schema in sync with official schema to validate empty guide elements (6540b03d)
- report an
ERRORwhen@clipBeginequals@clipEndin SMIL Media Overlays (00716768), closes #568 - improve Nav Doc validation (d32de854), closes #763, #759
- update the NCX RelaxNG schema to add fixed list of
pageTargettype values (b2c9e939), closes #761 - improve URL checks (a44a596b), closes #708
- rephrase messages
RSC-005,RSC-016,RSC-017(5ef44973) - add JHove XSD schema declaration in XML output (e55039c9), closes #736
- add detailed resource info in
RSC-008messages (5f5ef7b7), closes #720 - add detailed resource info in
RSC-007messages (71a76ee4), closes #475
Maintenance
- change the project name to 'EPUBCheck' (dfd7fd27)
- update the minimum source code compatibility to Java 1.7 (9b249956)
- update the Saxon dependency to v9.8 (bf10f380)
- update the Apache
commons-compressdependency to v1.18 (e7dfedd8) - update the Google Guava dependency to v24.0 (befd9fc3)
- update the continuous integration build matrix, now testing from Java 7 up to Java 11 (fb84b23c)
- various translation updates (39a9a093, 6e3a8b41)
Assets
3
EpubCheck 4.0.2 is a maintenance release of the EPUB conformance checker.
Important security fix
This version includes a fix for a critical security vulnerability (CVE-2016-9487) which may, under some circumstances, enable a remote attacker to access arbitrary files on the system where EpubCheck is running.
All users should update to EpubCheck 4.0.2 as soon as possible.
Special thanks to Craig Arendt for having identified the vulnerability and disclosed it privately to EpubCheck's team
Enhancements
- #673 – Enhanced XML report output:
- #657 – New method
Archive.createArchive(File)to specify file paths when using this in 3rd party tools
Bug fixes
- Fix for critical vulnerability CVE-2016-9487
- #689 – Fix for unclosed
ImageInputStreams on image file validation - #678 – Clarify
ACC-009message: 'alt' -> 'alttext' attribute - #686 – Make
BitmapChecker.ImageHeuristicsapublicobject - #711 – Bugfix for false positive error messages due to locale settings
See the details in the list of issues closed since the last public release.
Assets
3
EpubCheck 4.0.1 is a maintenance release of the EPUB conformance checker.
- Fixes a few issues that caused EpubCheck to erroneously report warnings or errors when checking valid EPUBs.
- Deprecates the
aria-describedatattribute (now removed from ARIA 1.1) - Includes updated localization of error messages in Dutch, French, German, Japanese, and Spanish. Many thanks to the translators: @Cuadratin, @takahashim, @vincent-gros, Merijn de Haen and especially to @tofi86 who also coordinated these contributions!
See details in the list of issues closed since the last public release.
Assets
3
EpubCheck 4.0.0 is a stable release introducing conformance checking of EPUB Publications against the following specifications:
- EPUB 3.0.1
- EPUB Dictionaries and Glossaries 1.0
- EPUB Indexes 1.0
- EPUB Multiple-Rendition Publications 1.0
- EPUB Previews 1.0
- EPUB Region-Based Navigation 1.0
It also provides an early implementation of checks for the following draft specifications:
- EPUB 3 EDUPUB Profile
- EPUB Distributable Objects 1.0
- EPUB Scriptable Components Packaging and Integration 1.0
See also the complete list of issues closed since the last public release.
Assets
3
Changes since alpha 10:
- Remove excessive warning messages (#445, #444, #438, #441, #407, #379, #376)
- Add EDUPUB draft
epub:typeproperties as a "staging" set included in the default vocabulary (#439) - Do not consider the rendition vocabulary as part of the default vocabulary, but just as known vocabulary with a reserved prefix (#451, #437)
- Fix EDUPUB heading rules (#440)
- Collection
linkelements no longer cause false-negatives by being considered as duplicate of manifest entries. (#452, #443) - Check that XHTML Content Document file names have the
.xhtmlextension (#454, #447) - Removed dependency to proprietary deprecated
GIFStreamMetadatajava class (#417)
Assets
3
Pre-release of v4.0 that brings support for EPUB 3.0.1 and initial support for the EDUPUB profile.
Changes related to EPUB 3.0.1
- Package files (OPF)
- new
collectionelement - multiple
dc:typeelements are now allowed - multiple
dc:sourceelements has now allowed - allow "record" as value of
linkrelattribute (requiresmedia-typeset) - new
belongs-to-collectionandcollection-typemetadata properties - new
media:playback-active-classmetadata property - new
source-ofmetadata property - new
rendition:*metadata properties - new reserved prefix
schemafor schema.org vocabularies - improved prefix declaration parsing
- new
- XHTML Content Documents
- RDFa and Microdata attributes are now allowed and checked for correctness
- improved prefix declaration parsing
- improved checking of
epub:typeattribute values - allows custom (namespaced) attributes on any element
- new triggers
ev:defaultAction,ev:phaseandev:propagate - new attribute
aria-describedat
- SVG Content Documents
- the
epub:typeattribute is now allowed on any element
- the
- Structural semantics vocabulary
- new term
assessment - new term
learning-objective - new term
learning-resource - new term
loa - new term
lov - new term
qna - new term
revision-history
- new term
Changes related to EDUPUB
- Identification of EDUPUB content from the
dc:typeedupub - Custom OPF checks for EDUPUB metadata rules
- Support for
ditributable-objectandmanifestcollections - checks for
epub:typesemantics - checks for headings-related rules
Changes to the internal EpubCheck's internals:
- Early parsing of
dc:typein theOPFDataobject - Possibility to set multiple
XMLValidator(i.e. schemas) in most checkers - Revamped
prefixattribute parsing - New API for representing vocabularies and
property-datatype values.
Assets
3
Another pre-release drop with several bug fixes and addition handling of page maps.