Skip to content

0.14.4 - #343

Open
eshellman wants to merge 47 commits into
masterfrom
v14
Open

0.14.4#343
eshellman wants to merge 47 commits into
masterfrom
v14

Conversation

@eshellman

@eshellman eshellman commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

0.14.3 August 12, 2026

This release includes several important updates. There are quite a few issues still waiting to be addressed; they are not forgotten.

  • To balance the long-standing policy of only using "REC" CSS against legal requirements for accessibility, we are significantly relaxing our CSS validation. This means that post-processors should take care to provide "graceful degradation" for CSS that might not be supported in every reading device.

    • CSS Grid Layout Level 1 is now supported. Fixes Accessibility: Support for display:grid #322. Grid layout should be strongly considered as a replacement for the use of table for layout
    • CSS Flexbox Level 1 is now supported. Together with Grid, there should be no reason to use tables for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.
    • CSS3 Text Decoration properties are now supported. These were the most often used properties removed by Ebookmaker as not yet REC.
    • The first-letter property is now supported. While this is still not supported in every browser, it is supported by most ebook readers. Use this property to make drop caps in an accessible way. Fixes add support for initial-letter property for accessible drop caps #310
    • Ebookmaker uses the Python module 'CSSUtils' to do CSS validation. It does not support the full grammar used in newer CSS. In particular it does not support the "var()" construct; do not expect this to change anytime soon.
    • The current version of CSSUtils does not support the rem measurement, so CSS with rem in it will cause errors to be reported and CSS 2.1 rules containing rem will be removed. The current version of CSSUtils, that supports rem, requires a Python version newer than we have running in production. When our python version is updated, we will update CSSUtils.
  • In both in HTML and EPUB, for improved accessibility, added the CSS rule a[href] {text-decoration: underline;} to make sure links are underlined. Previously, we underlined all a elements, which ignored prior usage as an link target.

  • The aside element is now allowed. becomes div[class=aside] in epub2.

  • handling of inline SVG has been improved.

    • the inline SVG element is now handled whether or not it has set the svg namespace.
    • inline SVG is changed to standalone files in EPUB2
    • inline html5 SVG now adapted for EPUB3, which cares about namespaces
  • an error is no longer emitted when rst output is requested from html input

  • uses hN element to set the title element of each chunk in the epub. fixes Consider adding running headers as a list in epub navigation document #331

  • refactored boilerplate stripping for txt files so it only needs to be done once per book. boilerplate is now detected in the text Parser, instead of in the text Writer.

  • support HTML5 time element. fixes Accessibility: <time> tag #332

  • a tags can't contain block tags in xhtml, so div in a and p in a cause EPUB2 validation errors, so Ebookmaker now changes p and div occurring in a to span for EPUB2. I'm not sure why anyone would want to use this markup in a book. Fixes Valid HTML5 <p> tag within <a> tags causes a crtical error #333

  • empty th elements are replaced by empty td elements for better accessibility. Fixes replace empty <th> elements with <td> elements. #315.

0.14.4 August 15, 2026

  • fixed a regression in text boilerplate stripping. Affected only txt -> html (and thus epub, mobi, etc)
  • fixed setup and added parse() invocation in tests_txt

eshellman added 30 commits July 4, 2026 13:43
`a` tags can't contain block tags in xhtml, so div in `a` and `p` in `a` cause EPUB2 validation errors, so Ebookmaker now changes `p` and `div` to `span` for EPUB2. I'm not sure why anyone would want to use this markup in a book. fixes #333
- In both in HTML and EPUB, for improved accessibility, added the css rule `a[href] {text-decoration: underline;}` to make sure links are underlined. Previously, we underlined all `a` elements, which ignored prior usage as an link target. Fixes #329.
uses hN element to set the title element of each chunk in the epub.
The `aside` element is now allowed. becomes div[class=aside] in epub2. Addresses #321.
generated by Gemini.
- To balance the long-standing policy of only using "REC" CSS against legal requirements for accessibility, we are significantly relaxing our CSS validation. This means that post-processors should take care to provide "graceful degradation" for CSS that might not be supported in every reading device.
    - CSS Grid Layout Level 1 is now supported. Fixes #322. Grid layout should be strongly considered as a replacement for the use of table for layout
    - CSS Flexbox Level 1 is now supported. Together with Grid, the should be no reason to use table for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.
    - CSS3 Text Decoration properties are now supported. These were the most often used properties removed by ebookmaker as not yet REC.
    - The first-letter property is now supported. While this is still not supported in every browser, it is supported by most ebook readers. Use this property to make drop caps in an accessible way.
