@internetarchive/bookreader 5.0.0-9-multiple-files → 5.0.0-90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/.eslintrc.js +21 -19
  2. package/.github/workflows/node.js.yml +81 -7
  3. package/.github/workflows/npm-publish.yml +6 -20
  4. package/.testcaferc.js +10 -0
  5. package/BookReader/BookReader.css +505 -1442
  6. package/BookReader/BookReader.js +2 -21564
  7. package/BookReader/BookReader.js.LICENSE.txt +20 -20
  8. package/BookReader/BookReader.js.map +1 -1
  9. package/BookReader/ia-bookreader-bundle.js +1782 -0
  10. package/BookReader/ia-bookreader-bundle.js.LICENSE.txt +7 -0
  11. package/BookReader/ia-bookreader-bundle.js.map +1 -0
  12. package/BookReader/icons/1up.svg +1 -12
  13. package/BookReader/icons/2up.svg +1 -15
  14. package/BookReader/icons/advance.svg +3 -26
  15. package/BookReader/icons/chevron-right.svg +1 -1
  16. package/BookReader/icons/close-circle-dark.svg +1 -0
  17. package/BookReader/icons/close-circle.svg +1 -1
  18. package/BookReader/icons/fullscreen.svg +1 -17
  19. package/BookReader/icons/fullscreen_exit.svg +1 -17
  20. package/BookReader/icons/hamburger.svg +1 -15
  21. package/BookReader/icons/left-arrow.svg +1 -12
  22. package/BookReader/icons/magnify-minus.svg +1 -16
  23. package/BookReader/icons/magnify-plus.svg +1 -17
  24. package/BookReader/icons/magnify.svg +1 -15
  25. package/BookReader/icons/pause.svg +1 -23
  26. package/BookReader/icons/play.svg +1 -22
  27. package/BookReader/icons/playback-speed.svg +1 -34
  28. package/BookReader/icons/read-aloud.svg +1 -22
  29. package/BookReader/icons/review.svg +3 -22
  30. package/BookReader/icons/thumbnails.svg +1 -17
  31. package/BookReader/icons/voice.svg +1 -0
  32. package/BookReader/icons/volume-full.svg +1 -22
  33. package/BookReader/images/BRicons.svg +5 -94
  34. package/BookReader/images/books_graphic.svg +1 -177
  35. package/BookReader/images/icon_book.svg +1 -12
  36. package/BookReader/images/icon_bookmark.svg +1 -12
  37. package/BookReader/images/icon_gear.svg +1 -14
  38. package/BookReader/images/icon_hamburger.svg +1 -20
  39. package/BookReader/images/icon_home.svg +1 -21
  40. package/BookReader/images/icon_info.svg +1 -11
  41. package/BookReader/images/icon_one_page.svg +1 -8
  42. package/BookReader/images/icon_pause.svg +1 -1
  43. package/BookReader/images/icon_play.svg +1 -1
  44. package/BookReader/images/icon_playback-rate.svg +1 -15
  45. package/BookReader/images/icon_search_button.svg +1 -8
  46. package/BookReader/images/icon_share.svg +1 -9
  47. package/BookReader/images/icon_skip-ahead.svg +1 -6
  48. package/BookReader/images/icon_skip-back.svg +2 -13
  49. package/BookReader/images/icon_speaker.svg +1 -18
  50. package/BookReader/images/icon_speaker_open.svg +1 -10
  51. package/BookReader/images/icon_thumbnails.svg +1 -12
  52. package/BookReader/images/icon_toc.svg +1 -5
  53. package/BookReader/images/icon_two_pages.svg +1 -9
  54. package/BookReader/images/marker_chap-off.svg +1 -11
  55. package/BookReader/images/marker_chap-on.svg +1 -11
  56. package/BookReader/images/marker_srch-on.svg +1 -11
  57. package/BookReader/images/unviewable_page.png +0 -0
  58. package/BookReader/jquery-3.js +2 -0
  59. package/BookReader/jquery-3.js.LICENSE.txt +24 -0
  60. package/BookReader/plugins/plugin.archive_analytics.js +1 -172
  61. package/BookReader/plugins/plugin.archive_analytics.js.map +1 -1
  62. package/BookReader/plugins/plugin.autoplay.js +1 -165
  63. package/BookReader/plugins/plugin.autoplay.js.map +1 -1
  64. package/BookReader/plugins/plugin.chapters.js +22 -301
  65. package/BookReader/plugins/plugin.chapters.js.LICENSE.txt +1 -0
  66. package/BookReader/plugins/plugin.chapters.js.map +1 -1
  67. package/BookReader/plugins/plugin.iframe.js +1 -74
  68. package/BookReader/plugins/plugin.iframe.js.map +1 -1
  69. package/BookReader/plugins/plugin.iiif.js +2 -0
  70. package/BookReader/plugins/plugin.iiif.js.map +1 -0
  71. package/BookReader/plugins/plugin.resume.js +1 -368
  72. package/BookReader/plugins/plugin.resume.js.map +1 -1
  73. package/BookReader/plugins/plugin.search.js +2 -1420
  74. package/BookReader/plugins/plugin.search.js.LICENSE.txt +1 -0
  75. package/BookReader/plugins/plugin.search.js.map +1 -1
  76. package/BookReader/plugins/plugin.text_selection.js +2 -1080
  77. package/BookReader/plugins/plugin.text_selection.js.LICENSE.txt +1 -0
  78. package/BookReader/plugins/plugin.text_selection.js.map +1 -1
  79. package/BookReader/plugins/plugin.tts.js +2 -9193
  80. package/BookReader/plugins/plugin.tts.js.LICENSE.txt +2 -0
  81. package/BookReader/plugins/plugin.tts.js.map +1 -1
  82. package/BookReader/plugins/plugin.url.js +1 -269
  83. package/BookReader/plugins/plugin.url.js.map +1 -1
  84. package/BookReader/plugins/plugin.vendor-fullscreen.js +1 -379
  85. package/BookReader/plugins/plugin.vendor-fullscreen.js.map +1 -1
  86. package/BookReader/webcomponents-bundle.js +3 -0
  87. package/BookReader/webcomponents-bundle.js.LICENSE.txt +9 -0
  88. package/BookReader/webcomponents-bundle.js.map +1 -0
  89. package/BookReaderDemo/BookReaderDemo.css +18 -19
  90. package/BookReaderDemo/BookReaderJSAdvanced.js +0 -3
  91. package/BookReaderDemo/BookReaderJSSimple.js +1 -0
  92. package/BookReaderDemo/IADemoBr.js +144 -0
  93. package/BookReaderDemo/demo-advanced.html +2 -2
  94. package/BookReaderDemo/demo-embed-iframe-src.html +2 -1
  95. package/BookReaderDemo/demo-fullscreen-mobile.html +3 -5
  96. package/BookReaderDemo/demo-fullscreen.html +2 -4
  97. package/BookReaderDemo/demo-iiif.html +99 -12
  98. package/BookReaderDemo/demo-internetarchive.html +214 -18
  99. package/BookReaderDemo/demo-multiple.html +2 -1
  100. package/BookReaderDemo/demo-preview-pages.html +526 -525
  101. package/BookReaderDemo/demo-simple.html +2 -1
  102. package/BookReaderDemo/demo-vendor-fullscreen.html +2 -4
  103. package/BookReaderDemo/ia-multiple-volumes-manifest.js +170 -0
  104. package/BookReaderDemo/immersion-1up.html +2 -2
  105. package/BookReaderDemo/immersion-mode.html +2 -4
  106. package/BookReaderDemo/toggle_controls.html +3 -2
  107. package/BookReaderDemo/view_mode.html +2 -1
  108. package/BookReaderDemo/viewmode-cycle.html +2 -3
  109. package/CHANGELOG.md +595 -33
  110. package/README.md +14 -1
  111. package/babel.config.js +20 -0
  112. package/codecov.yml +6 -0
  113. package/index.html +5 -2
  114. package/jsconfig.json +19 -0
  115. package/netlify.toml +9 -0
  116. package/package.json +70 -62
  117. package/renovate.json +52 -0
  118. package/scripts/preversion.js +0 -1
  119. package/src/BookNavigator/assets/bookmark-colors.js +1 -1
  120. package/src/BookNavigator/assets/button-base.js +10 -2
  121. package/src/BookNavigator/assets/ia-logo.js +17 -0
  122. package/src/BookNavigator/assets/icon_checkmark.js +1 -1
  123. package/src/BookNavigator/assets/icon_close.js +1 -1
  124. package/src/BookNavigator/book-navigator.js +590 -0
  125. package/src/BookNavigator/bookmarks/bookmark-button.js +3 -2
  126. package/src/BookNavigator/bookmarks/bookmark-edit.js +3 -4
  127. package/src/BookNavigator/bookmarks/bookmarks-list.js +2 -3
  128. package/src/BookNavigator/bookmarks/bookmarks-loginCTA.js +4 -9
  129. package/src/BookNavigator/bookmarks/bookmarks-provider.js +27 -17
  130. package/src/BookNavigator/bookmarks/ia-bookmarks.js +116 -67
  131. package/src/BookNavigator/delete-modal-actions.js +1 -1
  132. package/src/BookNavigator/downloads/downloads-provider.js +36 -21
  133. package/src/BookNavigator/downloads/downloads.js +29 -25
  134. package/src/BookNavigator/search/search-provider.js +80 -28
  135. package/src/BookNavigator/search/search-results.js +29 -26
  136. package/src/BookNavigator/sharing.js +27 -0
  137. package/src/BookNavigator/viewable-files.js +95 -0
  138. package/src/BookNavigator/visual-adjustments/visual-adjustments-provider.js +13 -12
  139. package/src/BookNavigator/visual-adjustments/visual-adjustments.js +7 -7
  140. package/src/BookReader/BookModel.js +76 -41
  141. package/src/BookReader/DragScrollable.js +233 -0
  142. package/src/BookReader/ImageCache.js +48 -15
  143. package/src/BookReader/Mode1Up.js +56 -351
  144. package/src/BookReader/Mode1UpLit.js +388 -0
  145. package/src/BookReader/Mode2Up.js +73 -1318
  146. package/src/BookReader/Mode2UpLit.js +777 -0
  147. package/src/BookReader/ModeCoordinateSpace.js +29 -0
  148. package/src/BookReader/ModeSmoothZoom.js +312 -0
  149. package/src/BookReader/ModeThumb.js +19 -13
  150. package/src/BookReader/Navbar/Navbar.js +70 -54
  151. package/src/BookReader/PageContainer.js +116 -22
  152. package/src/BookReader/ReduceSet.js +3 -3
  153. package/src/BookReader/Toolbar/Toolbar.js +14 -41
  154. package/src/BookReader/events.js +2 -3
  155. package/src/BookReader/options.js +73 -15
  156. package/src/BookReader/utils/HTMLDimensionsCacher.js +44 -0
  157. package/src/BookReader/utils/ScrollClassAdder.js +31 -0
  158. package/src/BookReader/utils/SelectionObserver.js +45 -0
  159. package/src/BookReader/utils/classes.js +1 -1
  160. package/src/BookReader/utils.js +128 -13
  161. package/src/BookReader.js +562 -1078
  162. package/src/BookReaderPlugin.js +44 -0
  163. package/src/assets/icons/close-circle-dark.svg +1 -0
  164. package/src/assets/icons/magnify-minus.svg +3 -7
  165. package/src/assets/icons/magnify-plus.svg +3 -7
  166. package/src/assets/icons/voice.svg +1 -0
  167. package/src/assets/images/unviewable_page.png +0 -0
  168. package/src/css/BookReader.scss +1 -17
  169. package/src/css/_BRBookmarks.scss +1 -1
  170. package/src/css/_BRComponent.scss +1 -1
  171. package/src/css/_BRicon.scss +8 -2
  172. package/src/css/_BRmain.scss +33 -27
  173. package/src/css/_BRnav.scss +12 -42
  174. package/src/css/_BRpages.scss +170 -42
  175. package/src/css/_BRsearch.scss +68 -230
  176. package/src/css/_BRtoolbar.scss +5 -5
  177. package/src/css/_TextSelection.scss +87 -27
  178. package/src/css/_colorbox.scss +2 -2
  179. package/src/css/_controls.scss +24 -7
  180. package/src/css/_icons.scss +7 -1
  181. package/src/ia-bookreader/ia-bookreader.js +224 -0
  182. package/src/plugins/plugin.archive_analytics.js +84 -78
  183. package/src/plugins/plugin.autoplay.js +99 -104
  184. package/src/plugins/plugin.chapters.js +237 -191
  185. package/src/plugins/plugin.iframe.js +1 -1
  186. package/src/plugins/plugin.iiif.js +141 -0
  187. package/src/plugins/plugin.resume.js +53 -50
  188. package/src/plugins/plugin.text_selection.js +503 -175
  189. package/src/plugins/plugin.vendor-fullscreen.js +7 -7
  190. package/src/plugins/search/plugin.search.js +183 -121
  191. package/src/plugins/search/utils.js +43 -0
  192. package/src/plugins/search/view.js +67 -202
  193. package/src/plugins/tts/AbstractTTSEngine.js +75 -45
  194. package/src/plugins/tts/FestivalTTSEngine.js +21 -31
  195. package/src/plugins/tts/PageChunk.js +16 -23
  196. package/src/plugins/tts/PageChunkIterator.js +11 -17
  197. package/src/plugins/tts/WebTTSEngine.js +88 -72
  198. package/src/plugins/tts/plugin.tts.js +310 -350
  199. package/src/plugins/tts/utils.js +16 -26
  200. package/src/plugins/url/UrlPlugin.js +191 -0
  201. package/src/plugins/{plugin.url.js → url/plugin.url.js} +47 -18
  202. package/src/util/browserSniffing.js +22 -0
  203. package/src/util/docCookies.js +21 -2
  204. package/src/util/strings.js +1 -0
  205. package/tests/e2e/README.md +37 -0
  206. package/tests/e2e/autoplay.test.js +9 -6
  207. package/tests/e2e/base.test.js +8 -16
  208. package/tests/e2e/helpers/base.js +55 -50
  209. package/tests/e2e/helpers/debug.js +1 -1
  210. package/tests/e2e/helpers/mockSearch.js +19 -22
  211. package/tests/e2e/helpers/params.js +17 -0
  212. package/tests/e2e/helpers/rightToLeft.js +8 -14
  213. package/tests/e2e/helpers/search.js +73 -0
  214. package/tests/e2e/models/Navigation.js +20 -37
  215. package/tests/e2e/rightToLeft.test.js +4 -5
  216. package/tests/e2e/viewmode.test.js +40 -33
  217. package/tests/jest/BookNavigator/book-navigator.test.js +661 -0
  218. package/tests/jest/BookNavigator/bookmarks/bookmark-button.test.js +43 -0
  219. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmark-edit.test.js +25 -26
  220. package/tests/{karma → jest}/BookNavigator/bookmarks/bookmarks-list.test.js +41 -42
  221. package/tests/jest/BookNavigator/bookmarks/ia-bookmarks.test.js +45 -0
  222. package/tests/jest/BookNavigator/downloads/downloads-provider.test.js +67 -0
  223. package/tests/jest/BookNavigator/downloads/downloads.test.js +53 -0
  224. package/tests/jest/BookNavigator/search/search-provider.test.js +167 -0
  225. package/tests/{karma/BookNavigator → jest/BookNavigator/search}/search-results.test.js +109 -60
  226. package/tests/jest/BookNavigator/sharing/sharing-provider.test.js +49 -0
  227. package/tests/jest/BookNavigator/viewable-files/viewable-files-provider.test.js +80 -0
  228. package/tests/jest/BookNavigator/visual-adjustments.test.js +200 -0
  229. package/tests/{BookReader → jest/BookReader}/BookModel.test.js +74 -14
  230. package/tests/jest/BookReader/BookReaderPublicFunctions.test.js +193 -0
  231. package/tests/{BookReader → jest/BookReader}/ImageCache.test.js +4 -4
  232. package/tests/jest/BookReader/Mode1UpLit.test.js +73 -0
  233. package/tests/jest/BookReader/Mode2Up.test.js +98 -0
  234. package/tests/jest/BookReader/Mode2UpLit.test.js +190 -0
  235. package/tests/jest/BookReader/ModeCoordinateSpace.test.js +16 -0
  236. package/tests/jest/BookReader/ModeSmoothZoom.test.js +218 -0
  237. package/tests/jest/BookReader/ModeThumb.test.js +71 -0
  238. package/tests/{BookReader → jest/BookReader}/Navbar/Navbar.test.js +42 -29
  239. package/tests/jest/BookReader/PageContainer.test.js +238 -0
  240. package/tests/{BookReader → jest/BookReader}/ReduceSet.test.js +1 -1
  241. package/tests/{BookReader → jest/BookReader}/Toolbar/Toolbar.test.js +3 -3
  242. package/tests/jest/BookReader/utils/HTMLDimensionsCacher.test.js +59 -0
  243. package/tests/jest/BookReader/utils/ScrollClassAdder.test.js +49 -0
  244. package/tests/jest/BookReader/utils/SelectionObserver.test.js +57 -0
  245. package/tests/{BookReader → jest/BookReader}/utils/classes.test.js +1 -1
  246. package/tests/jest/BookReader/utils.test.js +250 -0
  247. package/tests/jest/BookReader.keyboard.test.js +190 -0
  248. package/tests/{BookReader.options.test.js → jest/BookReader.options.test.js} +10 -2
  249. package/tests/{BookReader.test.js → jest/BookReader.test.js} +43 -53
  250. package/tests/jest/plugins/plugin.archive_analytics.test.js +20 -0
  251. package/tests/jest/plugins/plugin.autoplay.test.js +35 -0
  252. package/tests/jest/plugins/plugin.chapters.test.js +195 -0
  253. package/tests/{plugins → jest/plugins}/plugin.iframe.test.js +4 -4
  254. package/tests/{plugins → jest/plugins}/plugin.resume.test.js +22 -35
  255. package/tests/jest/plugins/plugin.text_selection.test.js +316 -0
  256. package/tests/{plugins → jest/plugins}/plugin.vendor-fullscreen.test.js +2 -2
  257. package/tests/{plugins → jest/plugins}/search/plugin.search.test.js +26 -47
  258. package/tests/{plugins → jest/plugins}/search/plugin.search.view.test.js +42 -9
  259. package/tests/jest/plugins/search/utils.js +25 -0
  260. package/tests/jest/plugins/search/utils.test.js +29 -0
  261. package/tests/{plugins → jest/plugins}/tts/AbstractTTSEngine.test.js +30 -10
  262. package/tests/{plugins → jest/plugins}/tts/FestivalTTSEngine.test.js +4 -4
  263. package/tests/{plugins → jest/plugins}/tts/PageChunk.test.js +1 -1
  264. package/tests/{plugins → jest/plugins}/tts/PageChunkIterator.test.js +3 -3
  265. package/tests/{plugins → jest/plugins}/tts/WebTTSEngine.test.js +47 -1
  266. package/tests/{plugins → jest/plugins}/tts/utils.test.js +1 -60
  267. package/tests/jest/plugins/url/UrlPlugin.test.js +198 -0
  268. package/tests/{plugins → jest/plugins/url}/plugin.url.test.js +57 -18
  269. package/tests/jest/setup.js +3 -0
  270. package/tests/{util → jest/util}/browserSniffing.test.js +1 -1
  271. package/tests/jest/util/docCookies.test.js +24 -0
  272. package/tests/{util → jest/util}/strings.test.js +1 -1
  273. package/tests/{utils.js → jest/utils.js} +38 -0
  274. package/webpack.config.js +16 -10
  275. package/.babelrc +0 -12
  276. package/.dependabot/config.yml +0 -6
  277. package/.testcaferc.json +0 -5
  278. package/BookReader/bookreader-component-bundle.js +0 -14330
  279. package/BookReader/bookreader-component-bundle.js.LICENSE.txt +0 -38
  280. package/BookReader/bookreader-component-bundle.js.map +0 -1
  281. package/BookReader/icons/sort-ascending.svg +0 -1
  282. package/BookReader/icons/sort-descending.svg +0 -1
  283. package/BookReader/jquery-1.10.1.js +0 -108
  284. package/BookReader/jquery-1.10.1.js.LICENSE.txt +0 -24
  285. package/BookReader/plugins/plugin.menu_toggle.js +0 -369
  286. package/BookReader/plugins/plugin.menu_toggle.js.map +0 -1
  287. package/BookReader/plugins/plugin.mobile_nav.js +0 -335
  288. package/BookReader/plugins/plugin.mobile_nav.js.map +0 -1
  289. package/BookReaderDemo/BookReaderJSAutoplay.js +0 -56
  290. package/BookReaderDemo/IIIFBookReader.js +0 -207
  291. package/BookReaderDemo/bookreader-template-bundle.js +0 -7178
  292. package/BookReaderDemo/demo-autoplay.html +0 -38
  293. package/BookReaderDemo/demo-iiif.js +0 -26
  294. package/BookReaderDemo/demo-plugin-menu-toggle.html +0 -34
  295. package/karma.conf.js +0 -23
  296. package/src/BookNavigator/BookModel.js +0 -14
  297. package/src/BookNavigator/BookNavigator.js +0 -452
  298. package/src/BookNavigator/assets/book-loader.js +0 -27
  299. package/src/BookNavigator/assets/icon_sort_ascending.js +0 -5
  300. package/src/BookNavigator/assets/icon_sort_descending.js +0 -5
  301. package/src/BookNavigator/br-fullscreen-mgr.js +0 -83
  302. package/src/BookNavigator/search/a-search-result.js +0 -55
  303. package/src/BookNavigator/volumes/volumes-provider.js +0 -108
  304. package/src/BookNavigator/volumes/volumes.js +0 -162
  305. package/src/BookReader/DebugConsole.js +0 -54
  306. package/src/BookReaderComponent/BookReaderComponent.js +0 -112
  307. package/src/ItemNavigator/ItemNavigator.js +0 -372
  308. package/src/ItemNavigator/providers/sharing.js +0 -29
  309. package/src/assets/icons/sort-ascending.svg +0 -1
  310. package/src/assets/icons/sort-descending.svg +0 -1
  311. package/src/css/_MobileNav.scss +0 -194
  312. package/src/dragscrollable-br.js +0 -261
  313. package/src/plugins/menu_toggle/plugin.menu_toggle.js +0 -324
  314. package/src/plugins/plugin.mobile_nav.js +0 -287
  315. package/tests/BookReader/BookReaderPublicFunctions.test.js +0 -171
  316. package/tests/BookReader/DebugConsole.test.js +0 -25
  317. package/tests/BookReader/Mode1Up.test.js +0 -164
  318. package/tests/BookReader/Mode2Up.test.js +0 -247
  319. package/tests/BookReader/PageContainer.test.js +0 -115
  320. package/tests/BookReader/utils.test.js +0 -109
  321. package/tests/e2e/helpers/desktopSearch.js +0 -72
  322. package/tests/e2e/helpers/mobileSearch.js +0 -85
  323. package/tests/e2e/ia-production/ia-prod-base.js +0 -17
  324. package/tests/karma/BookNavigator/book-navigator.test.js +0 -132
  325. package/tests/karma/BookNavigator/visual-adjustments.test.js +0 -201
  326. package/tests/karma/BookNavigator/volumes.test.js +0 -133
  327. package/tests/plugins/menu_toggle/plugin.menu_toggle.test.js +0 -68
  328. package/tests/plugins/plugin.archive_analytics.test.js +0 -23
  329. package/tests/plugins/plugin.autoplay.test.js +0 -52
  330. package/tests/plugins/plugin.chapters.test.js +0 -130
  331. package/tests/plugins/plugin.mobile_nav.test.js +0 -66
  332. package/tests/plugins/plugin.text_selection.test.js +0 -203
  333. package/tests/util/docCookies.test.js +0 -15
package/CHANGELOG.md CHANGED
@@ -1,14 +1,475 @@
1
+ # 5.0.0-90
2
+ - Fix: Festival TTS not working @cdrini
3
+
4
+ # 5.0.0-89
5
+ - Refactor: Migrate TextSelection, Autoplay, Resume, IIIF, and TTS to new BookReaderPlugin system @cdrini
6
+ - Breaking changes:
7
+ - Options related to these plugins are now in the `plugins` object
8
+ - Methods related to these plugins are now nested, eg `br.ttsToggle` is now `br._plugins.tts.toggle`
9
+ - See https://github.com/internetarchive/bookreader/pull/1374 and https://github.com/internetarchive/bookreader/pull/1376 for examples.
10
+ - Feature: Add autoplay url parameter for `flipSpeed` and `flipDelay`
11
+ - Feature: Add new renderPageURI option + improve image caching @cdrini
12
+ - Dev: Fix failing E2E tests @cdrini
13
+
14
+ # 5.0.0-88
15
+ - Fix: Switch to new page number display format @pezvi
16
+ - Fix: Introduce BookReaderPlugin abstraction and apply to ArchiveAnalyticsPlugin @cdrini
17
+
18
+ # 5.0.0-87
19
+ - Fix: turn on autoplay option @cdrini
20
+
21
+ # 5.0.0-86
22
+ - Fix: Make JSON requests with cookies for protected books @cdrini
23
+
24
+ # 5.0.0-85
25
+ - Dev: Disable JSONP requests to archive.org to make BR CSP-compatible @cdrini
26
+
27
+ # 5.0.0-84
28
+ - Fix: Improve/update wording for downloads @rebecca-shoptaw
29
+
30
+ # 5.0.0-83
31
+ - Fix: Fix typo in search-results.js @sahalbelam
32
+ - Dev: Bump cache action to v4 @williamtheaker
33
+ - Fix: Fix toolbar requiring SearchView.init having already been called @cdrini
34
+ - Dev: Replace deprecated codecov npm package with github action @cdrini
35
+ - Dev: Add eslint trailing comma rule @cdrini
36
+ - Fix: Fix IIIF plugin missing last page + error when metadata unspecified @glorieux-f
37
+ - Fix: Remove polyfill.io from demo files @cdrini
38
+ - Dev: Update build dependencies @cdrini
39
+ - Dev: Update some dev deps @cdrini
40
+ - Fix: Switch to new Thorium URL @rebecca-shoptaw
41
+
42
+ # 5.0.0-82
43
+ - Feature: New option to control unviewable page image: `unviewablePageURI` @cdrini
44
+
45
+ # 5.0.0-81
46
+ - Dev: Update test dependencies @cdrini
47
+ - Dev: Update build dependencies @cdrini
48
+ - Fix: BookReader buttons inherit font @rebecca-shoptaw
49
+ - Fix: Better visual adjustment text @rebecca-shoptaw
50
+
51
+ # 5.0.0-80
52
+ - Dev: Fix/modernize IIIF demo @cdrini
53
+ - Dev: Fix sharing panel erroring when no IA item metadata specified @cdrini
54
+
55
+ # 5.0.0-79
56
+
57
+ - Fix: Firefox not scrolling to selected volume in the volume side panel @nsharma123
58
+
59
+ # 5.0.0-78
60
+
61
+ - Fix: Add button outline to some of the controls @cdrini
62
+
63
+ # 5.0.0-77
64
+
65
+ - Fix: side panels - show downloads before visual adjustments @iisa
66
+
67
+ # 5.0.0-76
68
+
69
+ - Fix: Update bookNavigator shortcut menu ordering @dualcnhq
70
+
71
+ # 5.0.0-75
72
+
73
+ - Dev: Update deps via renovatebot
74
+ - Dev: Add .env file in .gitignore
75
+ - Dev: Update CHANGELOG.md @eltociear
76
+ - Feature: Add ToC icon if enableChapterPlugin @dualcnhq
77
+
78
+ # 5.0.0-74
79
+
80
+ - See 5.0.0-75
81
+
82
+ # 5.0.0-73
83
+
84
+ - Feature: Add `table_of_contents` option to work with chapters plugin @cdrini
85
+ - Fix: Simple demos not working @xonx4l
86
+ - Dev: Update test/build dependencies @cdrini
87
+
88
+ # 5.0.0-72
89
+
90
+ - Fix: Play/pause button out of sync with ReadAloud @sbwhitt
91
+ - Fix: BookReader not loading in sandboxed iframe @cdrini
92
+ - Dev: Fix noisy sentry error firing on any selection @cdrini
93
+ - Dev: Update to Node 20 @cdrini
94
+
95
+ # 5.0.0-71
96
+
97
+ - Dev: update jest monorepo @renovate
98
+ - Fix: Share & Mutliple View menu panel refactor @iisa
99
+
100
+ # 5.0.0-70
101
+
102
+ - Feature: Remember ReadAloud voice selection @sbwhitt
103
+ - Fix: Support page numbers that require url encoding @cdrini
104
+
105
+ # 5.0.0-69
106
+
107
+ - Fix: Handle ppi incorrectly set to one @cdrini
108
+
109
+ # 5.0.0-68
110
+
111
+ - Fix: 1up zoom wrong on start/entering full screen @cdrini
112
+ - Dev: BREAKING: delete `plugin.mobile_nav.js` no longer used @cdrini
113
+ - Dev: Move page 1 label correction logic to BookReaderJSIA @cdrini
114
+
115
+ # 5.0.0-67
116
+
117
+ - Feature: Re-enable chapters plugin + migrate off mmenu @cdrini
118
+ - Fix: Disable tooltips on touchscreens + fix on IA @cdrini
119
+ - Dev: Remove core-js update block; issue resolved in core-js @cdrini
120
+
121
+ # 5.0.0-66
122
+
123
+ - Fix: Pinch zooming on iPad/iPhone, Samsung Internet @cdrini
124
+
125
+ # 5.0.0-65
126
+
127
+ - Dev: Remove Debug console dev helper @cdrini
128
+ - Dev: Fix deno esm.sh esbuild erroring @cdrini
129
+ - Dev: Update test/build deps @cdrini
130
+
131
+ # 5.0.0-64
132
+
133
+ - Dev: update dependencies @renovate
134
+ - Dev: update build step @cdrini
135
+ - Fix: Search inside option for {{{/}}} + http support @cdrini
136
+
137
+ # 5.0.0-63
138
+
139
+ Fix: Don't limit autoFit zoom to real world size @cdrini
140
+ Dev: Update test deps @cdrini
141
+
142
+ # 5.0.0-62
143
+
144
+ - Fix: Make text selection work in Safari 15.4+ @cdrini
145
+ - Fix: Rewrite/improvements to text selection UX @cdrini
146
+ - Switches from SVG text layer to HTML text layer
147
+
148
+ # 5.0.0-61
149
+
150
+ - Fix: Mode2up preview pages hanging on first click @cdrini
151
+ - Dev: Add analytics event for text layer page selection @cdrini
152
+
153
+ # 5.0.0-60
154
+
155
+ - Fix: Update modal manager to fix duplicate definitions warnings on IA @cdrini
156
+ - Fix: Common Sentry error `.spread` undefined @cdrini
157
+ - Fix: entering page appearing early in flip anim @cdrini
158
+ - Fix: preview pages not working in 1up @cdrini
159
+ - Dev: Make serve-dev not do full production babeling (This makes it waaaay easier/faster to debug things like promises) @cdrini
160
+ - Dev: Log an error if search inside fails for sentry @cdrini
161
+ - Dev: Make dev server support CORS to allow testing via ngrok @cdrini
162
+ - Refactor: Rm redundant archive_analytics checks @cdrini
163
+ - Refactor: Dissolve a-search-result.js component @cdrini
164
+
165
+ # 5.0.0-59
166
+
167
+ - Rewrite 2up view to use css transforms and lit @cdrini
168
+ - Pretty substantial change. Lots of breaking changes to public methods.
169
+
170
+ # 5.0.0-58
171
+
172
+ - Fix BookReader sometimes failing to load when starting in Mode1Up @cdrini
173
+ - Update testing dependencies @cdrini
174
+
175
+ # 5.0.0-57
176
+
177
+ - Fix - do not show Download pane when there aren't any available @iisa
178
+
179
+ # 5.0.0-56
180
+
181
+ - Fix DOMException in sandboxed iframe in chrome @cdrini
182
+
183
+ # 5.0.0-55
184
+
185
+ - Fix BookReader going to 1up in fullscreen on desktop @mheiman
186
+ - Support BookReader running in sandboxed (cookie-less) iframe @cdrini
187
+ - Update IA dependencies to avoid duplicate dependencies @cdrini
188
+
189
+ # 5.0.0-54
190
+
191
+ - Dev: Dispatch custom event from bookreader for ia-book-actions @nsharma123
192
+
193
+ # 5.0.0-53
194
+
195
+ - Dev: update icons & lit versions to help a.o build @iisa
196
+
197
+ # 5.0.0-52
198
+
199
+ # 5.0.0-51
200
+
201
+ - Fix: Bookmark with subfiles was broken @nsharma123
202
+ - Feature: Default 1up mode and options.defaults mode override exiting mode @nsharma123
203
+
204
+ # 5.0.0-50
205
+
206
+ Fix: Search results display @latonv
207
+
208
+ # 5.0.0-49
209
+
210
+ - Dev: remove class shims, v5 deprecations @cdrini
211
+ - Dev: update dependency (@open-wc/testing-helpers) @renovate
212
+ - Dev: e2e - remove ia test + export DesktopNav for external usage @iisa
213
+
214
+ # 5.0.0-48
215
+
216
+ - Fix: move analytics to sample bucket @iisa
217
+ - Dev: update dependencies (concurrently, jest) @renovate
218
+
219
+ # 5.0.0-47
220
+
221
+ - Fix: XSS vulnerability in search results @latonv
222
+ - Dev: Update jQuery to v3 **BREAKING** @cdrini
223
+ - If you were importing `BookReader/jquery-1.10.1.js` you will need to change it to `BookReader/jquery-3.js`
224
+ - Also ensure if other code was using this jquery that it works with jQuery 3!
225
+ - Dev: Update testing dependencies (jest, testcafe) @renovate
226
+
227
+ # 5.0.0-46
228
+
229
+ Fix: Leaf positioning during RTL fliip animation @latonv
230
+ Dev: dependency updates @renovate
231
+ Fix: Disable contextmenu for restricted books @iisa
232
+
233
+ # 5.0.0-45
234
+
235
+ # 5.0.0-44
236
+
237
+ Fix: dynamic `q=<term>` url parameter @iisa
238
+ Dev: dependency updates @renovate
239
+
240
+ # 5.0.0-43
241
+
242
+ Fix: search results panel display asserted page numbers @cdrini
243
+ Dev: dependency updates @renovate
244
+ Dev: node-fetch update @cdrini
245
+
246
+ # 5.0.0-42
247
+
248
+ Dev: update testing dependencies @renovate
249
+ Dev: update `<ia-item-navigator>` @iisa
250
+
251
+ # 5.0.0-40
252
+
253
+ Fix: Better search highlights @cdrini
254
+ Dev: update lit 2 components @iisa
255
+ Dev: update lit @renovate
256
+
257
+ # 5.0.0-39
258
+
259
+ Fix: Performance improvements to scroll/zooming when text layer is larger @cdrini
260
+ Fix: Update zoom in/out icons to match iconochive glyphs @pezvi
261
+ Dev: update dependencies @renovate
262
+
263
+ # 5.0.0-38
264
+
265
+ Dev: Add Renovate Bot @cdrini
266
+ Dev: Update node-fetch @cdrini
267
+ Fix: Search request promise err & fix tests @cdrini
268
+ Dev: Split node workflow into different jobs @cdrini
269
+ Dev: Give cache steps better names in GHA @cdrini
270
+ Dev: Update concurrently + Small speedup to build & test @cdrini
271
+ Dev: Renovate - Auto-update dev dependencies for minor/patch @cdrini
272
+ Fix: Better MS Edge voice selection @cdrini
273
+ Dev: Allow small drops in codecov coverage (< 0.5%) @cdrini
274
+ Dev: Renovate - add `^@internetarchive/icon-` @cdrini
275
+
276
+ # 5.0.0-37
277
+
278
+ Fix: Update all `.then()` to async/await @sancodes
279
+ Fix: Upgrade to Lit 2 @Aadilhassan
280
+ Dev: Update to Node v16.x @duggiefresh
281
+ Dev: Remove unused demo bundle @cdrini
282
+ Dev: Fix README broken link for plugin directory @duggiefresh
283
+ Dev: Update sharing options menu to lit2 @iisa
284
+ Dev: Remove package publishing from GHA @cdrini
285
+
286
+ # 5.0.0-36
287
+
288
+ Fix: Readaloud scrolls along with dext @cdrini
289
+ Dev: ES6 var to let/const updates @sancodes
290
+ Dev: ES6 async/await updates @sancodes
291
+ Dev: Re-enable testcafe tests in GH action @iisa
292
+ Fix: Search results bar clears and closes properly @iisa
293
+
294
+ # 5.0.0-35
295
+
296
+ Fix: global style leak specify colorbox styles @iisa
297
+ Fix: br menu reinits with shared ro load @iisa
298
+ Fix: url plugin does not rewrite with multiple slashes @iisa
299
+
300
+ # 5.0.0-34
301
+
302
+ Dev: update test dependencies @cdrini
303
+ Fix: Update hyphen stitching regex to include dangling "¬" @cdrini
304
+ Fix: pop open multiple files menu at proper width @iisa
305
+
306
+ # 5.0.0-33
307
+
308
+ Fix: restricted books get cover image @iisa
309
+
310
+ # 5.0.0-32
311
+
312
+ Fix: fetch bookmarks from service when logged in @iisa
313
+ Fix: adjust css to help shadydom render properly @iisa
314
+
315
+ # 5.0.0-31
316
+
317
+ Fix: modal loads into dom from `<ia-bookreader>` @iisa
318
+
319
+ # 5.0.0-30
320
+
321
+ - `<ia-bookreader>` is top-most web component @iisa
322
+
323
+ # 5.0.0-29
324
+
325
+ - import ia-item-navigator for menu management @iisa
326
+ - url plugin: suppress default state on load @dualcnhq
327
+
328
+ # 5.0.0-28
329
+
330
+ Dev: Refactor URLPlugin + sync volumes sorting state to URL @dualcnhq @cdrini
331
+
332
+ # 5.0.0-27
333
+
334
+ Dev: eslint fix for $.browser @homewardgamer
335
+ Fix: cache search inside requests @iisa
336
+
337
+ # 5.0.0-26
338
+
339
+ Fix: read aloud play/pause button @nsharma123
340
+ Dev: strict keyboard shortcuts @mc2
341
+ Dev: update IA demo page @iisa
342
+
343
+ # 5.0.0-24
344
+
345
+ Fix: book-nav side panel zoom out @mc2
346
+ Dev: refactor zoom code @mc2
347
+
348
+ # 5.0.0-23
349
+
350
+ Fix: Darken scrollbars in Safari @pezvi
351
+ Fix: Bookmarks service calls when reader is logged in @mc2
352
+ Dev: Move jest tests into separate directory @cdrini
353
+
354
+ # 5.0.0-22
355
+
356
+ - Dev: remove deprecated embed nav view, use standard default @iisa
357
+
358
+ # 5.0.0-21
359
+
360
+ - Dev: Toggle view=theater in fullscreen @mc2
361
+
362
+ # 5.0.0-20
363
+
364
+ - Feature: Add voice selection dropdown to ReadAloud! @mekarpeles
365
+ - Dev: Make jest support root-level imports with "@" @cdrini
366
+ - Dev: Make it easy to run e2e tests on archive.org/browserstack @cdrini
367
+
368
+ # 5.0.0-19
369
+
370
+ - Dev: Refactor dragscrollable from a jquery plugin to a JS class @cdrini
371
+ - Dev: Fix jquery eslint errors @cdrini
372
+ - Dev: Replace deprecated babel-eslint with successor @cdrini
373
+ - Fix: BR not working on iOS 9 / iOS 10! @cdrini, @iisa
374
+ - Added webcomponents, ResizeObserver polyfill
375
+ - ES5-ify lit node_modules
376
+
377
+ # 5.0.0-18
378
+
379
+ - Dev: Update a number of dependencies @cdrini
380
+ - Dev: Added eslint-plugin-no-jquery @soham4abc
381
+ - Feature: Add continuous pinch zooming for touch screens and trackpads! @cdrini
382
+ - This is a _big_ change to the codebase. It involved rewriting 1 up mode in LitElement. This means that BookReader now need webcomponents to function.
383
+ - Breaking changes (unlikely to be used by anyone):
384
+ - Most Mode1Up Bookreader global functions removed (unlikely to be used): `drawLeafsOnePage`, `onePageGetAutofitWidth`, `onePageGetAutofitHeight`, `onePageGetPageTop`, `onePageCalculateReductionFactors`, `centerX1up`, `centerY1up`
385
+ - Some Mode2Up cleanups: Removed `setClickHandler2UP`, `setMouseHandlers2UP`
386
+ - [Web components](https://caniuse.com/custom-elementsv1) now must be supported
387
+ - Reduction factors options no longer applies to 1up
388
+
389
+ # 5.0.0-17
390
+
391
+ - Fix: focus in a textarea disables keyboard shortcuts @cdrini
392
+
393
+ # 5.0.0-16
394
+
395
+ - Dev: remove unused menu toggle plugin @iisa
396
+ - Fix: Book nav loader safari update @iisa
397
+
398
+ # 5.0.0-15
399
+
400
+ - Fix: Typing -/+ in search box no longer zooms @cdrini
401
+ - Dev: Add script for updating dev deps @cdrini
402
+ - Refactor/Fix: Convert search/TTS highlights to use SVG layer @cdrini
403
+ - Fix TTS highlights not positioned correctly in Mode1Up
404
+ - Breaking changes (unlikely these are used by anyone):
405
+ - Remove public method `BookReader.prototype.keyboardNavigationIsDisabled`
406
+ - Remove public method `BookReader.util.sleep`
407
+ - Remove public method `BookReader.prototype.updateSearchHilites1UP`
408
+ - Remove public method `BookReader.prototype.updateSearchHilites2UP`
409
+ - Remove public attribute `BookReader.prototype.ttsHilites`
410
+
411
+ # 5.0.0-14
412
+
413
+ - Fix: Url search param `q=` updates dynamically @nsharma123
414
+ - Fix: Downloads menu text updates @dualcnhq
415
+ - Fix: Volumes updates - icons, labelling, open menu onload @iisa
416
+
417
+ # 5.0.0-13
418
+
419
+ - Enhancement: Add neutral state for sorting volumes @dualcnhq
420
+ - Enhancement: Update subfiles/volumes title sorting logic by filename -> title_asc -> title_desc order then back to filename @dualcnhq
421
+ - Fix: Volume item index count display @dualcnhq
422
+
423
+ # 5.0.0-12
424
+
425
+ - Fix: new side panel: sortable multiple volumes @dualcnhq @iisa
426
+ - Fix: sharing side panel can share subfile/volume @iisa
427
+
428
+ # 5.0.0-11
429
+
430
+ - Fix: standardize button style for download panel @nsharma123
431
+
432
+ # 5.0.0-10
433
+
434
+ - Fix: Make 1up default to full width (up to real world size) @cdrini
435
+ - Fix: Remove "page" from toolbar @cdrini
436
+ - Dev: Update menu slider @iisa
437
+ - Dev: Add semi-colons eslint rule @iisa
438
+
439
+ # 5.0.0-9
440
+
441
+ - Fix: search-inside results check for page's index via `leafNum` @nsharma123
442
+
443
+ # 5.0.0-8
444
+
445
+ - Fix: cancel search fix naming var @iisa
446
+
447
+ # 5.0.0-7
448
+
449
+ - Fix: cancel search @iisa
450
+ - Dev: remove dead css @cdrini
451
+ - Dev: GHA node_modules caching @cdrini
452
+
453
+ # 5.0.0-6
454
+
455
+ - Fix: Fullscreen toggle sets/unsets animating flag @iisa
456
+
1
457
  # 5.0.0-5
458
+
2
459
  - Fix: Book Nav: resize only when bookreader is not animating @iisa
3
460
  - Fix: Web components register themselves at EOF @iisa
4
461
  - Dev: update dependencies with dependabot @drini
462
+
5
463
  # 5.0.0-4
464
+
6
465
  - Dev: update bookmarks login archive_analytics @iisa @dualcnhq
7
466
 
8
467
  # 5.0.0-3
468
+
9
469
  - Fix: bookmarks panel has login CTA @dualcnhq @iisa
10
470
 
11
471
  # 5.0.0-2
472
+
12
473
  - Dev: update testing dependencies @cdrini
13
474
  - Dev: update dev-flow dependencies @cdrini
14
475
  - Dev: reorganize core BR files @cdrini
@@ -18,30 +479,33 @@
18
479
  - Fix: updates to `<book-navigator>` to upgrade archive.org's liner notes display to v5 @iisa
19
480
 
20
481
  # 5.0.0-1
482
+
21
483
  - Actually delete the files mentioned in previous release @cdrini
22
484
  - Dev: Organize BookNavigator files @iisa
23
485
  - Fix: Search results not in correct place in Mode1Up @cdrini
24
486
 
25
487
  # 5.0.0-0
488
+
26
489
  First beta release of v5! Lots of breaking changes:
490
+
27
491
  - Files deleted from `BookReader/` . These are all no longer needed, or bundled in other BookReader JS files
28
- - jquery.bt.min.js
29
- - plugin.theme.js - including methods:
30
- - BookReader.prototype.themes
31
- - BookReader.prototype.updateTheme
32
- - BookReader.prototype.default_theme
33
- - BookReader.prototype.theme
34
- - option enableThemesPlugin
35
- - excanvas.compiled.js
36
- - plugin.print.js - including methods:
37
- - BookReader.prototype.printPage
38
- - BookReader.prototype.getPrintURI
39
- - BookReader.prototype.getPageFile
40
- - jquery.browser.min.js
41
- - soundmanager/*
42
- - jquery.ui.touch-punch.min.js
43
- - mmenu/*
44
- - jquery-ui-1.12.0.min.js
492
+ - jquery.bt.min.js
493
+ - plugin.theme.js - including methods:
494
+ - BookReader.prototype.themes
495
+ - BookReader.prototype.updateTheme
496
+ - BookReader.prototype.default_theme
497
+ - BookReader.prototype.theme
498
+ - option enableThemesPlugin
499
+ - excanvas.compiled.js
500
+ - plugin.print.js - including methods:
501
+ - BookReader.prototype.printPage
502
+ - BookReader.prototype.getPrintURI
503
+ - BookReader.prototype.getPageFile
504
+ - jquery.browser.min.js
505
+ - soundmanager/*
506
+ - jquery.ui.touch-punch.min.js
507
+ - mmenu/*
508
+ - jquery-ui-1.12.0.min.js
45
509
  - BookReader now also requires web components; more documentation on how to use will be coming in the next beta versions.
46
510
  - BookNavigator is a web component wrapper around core BookReader
47
511
  - Add Karma for testing web components
@@ -52,93 +516,131 @@ First beta release of v5! Lots of breaking changes:
52
516
  - BookReader/ build files directory is now completely disposable
53
517
 
54
518
  # 4.40.2
519
+
55
520
  -Fix: page container has `data-side` attr @iisa
56
521
 
57
522
  # 4.40.1
523
+
58
524
  - Fix: Support /search/TERM in url @nsharma123
59
525
  - Dev: Fix reference to deprecated pruneUnused @cdrini
60
526
 
61
527
  # 4.40.0
528
+
62
529
  - Dev: Separate ModeThumb into separate file @cdrini
63
530
  - Feature: Progressive loading of higher resolution images @cdrini
64
- - Potentially breaking change: `data-(side|leaf|reduce|row)` no longer set
65
- - Potentially breaking change: mode class no longer set on page container
66
- - A number of deprecated methods converted to no-ops with `console.warn`
531
+ - Potentially breaking change: `data-(side|leaf|reduce|row)` no longer set
532
+ - Potentially breaking change: mode class no longer set on page container
533
+ - A number of deprecated methods converted to no-ops with `console.warn`
67
534
  - Feature: pow2 reduce by default @cdrini
68
- - New option: `reduceSet: 'pow2' | 'integer' = 'pow2'` limits reduce variables sent to getURI to be powers of 2
535
+ - New option: `reduceSet: 'pow2' | 'integer' = 'pow2'` limits reduce variables sent to getURI to be powers of 2
69
536
  - Dev: Add esbuild to `npm run serve-dev` @iisa
70
537
  - Fix: BookNavigator loaded after JSIAInit @cdrini
71
538
 
72
539
  # 4.39.3
540
+
73
541
  - Hotfix: Fix iOS 8 erroring since 4.39.0 @cdrini
74
542
 
75
543
  # 4.39.2
544
+
76
545
  - Dev: update Readme @Himanshunitrr
77
546
  - Dev: in-file typo fixes @cclauss
78
547
  - Fix: v5 booknav refresh @iisa @dualcnhq
548
+
79
549
  # 4.39.1
550
+
80
551
  - Dev: update Readme @Himanshunitrr
81
552
  - Fix: v5 bookmarks menu update @iisa @dualcnhq
553
+
82
554
  # 4.39.0
555
+
83
556
  - Feature: Mode1Up DPI awareness @cdrini
84
- - Introduces two new optional options: `ppi` and `PageData.ppi`
85
- - Potentially breaking change: zooming in Mode1Up will now zoom at different intervals
557
+ - Introduces two new optional options: `ppi` and `PageData.ppi`
558
+ - Potentially breaking change: zooming in Mode1Up will now zoom at different intervals
86
559
 
87
560
  # 4.38.0
561
+
88
562
  Dev: update dependencies @cdrini
89
563
  Dev: replace travis badge with GHA badge @cdrini
90
564
  Feature: Thumbnail/Gallery view reusing best scaled images @iisa
91
565
  Fix: simplify ImageCache dictionary @iisa
92
566
 
93
567
  # 4.37.0
568
+
94
569
  Fix: new ImageCache that keeps track of requested images & their scale factor @iisa
95
570
  Fix: 2up mode's use of ImageCache @iisa
571
+
96
572
  # 4.36.0
573
+
97
574
  Fix: More image caching - 2up, some sharing with thumbnail draw @iisa
98
575
 
99
576
  # 4.35.1
577
+
100
578
  Fix: 2up, `baseLeafCss` - use function to find "top" value @iisa
579
+
101
580
  # 4.35.0
581
+
102
582
  Fix: show text selection layer if word count is less than 2,500 @cdrini
103
583
  Fix: 2up, only resize spread if current image is better than next size @iisa
584
+
104
585
  # 4.34.0
586
+
105
587
  Fix: exist fullscreen will change to 2up if 2up is available @iisa
588
+
106
589
  # 4.33.0
590
+
107
591
  Fix: use optional `srcSet` in 1up mode @iisa
592
+
108
593
  # 4.32.0
594
+
109
595
  Fix: slim down prefetch group @iisa
110
- Fix: TTS caches xml @cdrini
596
+ Fix: TTS caches xml @cdrini
597
+
111
598
  # 4.31.0
599
+
112
600
  Dev: demo cleanup with @cdrini
113
601
  Fix: 2up - pass reduction factors when creating image urls @iisa
602
+
114
603
  # 4.30.0
604
+
115
605
  Fix: all view modes on desktop & view mode toggl on mobile are now default. @nsharma123
116
606
 
117
607
  # 4.28.0
608
+
118
609
  Fix: adding alt tags to images @nsharma123
610
+
119
611
  # 4.27.0
612
+
120
613
  Fix: update init function to use new flag `autoResize` @iisa
121
614
  Fix: images - `useSrcSet` flag to determine when we fill `srcSet` attribute @iisa
615
+
122
616
  # 4.26.1
617
+
123
618
  Patch: Text selection layer does not get made in thumbnail view @dualcnhq
619
+
124
620
  # 4.26.0
621
+
125
622
  Dev: move to Github actions @cdrini
126
623
  Dev: version bumps @dependabot
127
624
  Fix: Text selection layer gets created for first page, does not get created for last page @dualcnhq
128
625
 
129
626
  # 4.25.0
627
+
130
628
  Fix: Helper changes for stream redirection to read hash fragment params from URL @nsharma123
131
629
 
132
630
  # 4.24.0
631
+
133
632
  Fix: Bookreader layout when initialized in "ReadAloud" mode @nsharma123
134
633
 
135
634
  # 4.23.0
635
+
136
636
  Fix: first search result click now updates url @nsharma123
137
637
 
138
638
  # 4.22.0
639
+
139
640
  Fix: update non-asserted page labelling next to nav scrubber @iisa
140
641
 
141
642
  # 4.21.0
643
+
142
644
  - Fix: Search Plugin Updates (#556) @iisa
143
645
  - always display search results markers
144
646
  - update search results nav tap targets & style
@@ -148,15 +650,18 @@ Fix: update non-asserted page labelling next to nav scrubber @iisa
148
650
  - Dev: move search plugin test files to their own directory (#556) @iisa
149
651
 
150
652
  # 4.20.1
653
+
151
654
  - Fix: Handle empty dejavu.xml files in text selection plugin @iisa
152
655
 
153
656
  # 4.20.0
657
+
154
658
  - Dev: Update 9 dependencies (including webpack, sass, @babel/*) @dependabot-preview + @cdrini
155
659
  - Dev: Move dragscroll code into src @cdrini
156
660
  - Dev: Make webpack treat jquery as an external dependency @cdrini
157
661
  - Fix: Samsung Internet not loading BR on IA @cdrini
158
662
 
159
663
  # 4.19.0
664
+
160
665
  - Fix: `<br>` rendered in search panel @ArunTeltia
161
666
  - Fix: TTS speed dropdown has white text on white in Chrome @participator
162
667
  - Dev: Replace dependency copies with npm packages (jquery, jquery-ui, mmenu, colorbox, touch-punch, jquery.browser) @cdrini
@@ -169,39 +674,49 @@ Fix: update non-asserted page labelling next to nav scrubber @iisa
169
674
  - Fix: Text selection throwing error on page with index=-1 @cdrini
170
675
 
171
676
  # 4.18.7
677
+
172
678
  Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
173
679
 
174
680
  # 4.18.6
681
+
175
682
  - Fix: use fullscreen toggle flow when starting fullscreen (#499) @iisa
176
683
 
177
684
  # 4.18.5
685
+
178
686
  - Fix: Waits to resize until first result flipped to (#498) @shaneriley
179
687
 
180
688
  # 4.18.4
689
+
181
690
  - Fix: Adds data attribute to 2up page containers for side designation @shaneriley
182
691
  - Fix: Apdate interstitial modal to fixed with & clean up messaging @iisa
183
692
 
184
693
  # 4.18.3
694
+
185
695
  - Fix: Enrich context to search emitted events @iisa
186
696
  - Fix: Hides directional buttons and shows viewmode buttons on mobile viewports @shaneriley
187
697
 
188
698
  # 4.18.2
699
+
189
700
  - Fix: Search plugin fixes (#491) @shaneriley
190
701
 
191
702
  # 4.18.1
703
+
192
704
  - Fix: Skips subsequent creation of search views when setup called 1+n times @shaneriley
193
705
 
194
706
  # 4.18.0
707
+
195
708
  - Dev: Add eslint for `space-after-keywords`, `space-before-blocks`, `only-multiline` @Yashs911
196
709
  - Dev: Update eslint, sinon, @types/jest, testcafe, sass, webpack @dependabot-preview + @cdrini
197
710
  - Dev: Add 3 more files to eslint @Yashs911
198
711
  - Feature: New options for text selection plugin: single page DJVU XML url @cdrini
199
712
 
200
713
  # 4.17.0
714
+
201
715
  - Fix: text selection on Safari @cdrini
202
716
  - Feature: Search results navigation bar @shaneriley
203
717
 
204
718
  # 4.16.0
719
+
205
720
  - Dev: Emit custom event to trigger @iisa
206
721
  - Feature: Text selection plugin @Pyrojet99
207
722
  - Fix: Wrong openlibrary URL @cdrini
@@ -213,6 +728,7 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
213
728
  - Fix: HTML escaping to prevent XSS (#434) @nsharma123
214
729
 
215
730
  # 4.15.0
731
+
216
732
  - Dev: update lodash dependency @dependabot-preview + @cdrini
217
733
  - Dev: Moves /BookReaderDemo/index.html to /index.html (#394) @anirbansaha782
218
734
  - Fix: Prevents page flipping to last page if navigating to previous page from a book's cover (#419) @iisa
@@ -220,15 +736,19 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
220
736
  - Dev: Updates to e2e testing navigation model & base tests (#421) @iisa
221
737
 
222
738
  # 4.14.3
739
+
223
740
  - Fix: Zoom buttons missing on mobile + other chrome fixes (#416) @shaneriley
224
741
 
225
742
  # 4.14.2
743
+
226
744
  - Dev: Make npm package public (#414) @cdrini
227
745
 
228
746
  # 4.14.1
747
+
229
748
  - Dev: Automate npm publishing on github release (#409, #412) @cdrini
230
749
 
231
750
  # 4.14.0
751
+
232
752
  - Dev: Simplify webpack file (#373) @cdrini
233
753
  - Feature: One page/Two page/Thumbnail view now one button toggler (#375) @shaneriley
234
754
  - Fix: Advanced page demo broken (#383) @Pyrojet99
@@ -240,9 +760,11 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
240
760
  - Feature: New chrome for BookReader! (#381) @shaneriley
241
761
 
242
762
  # 4.13.1
763
+
243
764
  - Fix: Toc entries not showing page number on desktop (#369) @cdrini
244
765
 
245
766
  # 4.13.0
767
+
246
768
  - Fix: BookReader.unbind not actually unbinding (#360) @shaneriley
247
769
  - Dev: New demo with configurable IA id: `demo-internetarchive.html?ocaid=foo` (#356) @Pyrojet99
248
770
  - Dev: Add E2E tests for right-to-left books (#350) @Pyrojet99
@@ -251,6 +773,7 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
251
773
  - Feature: Table of contents panel in mobile view (#351) @Pyrojet99
252
774
 
253
775
  # 4.12.0
776
+
254
777
  - Fix: Test command for Windows users @cdrini
255
778
  - Dev: Autoplay e2e test @pyrojet99
256
779
  - Dev: Enable eslint for tests @Kartik1397
@@ -260,9 +783,11 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
260
783
  - Feature: Visual adjustments checkboxes on mobile @pyrojet99
261
784
 
262
785
  # 4.11.1
786
+
263
787
  - Fix: search urls now redirect to query parameter `q=foo` @mc2
264
788
 
265
789
  # 4.11.0
790
+
266
791
  - Dev: Add E2E tests for searching on desktop @Pyrojet99
267
792
  - Fix: Search result not highlighted when landing on page with matches @iisa
268
793
  - Dev: Remove console logs from jest tests @NayamAmarshe
@@ -274,28 +799,33 @@ Fix: update fullscreen toggle methods to fire behaviors in an expected way @iisa
274
799
  - Dev: Update codecov, iso-language-codes @dependabot-preview + @cdrini
275
800
 
276
801
  # 4.10.0
802
+
277
803
  - Fix: BR shouldn't change URL until the user interacts with the page @mc2
278
804
  - Feature: Add `startFullscreen` option to launch in fullscreen @shaneriley
279
805
  - Feature (beta): Preview pages can be swapped out with search pin clicking @cdrini
280
806
 
281
807
  # 4.9.0
808
+
282
809
  - Fix: -/+ buttons not zooming in Chrome @ishank-dev
283
810
  - Add chapters demo to e2e tests @ishank-dev
284
811
  - Make Travis testcafe runs less flaky @shaneriley
285
812
  - Pin npm version dependencies for consistent builds @cdrini
286
813
  - Standardize HTML structure for pages across view modes @shaneriley
287
- - WARNING: Some of the html elements/classes have changed. Potentially breaking change.
814
+ - WARNING: Some of the html elements/classes have changed. Potentially breaking change.
288
815
  - Feature (beta): Preview pages. Specifying `viewable: false` on pages causes them to render a preview image placeholder. @cdrini
289
816
  - Remove deprecated QUnit tests @Pyrojet99
290
817
  - Remove console.logs in test output @NayamAmarshe
291
818
 
292
819
  # 4.8.0
820
+
293
821
  - Adds customizable layout controls @shaneriley
294
822
 
295
823
  # 4.7.1
824
+
296
825
  - Add new parameters to analytics @bfalling
297
826
 
298
827
  # 4.7.0
828
+
299
829
  Big change: All of BookReader core is now compiled to es5, and a large number of
300
830
  chunks have been re-written in es6. Care has been taken to ensure no public APIs
301
831
  have changed, but note this was a big change.
@@ -305,6 +835,7 @@ have changed, but note this was a big change.
305
835
  - Increase testcafe coverage; @iisa @shaneriley
306
836
 
307
837
  # 4.6.0
838
+
308
839
  Big change: all the plugins are now written in es6, and compiled to es5. There should
309
840
  be no observable changes, but note this was a big change.
310
841
 
@@ -318,57 +849,71 @@ be no observable changes, but note this was a big change.
318
849
  - Add `npm run serve-dev` for auto-watching + auto-refreshing dev server; @cdrini
319
850
 
320
851
  # 4.5.1
852
+
321
853
  - Fix: Click-to-flip now works in 2up mode zoomed in
322
854
  - Fix: Image panning sometimes not working
323
855
  - Fix #144: Hamburger icon only clickable on lines
324
856
  - Add TestCafe support
325
857
 
326
858
  # 4.5.0
859
+
327
860
  - ReadAloud now supports jumping backwards
328
861
  - Pressing -/= (or -/+ on numpad) zooms out/in
329
862
  - FIX #179: ReadAloud now ignores hyphens between lines
330
863
 
331
864
  # 4.4.2
865
+
332
866
  - more robust menu toggle plugin, working well with zoom & panning around in zoom
333
867
  - more tests
334
868
 
335
869
  # 4.4.1
870
+
336
871
  - Remove accidental es6 syntax in BookReader.js (breaking IE11)
337
872
 
338
873
  # 4.4.0
874
+
339
875
  - New ReadAloud controls + engine. Uses browser's SpeechSynthesis API instead of server-side test-to-speech
340
876
 
341
877
  # 4.3.2
878
+
342
879
  - menu toggle plugin, now applies to in-page & fullscreen views + early escapes when navbar isn't present
343
880
 
344
881
  # 4.3.0
882
+
345
883
  - New plugin, `fullscreen_menu_toggle`, allowing center-tap to hide UI
346
884
  - TTS Plugin logs analytics events (if enabled)
347
885
  - ES6 compilation step no longer performed on client; build files are included in repo so clients have no build step
348
886
 
349
887
  # 4.2.5
888
+
350
889
  - Large refactor of plugin.tts.js
351
- - ES6 compliation step
890
+ - ES6 compilation step
352
891
  - Known bug: Clicking on page while TTS is playing won't stop the playback
353
892
 
354
893
  # 4.2.4
894
+
355
895
  - Skips initialization of vendor fullscreen plugin when on a mobile device
356
896
 
357
897
  # 4.2.3
898
+
358
899
  - Creates vendor native fullscreen plugin and example use page
359
900
 
360
901
  # 4.2.2
902
+
361
903
  - Adds options for flipSpeed and flipDelay, the latter used for autoplay
362
904
 
363
905
  # 4.2.1
906
+
364
907
  - Fix rapid reload bug from thumbnail view
365
908
 
366
909
  # 4.2.0
910
+
367
911
  - Add eslint
368
912
  - Fix issue analytics plugin
369
913
  - Make the page display more extendable by splitting it into two functions
370
914
 
371
915
  # 4.1.0
916
+
372
917
  - Change BookReader.js function comments to JSDoc
373
918
  - Move autoplay feature into an optional plugin
374
919
  - Change the format of the current page string in the navbar. eg "1 / 100 (Cover)"
@@ -376,10 +921,12 @@ be no observable changes, but note this was a big change.
376
921
  - Simplify BookReader.prototype.init
377
922
 
378
923
  # 4.0.1
924
+
379
925
  - Add options.navBarTitle, which gets shown to the left of the scrubber.
380
926
  - Fix issue where there was a 1px border on cover leafEdge
381
927
 
382
928
  # 4.0.0
929
+
383
930
  V4 was driven by updating BookReader to work inline on the archive.org details page. This required code refactoring (eg: changing ids to classes), and also updating the design so it integrates well within the details page theatre section.
384
931
 
385
932
  - BookReader selectors made relative to BookReader. This means it shouldn't interfere with parent page, and also more than one BookReader instance can be on the page.
@@ -389,9 +936,11 @@ V4 was driven by updating BookReader to work inline on the archive.org details p
389
936
  - In transition: JavaScript code is formatted with 2 spaces instead of 4
390
937
 
391
938
  # 3.2.1
939
+
392
940
  - Fix so initParams normalizes params.page to params.index, to prevent complexity of priority of page versus index.
393
941
 
394
942
  # 3.2.0
943
+
395
944
  On Archive.org, we needed a way to pass in a default start page for books. These changes make that easier.
396
945
 
397
946
  - Update the way bookreader inits from various params contexts
@@ -400,26 +949,33 @@ On Archive.org, we needed a way to pass in a default start page for books. These
400
949
  - Update to handle both params.index and params.page when provided in defaults. Separate page parsing into separate method.
401
950
 
402
951
  # 3.1.0
952
+
403
953
  - Add new IFrame plugin to enable two-way communication between a BookReader inside an `<iframe>` and its parent window.
404
954
  - Move the `paramsFromCurrent`, `paramsFromFragment`, and `fragmentFromParams` methods back into BookReader core and out of the URL Plugin. This change should be backwards-compatible with previous versions.
405
955
  - Fire a new event, `fragmentChange`, on BookReader when the reader’s state changes.
406
956
 
407
957
  # 3.0.8
958
+
408
959
  - Add additional tracking event when view changes
409
960
 
410
961
  # 3.0.7
962
+
411
963
  - Fix: Assign options.titleLeaf to this.titleLeaf
412
964
 
413
965
  # 3.0.6
966
+
414
967
  - Another fix for plugin.search.js. The path GET param should not have a trailing slash.
415
968
 
416
969
  # 3.0.5
970
+
417
971
  - Hotfix for plugin.search.js. Fixes issue where search results were not rendered on page flip.
418
972
 
419
973
  # 3.0.4
974
+
420
975
  - Hotfix for plugin.search.js. Fixes fulltext search for some books on Archive.org
421
976
 
422
977
  # 3.0.3
978
+
423
979
  - Add more options: showToolbar, showLogo
424
980
  - Add this.options field, which stores the options last used in setup call
425
981
  - Improve `_getDataFlattened` to have simple cache breaker
@@ -428,14 +984,16 @@ On Archive.org, we needed a way to pass in a default start page for books. These
428
984
  - Move constants out of instance, and into class (eg BookReader.constMode1up)
429
985
 
430
986
  # 3.0.2
987
+
431
988
  In the process of upgrading IA, to use the new BookReader API, more changes/fixes were made.
432
989
 
433
990
  - Separate default options into BookReader.defaultOptions. This allows clients which use Internet Archive's JSIA endpoint (see demo-ia-plato.html) to have a hook into changing options. Also update plugins, to extend defaultOptions instead of modifying options in setup functions.
434
- - Add BookReader.version, which helps IA support older versions in the JSIA endpoint (eg https://archive.org/bookreader/BookReaderJSLocate.php?id=theworksofplato01platiala&subPrefix=theworksofplato01platiala).
991
+ - Add BookReader.version, which helps IA support older versions in the JSIA endpoint (eg <https://archive.org/bookreader/BookReaderJSLocate.php?id=theworksofplato01platiala&subPrefix=theworksofplato01platiala>).
435
992
  - Bring some IA-specific code into plugin.chapters.js
436
993
  - Add more options that were previously missed (protected, olHost, subPrefix, bookPath, zip, imageFormat, bookId). These are mostly for plugins. If you intend on using any of the plugins, you can see the full config options there.
437
994
 
438
995
  # 3.0.1
996
+
439
997
  - Fix issue setting info and share dialogs
440
998
 
441
999
  # 3.0.0 Major Release
@@ -446,12 +1004,12 @@ Changes include:
446
1004
 
447
1005
  - Make BookReader easier to use, by adding `options` to the constructor, and adding new `options.data` option. The old way of overriding properties should still work, but it is deprecated. With `options.data`, all BookReader needs is the image URLs and dimensions. To have dynamic image URLs (eg for scaling), omit the URL from `options.data`, and include `options.getPageURI`.
448
1006
  - Factor out extra features into plugins. See `plugins` directory. Example plugins include:
449
- - plugins.chapters.js - render chapter markers
450
- - plugins.search.js - add search ui, and callbacks
451
- - plugins.tts.js - add tts (read aloud) ui, sound library, and callbacks
452
- - plugins.url.js - automatically updates the browser url
453
- - plugins.resume.js - uses cookies to remember the current page
454
- - plugins.mobile_nav.js - adds responsive mobile nav to BookReader
1007
+ - plugins.chapters.js - render chapter markers
1008
+ - plugins.search.js - add search ui, and callbacks
1009
+ - plugins.tts.js - add tts (read aloud) ui, sound library, and callbacks
1010
+ - plugins.url.js - automatically updates the browser url
1011
+ - plugins.resume.js - uses cookies to remember the current page
1012
+ - plugins.mobile_nav.js - adds responsive mobile nav to BookReader
455
1013
  Note that there is minor overhead added when loading multiple script tags. If this is a concern, a build step, can be used to concatenate the files into a single JS file.
456
1014
  - Clean up code: Remove a lot of commented-out code. Remove some unused methods.
457
1015
  - Change some, but not all, CSS ids to classes.
@@ -460,17 +1018,21 @@ Note that there is minor overhead added when loading multiple script tags. If th
460
1018
  - BREAKING: If features that are now in plugins were used, the plugin's JS file will need to be included as well. Note, we would also like to separate the CSS into a separate file for the next major release.
461
1019
 
462
1020
  # 2.1.0
1021
+
463
1022
  - Add auto mode to 1up autosize (in addition to height and width)
464
1023
  - Remove the old responsiveAutofit (which is not needed anymore)
465
1024
 
466
1025
  # 2.0.2
1026
+
467
1027
  - Fix regex issue when searching
468
1028
  - Make the search api endpoint configurable
469
1029
 
470
1030
  # 2.0.1
1031
+
471
1032
  - Add package.json and CHANGELOG
472
1033
  - Remove more IA-specific code
473
1034
 
474
1035
  # 2.0.0
1036
+
475
1037
  - Major release
476
1038
  - Many changes from updated Archive.org bookreader brought back to this open source project.