All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
2.30.7 (2024-11-27)
- Float box may appear twice at page break (Regression in v2.30.5) (4d7caa5), closes #1422
- prevent breaking inside SVG (f58e457), closes #1406
- prevent wrong break at beginning of paragraph (3cfca03), closes #1401
2.30.6 (2024-11-17)
- Broken text layout at page break when ruby-text font size is larger than usual (2bb4d0e), closes #1401
- Broken text layout at page/column break caused by inline SVG (ecb01ef), closes #1406
- error in react/storybook (7e947f9), closes #1419
- Improve epub:noteref/footnote support (6c894e7), closes sample.xhtml#fn1
- Make Arabic letters look connected before and after break at soft hyphen (03bc5ea), closes #1414
- text-autospace should not put space glyph in PDF (bc3346f), closes #1411
2.30.5 (2024-10-20)
- "Failed to parse stylesheet" warning (Firefox and Safari) (0b57769)
- CSS counter-increment and counter-reset should be ignored for elements with
display: none
(5ed23e8), closes #1385 - CSS counter-reset scoping problem (100c101), closes #1389
- CSS direction property ignored on margin boxes (61719eb), closes #1393
- CSS implicit list-item counter (56941e5), closes #1391
- Float box inside inline element disappeared at page break (6805ff9), closes #1383
- Prevent "A network error occurred." in console when using web fonts (5cd0afc)
- viewer: Deprecated meta tag "apple-mobile-web-app-capable" (d1a23a4)
- writing-mode on
@page
not inherited properly to margin boxes (c5f8eb9), closes #1392 - Wrong processing order of counter-set and counter-increment (d1ca8cd), closes #1390
2.30.4 (2024-08-20)
- Chromium's standard CSS zoom support check (469c2e8)
2.30.3 (2024-08-19)
- Viewer page display size is abnormally reduced and layout is broken with Chrome 128 (cd4f25e), closes #1370
2.30.2 (2024-07-21)
-adapt-template: footnote
should work for "user-agent.xml#footnote" (2b2aa83)epub:type="footnote"
on non-aside
element should not cause footnote layout (1f21f56), closes #1363- Attribute selectors with wildcard namespace not worked (b7c45f7)
- Browser-native MathML should be enabled when MathJax is not loaded (c1a760e)
- Flexbox not working on page floats (Regression in v2.28.0) (eb4b6e1), closes #1354
- unsupported nested media rule causes subsequent rules to fail (6098105), closes #1360
2.30.1 (2024-06-14)
- InvalidNodeTypeError may happen during table pagination (Regression in v2.30.0) (9c1db41), closes #1345
2.30.0 (2024-06-04)
- Images with percentage height cause page overflow (f5192f7), closes #1335
- Images with width and height specified causes page overflow (abb8f78), closes #1343
- Images with width and height specified may dissapear in print (985095f), closes #1321
- internal use of
class="table-cell-container"
may conflict with author/user's use (83c443e) - Page breaks not made between some inline elements such as images (4380055), closes #1319 #1051
- running element page counter incorrect (#1327) (8c390b8), closes #1325
- table pagination problem (09e472d), closes #1326
- The windows environment failed to yarn dev (#1337) (20fee03)
- TypeError occurs when
:has(+ …)
is used with universal or root selector (d124d62), closes #1341
- add i18n zh_cn (79b4d06)
- i18n:zh_CN: add Chinese translation (b20e712)
- viewer: UI Chinese language support (zh-Hans, zh-Hant) (29dc959)
2.29.0 (2024-05-03)
- CSS font descriptors wrongly validated as font properties (44f63fa), closes #1307
- layout precision problem on float boxes (a561a32), closes #1312
- Named page wrongly applied to blank pages (07b6a24), closes #1309
- text-spacing-trim may not work properly between different font sizes (2fd345d), closes #1302
- Unnecessary page break at footnote or page bottom float (6e4e367), closes #1311
- Wrong handling of shorthand properties with variables in conditional rules (a26d179), closes #1313
2.28.1 (2024-03-12)
2.28.0 (2024-03-03)
- adjust TOC box width to account for scrollbar width (47e5d5b)
- All
<nav epub:type="…">
elements in EPUB navigation doc should be shown in TOC box (d31010f), closes #1270 - blank page selector misapplied when target-counter is used (40a760b), closes #1131
- break-before specified on floats may not work (06890fe), closes #1288
- Column floats disappear (52ede7d), closes #1273
- Float box pushed out of the page area (7e86951), closes #1295
- float margins collapsed wrongly (03121f2), closes #1282
- remove old EPUB NCX handling (56ca0ed)
- set overflow property of
@-epubx-partition
to hidden by default (c196685), closes /idpf.org/epub/pgt/#s3 - target-counter leads to pagination to wrong named page (980632d), closes #1272
- Top margin at unforced page break not truncated correctly (97779f3), closes #1279
- Top margin of floats at page start should be kept (6c1fb7f), closes #1292
- TypeError occurs on repeating_elements/nesting test (819e1fd)
- Add errorCallback config option to VivliostylePrint/printHTML() (9602d61)
2.27.0 (2024-02-09)
- HTML documents listed in "resources" in pub-manifest should not be rendered as if in "readingOrder" (0bbbd48), closes #1257
- remove ruby font-size workaround no longer necessary (3138fda)
- text-spacing not working properly with text-spacing natively enabled browser (42e16f4), closes #1252
- text-spacing-trim:space-first not working properly in some case (398b53e), closes #1261
- TOC box should contain only the TOC element content (754a70c), closes #1258
- Units vi and vb are mishandled when writing-mode is different from the root element (286cc1e), closes #1265
- vertical-in-horizontal block height and horizontal-in-vertical block width not computed properly (0f7d45e), closes #1264
- Viewer page navigation hangs with EPUB/webpub with undetermined page-progression-direction (a7f5572), closes #1260
2.26.0 (2024-01-20)
- set hanging-punctuation:none for pre-formatted text default style (52d50c9)
- text-spacing-trim not working properly in some cases (99b3af3), closes #1251
2.25.9 (2023-12-04)
- page breaking inside table with table-header may cause unexpected page type reset (7865dea), closes #1233
- page-area content may disappear on print (2f2f85a), closes #1240
2.25.8 (2023-11-06)
2.25.7 (2023-10-24)
2.25.6 (2023-10-03)
- viewer: Current page should be kept after Find results in "Not Found" (fb28b64)
- viewer: Exclude generated page margin box content from text search (ea8a447)
- viewer: Navigation with page slider should not affect browser history stack (7b3f117), closes #1219
- viewer: selection highlighting problems on iOS (abb3ee2)
- viewer: tweak viewer UI for mobile devices (167adee)
- viewer: tweak viewer UI style for mobile devices (f6ef23b)
2.25.5 (2023-08-09)
- negative page margin values not working as expected (3f352d2), closes #1217
- TOC box disappeared when resizing window (115205f)
2.25.4 (2023-07-28)
2.25.3 (2023-07-24)
- EPUB font deobfuscation not working (2bbd58b)
- Failed to load when publication manifest has stylesheet URL without extension (5e092c4), closes #1207
- Numbered list counts go wrong when footnote-related pseudo-elements exist (871bef7), closes #1200
- viewer: Unexpected scrollbar appears when loading W3C documents (e96f6f0)
- wrong URL resolution when baseURL has no file name extension (776791f), closes #1211
2.25.2 (2023-06-22)
2.25.1 (2023-05-31)
- page counter in running element not incremented properly (7bf1b6d), closes #1194
- viewer: marker edit menu closes unexpectedly when editing memo (110b8e9)
- wrong running element output with position:running() on display:none element (c944a09), closes #1196
2.25.0 (2023-05-15)
- content(first-letter) in string-set property should respect ::before/after pseudo-elements (2a142e3), closes #1174
- image size in page margin boxes (2f08632), closes #1177
- some list style types are unavailable in list-style shorthand property (52c3afd), closes #1184
- text-spacing:none for pre/code/kbd/samp/tt elements should be default (a69b921)
- unnecessary forced page breaks at the beginning of page after out-of-flow elements (a867344), closes #1176
- viewer: prevent wrong text selection touching page navigation buttons (8ba017f)
- Vivliostyle crashes when using CSS namespaces (2f54e24), closes #1172
- Vivliostyle crashes with "Error: Function xxx is undefined" (619803d)
- Vivliostyle crashes with "Error: Internal error" (26284e0), closes #1178
- widows and orphans properties are ignored inside multi-column box (f61931e), closes #1182
- wrong layout with ::first-letter and ::after pseudo-elements (f59e6bd), closes #1175
2.24.3 (2023-04-20)
- viewer: marker text selection problem (11a6584)
- z-index on page context problem (Regression in v2.23.1) (9dc8344), closes #1166
2.24.2 (2023-04-11)
- prevent "TypeError: can't access property" (3d9850d), closes #1160
- unnecessary scrollbars when zoom is fit-to-screen (bb504a6), closes #1158
- viewer: marker annotation user interface problem on touch devices (17c770d)
- viewer: viewport height problem on smartphones (f3649c7)
- wrong hyphen appears at page break with line-break:anywhere (a5e1356), closes #1162
2.24.1 (2023-04-01)
- wrong message "[object Object]" instead of delete confirmation (451f737)
2.24.0 (2023-04-01)
- Browser "Back" button should work with internal link or TOC navigation (5b6795c)
- Rendering error with SVG images in EPUB (Regression in v2.23.0) (bff1c63), closes #1139 #1135
- viewer: Add Restore View setting (550c019)
- viewer: Add UI Language in settings panel (7e4ee0c)
- viewer: Marker annotation (7202a57)
- viewer: Multilingual user interface (en/ja) (aa2f27b)
2.23.2 (2023-03-25)
2.23.1 (2023-03-24)
- Leader layout problem dependent on font and language (bf351a9), closes #1117
- Page background image is not painted in the bleed area (fb14e6c), closes #644
2.23.0 (2023-03-13)
- CSS rem unit not evaluated correctly in min/max/clamp functions (0694528), closes #1137
- SVG rendering error with
<use xlink:href=… />
(e36aba9), closes #1135 - tweak TOC detection for VFM v2 change (4304f27)
- Using a CSS target-counter breaks named-pages styling (f88013e), closes #1136
- viewer: [Regression v2.22.4] Viewer TOC item indent too large (8f8067e), closes #1133
2.22.4 (2023-02-22)
- HTML
<link rel="stylesheet">
tag withouthref
causes TypeError (c8a18c0), closes #1120 - improve margin-break handling (5327f69), closes #611 #1124
- margin-break:discard not working properly (660eefd), closes #1123
- no break opportunity at empty block box (a2b4537), closes #749
- no break opportunity between anonymous block box and block-level box (73df5bc), closes #611
- wrong cascading with CSS logical properties (2f7fd7b), closes #1126
- wrong page break inside table in vertical writing mode (2dae5fc), closes #1129
2.22.3 (2023-01-29)
- Inline margins on leader not working properly (abb74e6), closes #1114
- Leader layout problem on Safari (afac702), closes #1112
- PDF internal links not working properly (50d4891), closes #1110
2.22.2 (2023-01-26)
- Leader disappears in very large page (a75a2e4), closes #1109
- Leader layout problem with text-indent (c9e6d07), closes #1107
2.22.1 (2023-01-26)
- Leader layout broken with text-spacing processing (78a2e92), closes #1105
- react: default to BookMode=true and revert to before modification of json determination as it changes the behavior (d4429d8)
- react: Enable EPUB and Web publishing only when bookMode=true (3e17f7e)
- react: Modify the conditional expression to determine if it is EPUB (00ea102)
2.22.0 (2023-01-25)
- layout problem when devicePixelRatio is changed during rendering (58c6202), closes #1079
- react: Fix code that causes null error (e05998f)
- very thin border on printing with Microsoft Edge (0137d0e), closes #1079 #1085
- react: Modify type definition errors as a result of updating react (9fb71ba)
- Support CSS leader() function (1fdbb15), closes #1027
2.21.1 (2023-01-06)
2.21.0 (2023-01-06)
float-min-wrap-block: 0
causes "TypeError: Cannot read properties of undefined" (02c1bc8), closes #1072- break-before:column on single column causes printed page content disappear (4eb82ed), closes #1067
- display and overflow property value definition (bb34af2)
- Page break position changes depending on display device pixel ratio (23792ce), closes #1076
- remove workaround for old Chrome printing problem (fbad411), closes #600
- Top page float should not absorb margin/border/padding of the block below (9999edd), closes #1071
- wrong white-space processing on non-ASCII spaces such as U+3000 IDEOGRAPHIC SPACE (7fb7bc0), closes #1082
- Enable very thin border width on PDF output (0eadefe), closes #419 #1076
- Improve page auto spread view mode (68119e3)
- Update CSS text-spacing property spec to align to the latest draft (395b923), closes #1080
2.20.0 (2022-12-16)
- hanging-punctuation makes text selection difficult for paragraph-last punctuation (00177d3), closes #1062
- Question: react renderer size (9d1fe83), closes #709
- Some text-* properties are not applied to page margin box content (c3082f6), closes #1059
- Text-decoration-line should not be skipped at ideograph-alpha/numeric text spacing (e8382ed), closes #1061
- Wrong cascading with shorthand property text-decoration and its longhand (7674360), closes #1054
- Add support for CSS lh and rlh units (554d300), closes #1035
- Add support for CSS margin-break property (a3086dc), closes #734
- Support (-webkit-)text-stroke properties (73e0560), closes #1055
2.19.2 (2022-11-17)
@supports selector(…)
did not work (49c48a4)- improve box edge treatment at page break and box-decoration-break support (d5ea1a9), closes #603 #1030 #1038
- wrong first line treatment on text-spacing:space-first and hanging-punctuation:first (0ccdca2), closes #1041
- wrong page break prohibition between text and block box (68b3754), closes #1036
2.19.1 (2022-10-21)
2.19.0 (2022-10-18)
- Add support for :has() pseudo-class in Selectors Level 4 (8ed553f), closes #828
- Add support for :is()/:not()/:where() pseudo-classes in Selectors Level 4 (68baee0), closes #957
2.18.4 (2022-10-12)
- CSS parser error with calc expression including parens and variables (88c4ae0), closes #1014
- CSS parser error with property:calc(…) misinterpreted as selector with pseudo class (71c39bf), closes #1020
- percentage units in color value changed, resulting in invalid colors (a45e861), closes #1012
- RTL direction not behaving in multi column (d6280f1), closes #1016
- TypeError occurs with ::nth-fragment() and ::after-if-continues() selectors (7a7c1aa), closes #1023
- wrong CSS variable scoping (37e800a), closes #1015
2.18.3 (2022-09-30)
- [Regression] wrong text-spacing with fullwidth opening brackets near end of line (667b219), closes #1010
2.18.2 (2022-09-30)
- viewer: Apply and Cancel buttons in Settings menu should not be scrolled out (2df1b74)
- viewer: disable shortcut keys when an input box exists in document and that is activated (0eedcc0)
- wrong text-spacing when non-fullwidth closing and fullwidth opening brackets are adjacent (331322b), closes #1003
- wrong text-spacing with fullwidth punctuations in some edge cases (6a79482), closes #1005 #1006
- wrong text-spacing:space-first and hanging-punctuation:first at page break inside paragraph (ddd6d6c), closes #1008
2.18.1 (2022-09-18)
- DOMException error caused by wrong
instanceof Element
usage (d959b95), closes #1000 - viewer: crop marks values (e.g., crop cross) should be able to be specified (233ce43)
2.18.0 (2022-09-17)
- error with
<object>
tag (9e9565f), closes #995 - errors on the Acid2 Browser Test (849a604)
- failed some of the css-variables tests (5d0f324)
- incorrect column-rule positioning in vertical writing mode (3cc0e01), closes #978
- unnecessary page break caused by ruby elements (21eb17c), closes #987
- valid CSS rules ignored after parsing error with invalid or unsupported CSS rule (5e76ed5), closes #597 #976
- viewer: problem on author/user stylesheet switch ("Set as user stylesheet" checkbox) (2799a34)
- viewer: tweak Reset Custom Style checkbox behavior (9c96ccb)
- viewer: unbound this error "Cannot set properties of undefined" (2505458)
- wrong cascading on shorthand property with CSS variable (2ee7927), closes #979
- wrong cascading with CSS !important (fb1dae2), closes #986
- wrong text justification at last line of page caused by consecutive ruby elements (ad26952), closes #985
- viewer: add crop marks setting (1d0834b), closes #993
- viewer: change "User Style" to "Custom Style" and treat it as an author stylesheet by default (bdb26d4), closes #991
- viewer: set bookMode=true as default (5411264), closes #992
2.17.2 (2022-08-14)
2.17.1 (2022-08-09)
- float with clear not properly positioned (54a00b8), closes #969
- Relative length units such as em and vw used in CSS calc() not working correctly (5bd7ce3), closes #968
- unnecessary warning "Property not supported by the browser: ua-list-item-count" (f9419a3)
2.17.0 (2022-07-29)
2.16.0 (2022-07-19)
- Content overflow caused by line breaks in table cells that are not present in preview and appear in print (b1d7346), closes #958
- CSS explicit defaulting (e.g.
all: unset
,break-inside: inherit
) may not work as expected (745cbc2), closes #956 - font-size with rem on root element causes wrong 1em size (3bcb351), closes #608
- Footnote may disappear on Adaptive Layout (ae45017), closes #962
- Add support for CSS 'inset' shorthand property (2d2b8de)
- Add support for CSS property value keywords 'initial', 'unset' and 'revert' (9f33464)
- Add support for CSS shorthand property 'all' (1f809cd)
- Improve CSS validator to support new property values supported in browser (1d5f493), closes #940
2.15.8 (2022-07-08)
- Bleed not working when bleed is specified but marks and crop-offset are unspecified (7af167a), closes #948
- Bottom border at page bottom edge disappeared on printing via Vivliostyle CLI v5.2.3 (e1b17ce), closes #947
- Error: Negative or zero page area size (52292dd), closes #951
2.15.7 (2022-07-04)
2.15.6 (2022-07-03)
- Error handling of negative or zero page area size that causes endless page generation loop (5532449), closes #941
- Remove workaround for Chromium legacy layout engine (0dc02f6), closes 1121942#c79
2.15.5 (2022-06-12)
2.15.4 (2022-06-01)
2.15.3 (2022-05-29)
- break-after:avoid on heading not honored when float exists after the heading (d1ec6ce), closes #904
- Error F_TASK_NOT_TOP_FRAME occurs when resizing and reformatting pages (01ea3d3), closes #742
- page content missing in PDF output when bleed is specified without marks (6fcae7c), closes #929
2.15.2 (2022-05-22)
- first-letter pseudo element with float disappears when page break occurs in the parent paragraph (99e9001), closes #923
- Flexbox layout broken due to text-spacing side-effect (0c070ca), closes #926
- hanging-punctuation/text-spacing not working correctly when a ruby element is adjacent (71a95f9)
- showTOC() takes a long time on large HTML document (ad50fe9), closes #924
- SyntaxError ':not(:not(script, link, style) ~ *)' is not a valid selector in slightly older browsers (3389ee4), closes #919
- wrong hanging-punctuation on half-width ideographic comma/fullstop (8bbe420), closes #909
2.15.1 (2022-05-06)
- output page size slightly bigger than the specified (ed7059d)
2.15.0 (2022-05-05)
- crop marks color should not be C0 M0 Y0 K100 when converted to CMYK (d9386da), closes #910
- text-spacing causes text accessibility problem in output PDF (5eb4f70), closes #908
- Add crop-offset property for at-page rule (4b8e328), closes #913
- Support printing mixed page sizes (76d1ed2), closes #751
2.14.6 (2022-04-18)
- Fallback page size not applied on HeadlessChrome on Linux or Windows (c57c5d6), closes #905
- Page float displayed unexpectedly in earlier page when target-counter is used (82fde78), closes #681
- TypeError: Cannot read properties of null (7db46f5)
- Web fonts (with JavaScript) not enabled when used in the middle of large HTML file (3ba4160), closes #901
2.14.5 (2022-04-11)
- hanging-punctuation caused wrong text hanging on Safari/WebKit (49e278b), closes #894
- text-spacing caused wrong page break (a17e775), closes #898
2.14.4 (2022-02-21)
- viewer: tweak mouse wheel/scroll handling to prevent unexpected page moves (2ac72a0)
- wrong page break with ruby at beginning of a paragraph (a9c50a3), closes #885
2.14.3 (2022-02-18)
- hanging-punctuation not working properly with non-full-width punctuation (a3a05d3), closes #879
- internal links broken in output PDF (e59109a), closes #877
- should not link to blank page generated by a spread break (e706947), closes #881
2.14.2 (2022-02-14)
- footnotes not positioned correctly in vertical writing mode (4a14156), closes #862 #392
- hang-up with footnote/pagefloat and ::after pseudo element (4840e7d), closes #869
- margin-block-end on page floats ignored in vertical writing mode (42ab1e1), closes #866
- should generate single text node for pseudo elements if possible (bed59df), closes #863
- use appropriate fallback page size when window size is not available (5a90204)
- wrong indent of fullwidth opening punctuation at first line in second page (033d63b), closes #861
2.14.1 (2022-02-05)
2.14.0 (2022-02-04)
- CSS text-orientation property was ignored in page margin boxes (ff2bb2e)
- do not ignore metadata (language, author) in publication manifest (e1ec75f), closes #849
- follow-up fix to text-spacing and hanging-punctuation support (6c19d40), closes #853 #820 #851 #818 #814 #595
- overflow:hidden should not be default in page margin boxes (cf25ad5)
- page margin boxes with vertical writing-mode not properly aligned (1e0f4d0)
- TypeError occurred with TOC button when the book url has fragment (b3b6087), closes #856
- Unnecessary aria-hidden attributes caused tagged PDF output broken (772a821)
- support CSS text-spacing and hanging-punctuation in generated content (d905017), closes #820
- support the allow-end value of text-spacing and hanging-punctuation (102aec6), closes #818
2.13.0 (2022-01-17)
- "The target resource is invalid" error caused by TOC with non-HTML links (d90e2aa), closes #839
- CSS parser error, failed to parse stylesheet (a5a48d2), closes #827
- Layout problem with Web fonts (79cf301), closes #829
- Pseudo elements should not be generated when content is none (342f5a0), closes #832
- Viewer page position should be kept after the heading ID changed (9c80245), closes #826
- Allow JavaScript in HTML documents (ccd31da), closes #733 #735
- viewer: Add zoom URL parameter to keep zoom value on reloading (3bdab51), closes #825
2.12.1 (2021-11-19)
- MathJax not enabled with inline TeX notation (e7da5a2), closes #815
- Ruby broken at column/page break (5dfc049), closes #821
- Text with ruby overflowed at column/page break (f15534d), closes #816
2.12.0 (2021-11-13)
- Support CSS hanging-punctuation property (f85b36e)
- Support CSS text-spacing property (dfebffb), closes #595
2.11.3 (2021-10-31)
- Error: E_FONT_FAMILY_INCONSISTENT (9d7be19), closes #797
- Page/column last line not justified when justify is specified on root (e2c9706), closes #803
- Root element styles not inherited to page context in multi-column layout (83f8ee7), closes #800
- Ruby broken when page float exists (376db9a), closes #804
- Ruby with rp elements broken at page break (11ad5cf), closes #808
- Text overflow at column/page break (824d5b6), closes #811
- Text overflow at column/page break when wbr tag is used (57e358a), closes #802
- TypeError: Cannot read properties of null (reading 'readingProgression') (b5d4acd), closes #796
2.11.2 (2021-10-17)
- Workaround for Chromium problem of inconsistent screen and print layout (08f2337), closes #758 #793
- Wrong hyphenation at bottom of page (bcbc72c), closes #792
2.11.1 (2021-10-08)
- column-fill:balance on vertical writing mode causes columns left-aligned (fe55f36), closes #544
- Consecutive ruby elements cause line overflow (7c57ddb)
- float:inline-start and inline-end misinterpreted as float:right (2e71481), closes #789
- Inline-block or ruby at beginning of a block causes unexpected page/column break (0631dfe), closes #546
- No break opportunity between math or svg (ea08a02), closes #750
2.11.0 (2021-09-29)
- viewer: unwanted text deselection when mouse out of buttons (63c5335)
- viewer: Add basic text find feature (f85d731), closes #575
- viewer: Disable Find and Text Smaller/Larger buttons for fixed layout EPUBs (fa0ae2e)
2.10.0 (2021-09-17)
- Default body margin should be 0 in paged media (874a518), closes #776
- Footnote counter should be predefined and available by default (16096b2), closes #723
- Named page at the first page is not applied when HTML head part is big (0f696dc), closes #770
- Named page not properly changed when target-counter refers the page (c303c2b), closes #771
- Percentage font-size on :root causes wrong font-size in table with page/column breaks (6f0e6c3), closes #549
- prevent useless warning "Property not supported by the browser: behavior" (1462a89)
- Remove -ms- prefixed properties for no-longer supported browsers (7e7bf1b)
- Root element styles should be inherited to the page context (1a41185), closes #568
- text-combine-upright with text-indent does not work properly (1cabb91)
- The :not() selector not working when the argument has ID selector (60a127f), closes #769
- Add support for
line-break: anywhere
(ba60007) - Add support for
overflow-wrap: anywhere
(96564af) - Add support for
white-space: break-spaces
(f563b61) - Add support for the font-variant-* properties (504896b), closes #592
- Support the min-content, max-content, and fit-content values for width and height (9ce72b0), closes #605
- Support unicode-range descriptor (a3f488f), closes #598
2.9.1 (2021-09-08)
- Page at-rule in conditional rule is applied even if condition is false (b114396)
2.9.0 (2021-09-03)
- "TypeError: Cannot read property '1' of null" occurred in getTOC() (d4539f7)
- Vivliostyle Viewer stops working when window resizing on renderAllPages=false mode (5ae9298), closes #752
- viewer: HTML markup errors in the Vivliostyle Viewer start page (aed4ea9), closes #755
- Support the
@supports
CSS at-rule (08efaef), closes #730 - viewer: Add Content MathML extension in mathjax-config (e01ffa0)
2.8.1 (2021-07-14)
- inherited text-indent ignored after page/column break (32aba92), closes #737
- Problem on navigation to document URL without fragment from TOC (a948394), closes #736
- Text disappears at page break when footnote or page float is given on before pseudo element (d78a168), closes #740
- typescript error TS2612: Property 'xxx' will overwrite the base property (e8c52ea)
- Unnecessary reformatting when resizing window (51e2f99), closes #743
2.8.0 (2021-04-16)
- Failed to fetch documents when pub-manifest file has no file name extension (7fd2e15)
- InvalidNodeTypeError: Failed to execute 'setStartBefore' on 'Range': the given Node has no parent (836b64c), closes #715
- Stops with error when CSS property value calc() has invalid expression (61001a2), closes #717
- Stops with InvalidCharacterError: Failed to execute 'setAttribute' on 'Element' (f0253fa), closes #718
- target-counter and forced page break caused layout problems (377eaf9), closes #722
- The ::first-letter pseudo-element not applied when a newline is preceding the first letter (546ed74), closes #716
- TOC panel should not have a whole document in web publication (d95043b), closes #720
2.7.0 (2021-04-07)
2.6.2 (2021-03-25)
- Failed to load documents from URL that contains "%26" or "%3F" etc. (c7da706), closes #711
- TypeError: Cannot read property 'anchorSlot' of undefined (1625c81), closes #712
2.6.1 (2021-03-23)
2.6.0 (2021-03-14)
- core: Footnotes may cause "TypeError: Cannot read property 'styler' of null" (fbce3c7), closes #707
- core: Stops with "TypeError: Cannot read property 'toLowerCase' of undefined" (38548ab), closes #706
- viewer: Add Print button and improve Settings menu (7a98a6e)
- viewer: MathJax config update: use default scale and margin settings (0bedbbe), closes #593
- viewer: Set coreViewer to the window object to allow other program to control the viewer (db47cef)
2.5.2 (2021-03-05)
2.5.1 (2021-02-28)
- core: Wrong page counter value when page counter is reset in the previous doc (a4d9e18), closes #701
2.5.0 (2021-02-26)
2.5.0-pre.0 (2021-02-23)
- core: spread break at beginning of a document does not work properly (f1208bf), closes #666
- core: Missing source map (f8add2b), closes #695
2.4.2 (2021-01-25)
- top margin at forced break was ignored when target-counter is used (c8485ad), closes #690
- react: Add react-dom to peer deps (3325031)
- react: init core-viewer once even if source is updated (56f3d1b)
- react: remove incorrect startPage (7f7951c)
2.4.1 (2021-01-12)
- Page float displayed unexpectedly in earlier page when target-counter is used (34952e9), closes #681
2.4.0 (2020-12-28)
2.3.0 (2020-12-07)
- break-before:left/right is ignored when the previous block has break-after:page, etc. (01092f1), closes #676
- CSS 'hyphens' property specified on the root element is ignored (dfb9f87), closes #674
2.2.3 (2020-11-28)
Note: Version bump only for package vivliostyle
2.2.2 (2020-11-28)
- viewer: Fix UI stylesheet problem for print (5244462)
2.2.1 (2020-11-26)
- viewer: bug in v2.2.0 "TypeError: Cannot read property 'toString' of null" (08cf029)
- viewer: Mouse wheel should be able to use to scroll TOC when TOC is active (c6c5eb8)
2.2.0 (2020-11-26)
- viewer: Add page slider in Vivliostyle Viewer UI (3e80c67), closes #670
- viewer: Mouse wheel support for page navigation (94113f6)
2.1.4 (2020-10-30)
- negative z-index on
[@page](https://github.com/page) {...}
causes page (margin-box) content to disappear (000eed6), closes #665
2.1.3 (2020-09-30)
- Internal links and TOC links not working when the document URL has %-encoded characters (bdabb71), closes #662
- page display shakes horizontally when all pages finish loading (18ab3c9), closes #663
- SyntaxError: Invalid regular expression: invalid group specifier name, on Safari (3a70707), closes #664
2.1.2 (2020-09-28)
Note: Version bump only for package vivliostyle
2.1.2-pre.5 (2020-09-28)
- Relative URLs in pub-manifest are not resolved properly when the pub-manifest is linked from HTML elsewhere (b6fe7c1), closes #661
- TOC is not enabled when TOC exists in HTML but is not specified in the manifest (ea280a1), closes #659
2.1.2-pre.4 (2020-09-27)
2.1.2-pre.3 (2020-09-25)
Note: Version bump only for package vivliostyle
2.1.2-pre.2 (2020-09-25)
2.1.2-pre.1 (2020-09-24)
- 'start' and 'value' attributes on OL and LI elements are ignored (0aea654), closes #654
- Error occurs by links to external site in TOC (fd4af3e), closes #657
- HTML 'hidden' attribute is ignored (bf51734), closes #653
- Style elements in the body element should not be ignored (d8603c3), closes #655
- TOC element with 'hidden' attribute should be hidden in the page but visible in TOC panel (19d8f62)
2.1.2-pre.0 (2020-09-18)
- EPUBCFI with %-encoded characters not working (309ab42), closes #650
- Internal links not working when the URL fragment has %-encoded characters (f12e9c5), closes #649
- Reloading causes unexpected move to the previous page (8f872e1), closes #651
2.1.1 (2020-06-30)
- only generate commonjs (08f6410)
2.1.0 (2020-06-30)
Note: Version bump only for package vivliostyle
2.1.0-pre.3 (2020-06-30)
- change epage type to number (a059d11)
2.1.0-pre.2 (2020-06-30)
Note: Version bump only for package vivliostyle
2.1.0-pre.1 (2020-06-30)
- simplify build dep graph (8b5467d)
- core: main prop (234879a)
- core: move resources (1ad7bef)
- react: properly handle epage (65b2a2c)
- react: support all documentOptions (9408681)
- support userStyleSheet and authorStyleSheet (b0a68ca)
- react: add renderer (3eb027b)
- react: implement Renderer component (49afd58)
- react: page navigation (4b39a9b)
- react: VivliostyleViewer component (b857860)
2.1.0-pre.0 (2020-05-13)
- epub metadata sorts and uses "scheme" correctly (301e5b4)
- improve type safety of epub metadata parsing (b4dc5e2)
- add core viewer method to export the toc (f080aa5)
- add core viewer methods to export metadata (d4f700c)
- support reading role properties from epub metadata (955d01d)
2.0.0 (2020-04-03)
Note: Version bump only for package vivliostyle
2.0.0-pre.13 (2020-04-02)
Note: Version bump only for package vivliostyle
2.0.0-pre.12 (2020-04-02)
- use generics for setTimeout (9cedc74)
2.0.0-pre.11 (2020-04-01)
Note: Version bump only for package vivliostyle
2.0.0-pre.10 (2020-03-26)
- update "start-webserver" and add "start-viewer" scripts/batch files (b4ac9ea)
2.0.0-pre.9 (2020-03-20)
Note: Version bump only for package vivliostyle
2.0.0-pre.8 (2020-03-16)
2.0.0-pre.7 (2020-01-03)
- "Received an empty response" error on web servers that don't know XHTML MIME type (6e7c6ba)
- core: TypeError: Cannot read property 'cell' of undefined (0598e6c), closes #623
2.0.0-pre.6 (2019-12-23)
Note: Version bump only for package vivliostyle
2.0.0-pre.5 (2019-12-23)
2.0.0-pre.1 (2019-12-15)
Note: Version bump only for package vivliostyle
- Fix error on logical border shorthand properties
- Fix bug: Internal links don't work when publication URL has ".html"
- Fix bug: Links to document with Vivliostyle Viewer with relative URL don't work
- Source code and build
- Change directory structure #552
- [Viewer UI]
- Convert src/js to TypeScript vivliostyle/vivliostyle-ui#79
- Replace compass to Sass vivliostyle/vivliostyle-ui#76
- Introduce Stylelint https://github.com/vivliostyle/vivliostyle-ui/pull/77>
- Introduce ESLint vivliostyle/vivliostyle-ui#75
- Introduce prettier vivliostyle/vivliostyle-ui#72 vivliostyle/vivliostyle-ui#73, vivliostyle/vivliostyle-ui#80
2019.8.101 - 2019-08-20
- [Viewer UI] Fix error on keyboard navigation
- Fix auto resize not working
2019.8.100 - 2019-08-16
- Vivliostyle.js source code is now written in TypeScript
- Transpile to multiple targets,
lib/vivliostyle.min.js
for ES2018 andlib/vivliostyle-es5.min.js
for ES5. - Resources such as UA stylesheets are no longer downloaded separately
- Remove large sample files from the download package and the npm package
- https://github.com/vivliostyle/vivliostyle.js/commit/5c3becac, https://github.com/vivliostyle/vivliostyle.js/commit/245c9e7d
- The download package (vivliostyle-js-latest.zip) size was 6.8MB and now reduced to 1.4MB.
- Vivliostyle sample files are moved from the vivliostyle.js repository to vivliostyle_doc repository.
- Fix error "Failed to fetch a source document" with web publications on Microsoft Edge
- Fix error "empty response for EPUB OPF" on some web servers that don't know the MIME type for .opf
2019.1.106 - 2019-06-14
- Workaround for Firefox printing problem
- Fix error occurring when
@page
size has vw/vh units
2019.1.105 - 2019-04-23
- Fix again the bug that cannot load unzipped EPUB when directory listing is enabled on the server
- Fix bug that duplicate page margin box content appears at bottom of pages
- Fix bug that the operator
!=
in-epubx-expr()
causes CSS parser error and fails page generation - Fix problem that some properties are ignored on page partition or margin box context
- Fix problem that
text-combine-upright: all
does not work on WebKit
2019.1.103 - 2019-04-05
- Fix problem that page background color is not painted in the bleed area
- Fix problem that vw/vh units, calc(), -epubx-expr() are invalid on shorthand properties
- Fix problem that env(doc-title) etc. doesn't work when used as a part of the
content
property value list - Fix bug that TOC box is not properly generated when Adaptive Layout style sheet is used
- Fix TOC box keyboard navigation: focus lost when closing a tree item without closing the sub tree items
- Fix again the bug that cannot load unzipped EPUB when directory listing is enabled on the server
- Fix problem that resizing causes unexpected page move, first page to next.
- Fix problem that page spread is not centered properly when left/right page widths differ
- Fix problem that the specified viewport size (e.g. fixed EPUB's) causes wrong page resizing
- Fix problem that large images may disappear when printing with zero page margin
- [Viewer UI] Fix problem that the default page size auto is not respected when print to PDF
- [Viewer UI] Fix userStyle CSS parsing and encoding problems
- Support color name 'rebeccapurple'
- [Viewer UI] Change the order to hide the menu buttons on small screen
- [Viewer UI] Adjust FontSize decrease/increase values effective on Text:Smaller/Larger buttons
- [Viewer UI] Improve "fontSize" URL parameter: accept percent and fraction
2019.1.102 - 2019-03-04
- Fix bug that cannot load unzipped EPUB when directory listing is enabled on the server
2019.1.101 - 2019-02-27
- TOC (Table of Contents) navigation is now enabled
- #498, #511
- TOC box generation is enabled when
#b=
Viewer parameter (= Viewer.loadPublication() function) is used, and the publication has TOC data. In HTML documents, TOC is marked up with e.g.<nav role="doc-toc">
. Vivliostyle recognizes element that is selected with CSS selector[role=doc-toc], [role=directory], nav li, .toc, #toc
as a TOC element. - [Viewer UI] vivliostyle/vivliostyle-ui#62
- Support Web Publications and similar multi-HTML documents
- #511
- Supported document types with
#b=
Viewer parameter (= Viewer.loadPublication() function):- Unzipped EPUB
- URL of the OPF file can be specified as well as the top directory of the unzipped EPUB files.
- Web publication (a collection of HTML documents with reading order)
- URL of the primary entry page or manifest file can be specified.
- For the format of Web publication manifest, W3C draft Web Publications and Readium Web Publication Manifest are supported.
- (X)HTML document
- When (X)HTML document URL is specified, the URL is treated as primary entry page's, and a series of HTML files are automatically loaded.
- When the web publication manifest is specified in the primary entry page (X)HTML document, the readingOrder in the manifest is used.
- If manifest is not specified or "readingOrder" is not in the manifest, the (X)HTML documents linked from the TOC element that is selected with CSS selector
[role=doc-toc], [role=directory], nav li, .toc, #toc
are loaded.
- When (X)HTML document URL is specified, the URL is treated as primary entry page's, and a series of HTML files are automatically loaded.
- Unzipped EPUB
- Support loading documents from GitHub and some specific URLs
- #499, #505, https://github.com/vivliostyle/vivliostyle.js/commit/3424d965
- GitHub and Gist URLs can be directly specified. Vivliostyle loads raw github/gist content when github/gist URL is specified.
- Aozorabunko (青空文庫) (X)HTML URL can be specified. Vivliostyle loads Aozorabunko's raw github content when Aozorabunko (X)HTML URL is specified.
- JS Bin URL is converted to JS Bin output URL and can be loaded. This is useful for testing Vivliostyle output from small HTML + CSS code, as well as Gist.
- Publication title and individual HTML document title are now passed to viewer UI
- #501
- [Viewer UI] Reflects viewing document title to the web page title.
env(pub-title)
andenv(doc-title)
environment variables for page headers with publication/document titles- #512
- Spec: CSS Environment Variables Module Level 1 defines
env()
function, butenv(pub-title)
andenv(doc-title)
are not yet defined so far. env(pub-title)
: publication title = EPUB, Web publication, or primary entry page HTML title. Enabled when#b=
Viewer parameter (= Viewer.loadPublication() function) is used.env(doc-title)
: document title = HTML title, which may be chapter or section title in a publication composed of multiple HTML documents- When title data are not found, i.e. no
<title>
element in HTML, or env(pub-title) with#x=
Viewer parameter (= Viewer.loadDocument() function), the empty string "" is returned.
- Viewport-percentage length units: vw, vh, vi, vb, vmin, vmax, and page-size-percentage units pvw, pvh, pvi, pvb, pvmin, pvmax
- #507
- Spec: CSS Values and Units - Viewport-percentage lengths, but page-size-percentage units are not defined so far.
- Note: On paged media context, the viewport-percentage units vw, vh, vi, vb, vmin, vmax are relative to the size of the page area, i.e., the content area of a page box and not including margin, border and padding specified on
@page
rule. This makes a lot of sense, but page size relative units may also be necessary. The pvw, pvh, pvi, pvb, pvmin, pvmax units are similar to the vw, vh, vi, vb, vmin, vmax but the reference size is the page size including page margins.
- Support CSS
calc()
function- #507
- Spec: CSS Values and Units - Mathematical Expressions
- In addition to
calc()
function,min()
andmax()
functions can be used insidecalc()
function. - Limitation: Percentage value in
calc()
is not calculated correctly- This
calc()
implementation is made simply reusing Adaptive Layout-epubx-expr()
function, so there are some limitations for now.
- This
- [Viewer UI] New "User Style Preferences" in the Settings panel
- vivliostyle/vivliostyle-ui#64
- New settings: Page Margins, Page Breaks (widows/orphans), Images, Text (base font-size, line-height, font-family)
- User style CSS code is shown and editable in "CSS Details" box
- User style CSS is saved in the URL parameter
userStyle=data:,/*<viewer>*/
…/*</viewer>*/
and not disappear when reloading, and can be bookmarked in browser. - "Font size (%)" reflects the ViewerOptions.fontSize that can be increase/decrease with "Text: larger/smaller" buttons, and this setting is saved in the new URL parameter
fontSize=
.
- [Viewer UI] Vivliostyle Viewer start page with document URL input and usage description
- vivliostyle/vivliostyle-ui#65
- When document URL parameter (
#b=
or#x=
) is not specified, the start page is now displayed. - Document URL entered by user is reflected in the URL parameter
#b=
, and when the Enter key is pressed, the document is loaded.
- Render All Pages (On/Off) setting
- #497
- On: for Print (all pages printable, page count works as expected)
- Off: for Read (quick loading with rough page count) -- This mode is necessary for viewing large publication composed of a lot of HTML documents.
- [Viewer UI] vivliostyle/vivliostyle-ui#60, vivliostyle/vivliostyle-ui#61
- This setting can be specified in setting panel and URL parameter
renderAllPages=[true|false]
. - The default setting is
renderAllPages=false
for#b=
(Book view) andrenderAllPages=true
for#x=
(individual (X)HTML document).
- This setting can be specified in setting panel and URL parameter
- Enabled 'vivliostyle' media type by default
- #500
- This can be used like 'print' media type, and useful for distinguish Vivliostyle specific style sheets from general print style sheets.
- Added style rule
h1,h2,h3,h4,h5,h6 { break-after: avoid; }
to the default style sheet to avoid page/column breaks after headings by default. - Removed the workaround for Microsoft Edge's
text-justify: inter-ideograph
problem - Improved error messages when document loading failed.
- Renamed the function corresponding the
#b=
Viewer parameter,loadEPUB()
toloadPublication()
, that is now not only for EPUB.
- Fix bug that media attribute is not honored on
<style>
element.
2018.12.103 - 2019-01-03
- Fix bug that ruby causes incorrect pagination
- Fix bug on epubcfi failing to navigate to beginning of a spine item
- Fix error occurring when inline-table is nested in another table
- [Viewer UI] UI adjustment
- Setting panel "Apply" button now closes the panel
- Enable "Previous Page", "Next Page", and "Text: Default Size" buttons when window is wide enough
2018.10.100 - 2018-10-31
- [Viewer UI] Add "Go to Page" (Page number / Total pages) menu item
- Add navigateToNthPage function
- [Viewer UI] Navigation UI adjustment
- Removed "Move: Previous/Next" navigation buttons
- Hide "Zoom: Actual Size/Fit to screen" buttons when screen is narrow
- Page left/right navigation UI color
- [Viewer UI] Disable page swipe when pinch-zoomed or horizontal scrollable
- Prevent unexpected page resizing (viewport-height change due to soft keyboard etc.) on Android/iOS
- Fix bug that EPUB internal link does not work
2018.8.100 - 2018-09-10
- Support CSS Logical properties
- #443
- Spec: CSS Logical Properties and Values Level 1
- Flow-Relative Box Model Properties are supported except the
inset
shorthand property
- The author is changed from Vivliostyle Inc. (http://vivliostyle.com) to Vivliostyle Foundation (https://vivliostyle.org)
- #410, https://github.com/vivliostyle/vivliostyle.js/commit/a3d866d8, https://github.com/vivliostyle/vivliostyle.js/commit/bc48f59c
- Note: The former company name Vivliostyle Inc. was changed to Trim-marks Inc. and that company holds copyright of the source code developed under the name of Vivliostyle Inc. (~2018.2). This open source Vivliostyle was a subset of the company's proprietary commercial products, which are now named “VersaType”.
- [Viewer UI] Page navigation UI improvement
- vivliostyle/vivliostyle-ui#55, vivliostyle/vivliostyle-ui#56
- Swipe support on touch devices
- Cmd+Up and Cmd+Down keys for First page and Last page, for Mac, same as Home/End keys on PC
- Add buttons for move to first/last page
- Hide the previous/next page arrow when there's no previous/next page.
- [Viewer UI] Omit
&f=epubcfi(/2!)
in URL at first page - Set the viewer print margin default to 0
- Test platform change: IE11 to Microsoft Edge
- https://github.com/vivliostyle/vivliostyle.js/commit/5c71209a
- IE11 is no longer supported
- Update MathJax to 2.7.5
- Fix a bug that page spread view becomes incorrect when content doc's writing mode does not match the page-progression-direction in OPF
- Fix a bug that stylesheet link element is ignored when class attribute exists
- Fix a bug that writing mode specified on body didn't determine the root writing mode
- Fix a bug that page spread view is weird when viewport width/height is specified
- Fix a bug that
clear: both
on page floats causes "Error: Unexpected side: both". - Workaround for Microsoft Edge's
text-justify: inter-ideograph
problem - [Viewer UI] Fix sticky hover effect on touch devices
2018.2 - 2018-02-02 (Unreleased)
- Implement
pages
counter - Support
clear: left/right/top/bottom/same/all
on page floats- #378
- When a
clear
value is specified on a page float, it is placed so that it comes after any of preceding page floats. same
value means the same direction as one which the page float is floated to.- If a page float with
float: snap-block
would be placed at the block-start end but aclear
value on it forbidden such placement, the float is instead placed at the block-end side (unless theclear
value also forbidden such placement).
- Support
column-fill
property - Add support for
break-word
value ofword-break
property - Add (non-standard)
float-min-wrap-block
property to control text wrapping around page floats
- Avoid text wrapping around fragmented page floats
- Fix a bug that a bottom margin on a page float is not taken into account when the float has a bottom padding or border
- Fix a bug that
box-decoration-break: clone
makes a block incorrectly overflow - Avoid invalid fragmentation occurring between an edge of a block container and its child
- Fix a bug that a table is not fragmented correctly
- Fix a bug that a float inside an element with position:relative is positioned incorrectly
- Fix a bug that a table is occasionally fragmented immediately before the end of it
- Avoid printing bug on Gecko
- Avoid printing bug on Blink
- Fix incorrect justification when a positive
text-indent
is specified - Fix display of
mglyph
element of MathML - Fix a bug that order of page floats is sometimes incorrect
2017.6 - 2017-06-22
- Implement
repeat-on-break
property- #323
- Spec proposal: CSS Repeated Headers and Footers
- Support
float: snap-block
- #344
- Spec: CSS Page Floats - The float property
- Note that the function value
snap-block()
is not supported yet. - Also note that behavior of this value is different from that defined in the above spec: The element always turns into a page float regardless of its distance from edges of its float reference. It is snapped to the nearer edge of the float reference.
- Support
clear: all
for block-level boxes- #345
- Note that
all
is only effective on block-level boxes (i.e. not page floats). - When
all
is specified, the block-start edge of the box gets pushed down so that the edge comes after any block-start/block-end page float of which anchors are before the box in the document order.
- Add support for
::nth-fragment()
pseudo-element selector - Add support for
::after-if-continues
pseudo-element - Support
footnote-policy: line
- Place footnotes at the bottom of pages (or regions) rather than columns
- Disable hyphenation by default
- Fix footnote layout bugs
- Fix justification bugs
- Fix problem that content sometimes overflows a partition instead of being deferred to the next partition
2017.2 - 2017-02-22
- Add support for Compositing and Blending Level 1
- pseudo element or page margin box with
content:url()
behave as a replaced element - Experimental support of CSS Page Floats and
column-span
- Change license to AGPL 3.0
- Fix incorrect page breaking at boundaries of inline-block boxes
- Improve page/column breaking inside tables
- Fix incorrect treatment of percentage value for line-height property
- Support repeating table header/footer across pages
- Fix incorrect widows behavior with footnote call close to the end of the page
2016.10 - 2016-10-25
- Additional author style sheets can be injected with 'styleSheet' property of
vivliostyle.viewer.DocumentOptions
. - Support Scalable Vector Graphics (SVG) 2 properties.
- color-interpolation
- color-rendering
- fill
- fill-opacity
- fill-rule
- glyph-orientation-vertical
- image-rendering
- marker
- marker-start
- marker-mid
- marker-end
- pointer-events
- paint-order
- shape-rendering
- stop-color
- stop-opacity
- stroke
- stroke-dasharray
- stroke-dashoffset
- stroke-linecap
- stroke-linejoin
- stroke-miterlimit
- stroke-opacity
- stroke-width
- text-anchor
- text-rendering
- vector-effect
- Support Scalable Vector Graphics (SVG) 1.1 properties.
- Support CSS Masking 1 properties.
- Support Filter Effects 1 properties.
- Support
font-stretch
property
- Introduce background layout and change event model
- Improve zoom behavior
- Add very simple 'auto spread' page view mode
- Fix bug that pages occasionally disappear when resolving cross references
- Respect
target="_blank"
on links to external URLs - Fix incorrect page breaks with cross references
- Fix image-resolution behavior when max/min-width/height is specified in length (not percentage)
- Fix image-resolution to take box-sizing into account
- Fix cross reference bug with name attribute
- Avoid error when
inherit
value is used - Avoid error when
rem
unit is used - Fix rem unit inside
position: relative
elements - Fix internally generated IDs on elements to conform to the XML specification
- #295
- Characters which can be used in an ID in an XML document is specified at https://www.w3.org/TR/xml/#NT-NameStartChar.
2016.7 - 2016-07-04
- Support
filter
property - Support string and URL values in
attr()
function - Support
left
/right
/recto
/verso
values for(page-)break-before
/(page-)break-after
- Support cross references by
target-counter()
/target-counters()
- Support
box-decoration-break
property - Support
font-size-adjust
property - Support
counter-set
property - Support
image-resolution
property- #260
- Spec: CSS Image Values and Replaced Content Module Level 3 - Overriding Image Resolutions: the image-resolution property
- Only
<resolution>
value is supported. - Only supported for content of
img
,input[type=image]
andvideo
(applied to poster images) elements and before/after pseudoelements. Other images such as background images, list images or border images are not supported. - The property is applied to vector images such as SVG, as well as raster images. This behavior is different from what the spec specifies.
counter-reset
andcounter-increment
specified in a page master (@-epubx-page-master
) are now effective to page-based counters- #251
- Note that these values, if specified, always override values specified in page contexts.
- Fix a bug that
clear
is ignored whenwhite-space
property is used before the element - Fix incorrect float positioning
- Fix incorrect float clearance
- Fix incorrect text offset caused by float
- Fix improper rendering of floats with relative width/height
- Fix positioning when a float is specified
position: relative
or a float is inside an positioned element - Fix positioning when a float has a writing-mode value different from its container
- Fix issue with floats inside an element with an
overflow
value other thanvisible
- Fix issue that a
display
value was always set toblock
for a float, ignoring the original value - Fix layout when a float is wider than its containing block
- Avoid error when an element with pseudoelements overflows its container
- Fix handling of padding and border of a block fragmented by a page/column break
- Fix layout of floats inside flex containers
- Fix page break bug in vertical text on Firefox (partially)
2016.4 - 2016-04-08
- Support printer marks (
marks
property) and bleed area (bleed
property)- #98
- Spec: CSS Paged Media Module Level 3 - Crop and Registration Marks: the 'marks' property, Bleed Area: the 'bleed' property
- Only effective when specified within an
@page
rule without page selectors.
- Support outline-offset
- Support font-feature-settings
- Support linear-gradient/radial-gradient
- Support substring matching attribute selectors
^=
,$=
and*=
- Support
even
,odd
andan+b
arguments for:nth-child()
pseudo-class selector - Support
:nth-last-child()
,:nth-of-type()
,:nth-last-of-type()
,:last-child
,:first-of-type
,:last-of-type
,:only-child
and:only-of-type
pseudo-class selectors - Support
:empty
pseudo-class selector - Support UI states selectors (
:checked
,:enabled
and:disabled
)- #206
- https://github.com/vivliostyle/vivliostyle.js/issues/197
- Spec: Selectors Level 3 - The UI element states pseudo-classes
- Note that the current implementation can use only initial states of those UI elements. Even if the actual state of the element is toggled by user interaction, the style does not change.
- Support
:not()
pseudo-class selector - Support TeX and AsciiMath mathematics
- #108
- In a element with
data-math-typeset="true"
attribute, you can use TeX or AsciiMath mathematics. - TeX mathematics are indicated by delimiters
\(...\)
or$$...$$
. - AsciiMath mathematics are indicated by delimiters
`...`
.
- Lengths in 'rem' specified within page context are now interpreted correctly
- Web fonts are now applied correctly even when specified within page context
- Fix incorrect pagination caused by absolutely positioned element
- Fix pagination problem with flex containers
- Truncate margins at unforced page/column breaks
- box-shadow / text-shadow is now supported
- Propagate and combine multiple break values at a single break point
- Fix problematic handling of prefixed properties
- Fix
rem
calculation whenfont-size
is specified to thebody
element
2016.1 - 2016-01-20
- Support EPUB loading
- #60
loadEPUB
method ofViewer
class loads an unzipped EPUB directory.
- Support some EPUB features
- #62
- Support
page-progression-direction
attribute ofspine
element in OPF - Accept
-epub-
prefixedtext-emphasis-*
properties
- Support
:nth-child()
pseudo-class selector (only an integer argument can be used) - Basic CSS Page Floats support
- #72
- Spec: CSS Page Floats
- Only basic float placement without stacking or collision avoidance is supported.
- Improve handling of @font-face rules
- #79
- Spec: CSS Fonts Module Level 3 - The @font-face rule
- Add support for
local()
as well asurl()
to use local fonts.
- Support JIS-B5 and JIS-B4 page sizes
- Accept flexbox properties
- Support
srcset
attribute forimg
andsource
elements
- Add default page margin
- Fix zoom problem when viewport is specified by the document
- Fix incorrect layout of HTML which is well-formed as XML
- Fix viewport blinking while loading
- Fix media queries behavior
- Fix calculation of
rem
unit values - Improve MathJax performance
- Fix bug that rules above footnotes disappear
- Allow an EPUB directory URL not followed by a slash
- Change initial values of
orphans
andwidows
to 2 - Allow page/column break inside tables
- Fix internal hyperlinks to elements with 'name' attributes
- Allow units spelled in upper case
- Fix handling of forced and avoid break values; update acceptable values for
break-*
properties- Spec: CSS Fragmentation Module Level 3
- Note that the current implementation treats all values of
break-inside
other thanauto
as the same asavoid
. The fine-grained control (distinguishingavoid
,avoid-page
,avoid-column
andavoid-region
) will be a future task and tracked with a separate issue. - Note that though the spec requires to honor multiple
break-before
/break-after
values at a single break point, the current implementation choose one of them and discard the others. The fine-grained control of these break values will be a future task and tracked with a separate issue. - #26
- #103
- Element names and attribute names in selectors are now treated in a case-insensitive manner
- #95
- Note that this behavior is incorrect for XML documents. This issue will be tracked at https://github.com/vivliostyle/vivliostyle.js/issues/106.
- Fix incorrect positioning of floats and clearance
- Fix attribute selector
~=
- Fix initial value of
unicode-bidi
- Fix support for
q
unit - Avoid page break between ruby base and annotation
- Do not block entire process when stylesheets cannot be fetched or parsed
- Fix problem that pages with viewport specified have incorrect horizontal offset on screen
0.2.0 - 2015-09-16
Beta release.
- [core] Support page background and document canvas background color
- #33
- Note: only simple background color is supported.
- [core, viewer] Layout is automatically updated when the window size is changed
- [core] Support page-based counters
- #39
- Spec: CSS Paged Media Module Level 3 - Page-based counters
- See the above pull request for a detailed description of its behavior and limitation.
- [core] Support page-margin boxes
- #42
- Spec: CSS Paged Media Module Level 3 - Page-Margin boxes
- Note: For now, 'quotes' property specified within the page/margin context is ignored. This issue will be tracked at https://github.com/vivliostyle/vivliostyle.js/issues/43.
- [core] Accept WOFF2 web fonts
- Viewer UI is separated to a new repository vivliostyle-js-viewer.
- [core] Avoid incorrect margin collapse of the page area
- [core] Fix incorrect positioning of floats
- [viewer] Make keyboard shortcuts work on various browsers
- [core] Fix duplicating page when navigate to the last page of each spine
- [core] Fix several problems on web font loading
0.1.1 - 2015-05-06
Minor update with several changes and bug fixes.
- [core] Support :root pseudo-class selector
- [core] Support CSS properties currently implemented by browsers
- See #18 for details.
- [core] Cascade page size specified in @page rules to page masters defined by @-epubx-page-master rules
- #17
- When @page rules and @-epubx-page-master rules are both specified, the page size specified by 'size' property in @page rules is applied to the selected page master. This behavior is not defined in the related specs. We added this behavior for a use case in which one wants to print content styled with Adaptive Layout on a paper sheet and wants to specify the sheet size by adding a (user) stylesheet containing @page rules with 'size' property.
- [core] Fixed incorrect page layout when non-zero padding is specified in page context.
- [core] 'page-width', 'page-height' variables (used in -epubx-expr) are now correctly reflect the page size specified by @page rules
- [viewer] Fixed incorrect page size calculation when content with 'auto' page size is viewed in the spread view mode.
0.1.0 - 2015-04-28
Initial alpha release. Following features are added while keeping the original Adaptive Layout features.
- [core] Support @page rule
- #2
- Spec: CSS Paged Media Module Level 3
- Supported page selectors: :left, :right, :first, :recto, :verso
- Supported properties within the page context: size, width, height, margin, padding, border
- [viewer] Support spread view mode
- #7
- The spread view can be enabled by adding '&spread=true' to the end of the viewer URL.
- Note: Page size calculation is incorrect when content with 'auto' page size is viewed in the spread view mode. This problem will be fixed in the next release.
- [viewer] Added page navigation buttons