0.14.3 August 12, 2026

This release includes several important updates. There are quite a few issues still waiting to be addressed; they are not forgotten.
- To balance the long-standing policy of only using "REC" CSS against legal requirements for accessibility, we are significantly relaxing our CSS validation. This means that post-processors should take care to provide "graceful degradation" for CSS that might not be supported in every reading device.
    - CSS Grid Layout Level 1 is now supported. Fixes #322. Grid layout should be strongly considered as a replacement for the use of table for layout
    - CSS Flexbox Level 1 is now supported. Together with Grid, the should be no reason to use table for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.
    - CSS3 Text Decoration properties are now supported. These were the most often used properties removed by Ebookmaker as not yet REC.
    - The first-letter property is now supported. While this is still not supported in every browser, it is supported by most ebook readers. Use this property to make drop caps in an accessible way.  Fixes #310
    - Ebookmaker uses the Python module 'CSSUtils' to do CSS validation. It does not support the full grammar used in newer CSS. In particular it does not support the "var()" construct; do not expect this to change anytime soon.
    - The current version of CSSUtils does not support the `rem` measurement, so CSS with rem in it will cause errors to be reported and CSS 2.1 rules containing `rem` will be removed. The current version of CSSUtils, that supports `rem`, requires a Python version newer than we have running in production. When our python version is updated, we will update CSSUtils.

- In both in HTML and EPUB, for improved accessibility, added the CSS rule `a[href] {text-decoration: underline;}` to make sure links are underlined. Previously, we underlined all `a` elements, which ignored prior usage as an link target.

- The `aside` element is now allowed. becomes div[class=aside] in epub2.

- handling of inline SVG has been improved.
    - the inline SVG element is now handled whether or not it has set the svg namespace.
    - inline SVG is changed to standalone files in EPUB2
    - inline html5 SVG now adapted for EPUB3, which cares about namespaces

- an error is no longer emitted when rst output is requested from html input

- uses hN element to set the title element of each chunk in the epub. fixes #331

- refactored boilerplate stripping for txt files so it only needs to be done once per book. boilerplate is now detected in the text Parser, instead of in the text Writer.

- support HTML5 `time` element. fixes #332

- `a` tags can't contain block tags in xhtml, so div in `a` and `p` in `a` cause EPUB2 validation errors, so Ebookmaker now changes `p` and `div` occurring in `a` to `span` for EPUB2. I'm not sure why anyone would want to use this markup in a book. Fixes #333

- empty `th` elements are replaced by empty `td` elements for better accessibility. Fixes #315.
Comment thread CHANGES
This release includes several important updates. There are quite a few issues still waiting to be addressed; they are not forgotten.
- To balance the long-standing policy of only using "REC" CSS against legal requirements for accessibility, we are significantly relaxing our CSS validation. This means that post-processors should take care to provide "graceful degradation" for CSS that might not be supported in every reading device.
- CSS Grid Layout Level 1 is now supported. Fixes #322. Grid layout should be strongly considered as a replacement for the use of table for layout
- CSS Flexbox Level 1 is now supported. Together with Grid, the should be no reason to use table for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- CSS Flexbox Level 1 is now supported. Together with Grid, the should be no reason to use table for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.
- CSS Flexbox Level 1 is now supported. Together with Grid, there should be no reason to use tables for layout; going forward, layout tables will need to be converted to more accessible CSS based layout.

Comment thread CHANGES

- an error is no longer emitted when rst output is requested from html input

- uses hN element to set the title element of each chunk in the epub. fixes #331

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although this is a valuable fix and I have no disagreement with it, it doesn't fix (my intention for) #331
What I was describing in #331 was to make it possible for the PPer to flag a sidenote (either a true sidenote, or a running header at the top of each page describing that portion of the book) to be added to a nav list in the epub navigation document.

Suggest removing the "fixes #331" comment.

- fixed a regression in text boilerplate stripping. Affected only txt -> html (and thus epub, mobi, etc) fixes #345
- fixed setup and added parse() invocation in tests_txt
@eshellman eshellman changed the title 0.14.3 0.14.4 Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants