UNPKG

93.9 kBMarkdownView Raw
1- till 0.1.3 initial version based on the embeddable PDF-Viewer https://github.com/legalthings/pdf.js-viewer
2- 0.2.0 use Mozilla's pdf.js (https://github.com/mozilla/pdf.js) directly. Update to pdf.js 2.0.641.
3- 0.2.1 minor bugfixes
4- 0.2.2 Make the library compatible to the `--prod` build; improve the CSS locality
5- 0.3.0 Solved the timing issue; added options for internationalization; improved the documentation
6- 0.3.1 improved the documentation
7- 0.3.2 stop registering event listeners multiple times if the component is used multiple times; tentative bugfix that occurred when switching from a file with few thumbnails (i.e. pages) to another instance of the viewer showing a file with many thumbnails
8- 0.3.3 removed debug code and solved the bug causing crashing when switching to a new instance of <ngx-extended-pdf-viewe>
9- 0.3.4 removed debug code
10- 0.9.0 added options to hide every button from the UI
11- 0.9.1 tried to add a screenshot to the readme file
12- 0.9.2 managed to add a screenshot to the readme file
13- 0.9.3 removed debug code
14- 0.9.4 improved the documentation
15- 0.9.5 recompiled with Angular 7 and updated the peer dependencies, allowing for both Angular 6 and 7
16- 0.9.6 updated to pdf.js 2.0.943; added more language files; fixed a bug preventing loading the language defined in a script tag for many language; repaired the parameter `[showSidebarButton]`; fixed broken i18n on OSX Chrome 70 by adding several translations for languages without region specifier (such as "es" instead of "es-ES")
17- 0.9.7 fixed the CSS file (font size and margins accidentially spilled to the surrounding page); corrected the link to the bug tracker
18- 0.9.8 make the option `[showSidebarOnLoad]` configurable; plus, don't load a sidebar if `[showSidebarButton]="false"`. Kudos go to GitHub user AlexandrosG. Stop the PDF viewer from crashing if the page is left before the PDF is rendered (issue #9). Kudos go to GitHub user Max Dertcaf. Prevent auto-completion in the search input field because it sometimes shows user names and email addresses (#8). Kudos go to Paul Kocher. Also added the optional property `[zoom]`.
19- 0.9.9 added the attribute `[mobileZoom]`; repaired the paginator buttons after hiding and re-displaying the PDF viewer; reduced the memory leaks of the `pdf.js` viewer (work in progress); documented how to use ngx-extended-pdf-viewer with tabs
20- 0.9.10 adjust the position of the document and the thumbnails after increasing the size of the toolbar via `[mobileZoom]="200%"`; implemented the two-way-binding of the `[zoom]` attribute
21- 0.9.11 Now the `[zoom]` attribute is also respected when a new document is loaded in the same instance of the PDF viewer
22- 0.9.12 fixed the IE11 compatibility of `[mobileFriendlyZoom]` (dirty hack / temporary solution); correct positioning of the findbar when the sidebar is disabled
23- 0.9.13 Added some documentation about how to use a `Blob` (e.g. a PDF file downloaded from the server); fixed #21 (progress bar wouldn't hide on any instance of `<ngx-extended-pdf-viewer>`except for the fist instance)
24- 0.9.14 #24 fixed the IE11 compatibility of `[zoom]`
25- 0.9.15 #27 removed the "j" hidden in the HTML code; updated to PDF.js 2.1.266; # fixed a few bugs in the library README.md and mentioned it in the README.md of the root project; #37 mentioned the memory footprint; #39 updated / corrected the "how to build" instructions
26- 0.9.16 #45 allow percentage for the `height` option
27- 0.9.17 #40 added an option for the hand tool; #48 improved the documentation concerning Bootstrap; the `[zoom]` attribute now reacts to changes after loading the PDF viewer (previously: only at load time)
28- 0.9.18 #49 documented IE11 compatibility with polyfills; #25 implemented the two-way binding attribute `[(page)]` to select the page to display
29- 0.9.19 #35 add an option to override the default file name after clicking the "download" button; #34 implemented (pagesLoaded); fixed the `[page]` attribute which always showed page 13 on startup; reduced the timeout to set the initial `[page]`; removed debug code
30- 0.9.20 #55 if the setting `"height=100%"` results in a container with 0 pixels height, the PDF viewer automatically resizes to fill all available space.; #38 initial support for `[(spread)]` (work in progress!)
31- 0.9.21 #56 made the `[src]` attribute more flexible. Now it also accepts `Blobs`, `Uint8Arrays`, and `ArrayBuffers`. Also added a new attribute, `[base64Src]`, to display PDFs encoded as base64 encoded strings
32- 0.9.22 #29 `[backgroundColor]` can now be set to "white" or "#ffffff". Until 0.9.21, pdf.js always converted white to off-white. I am still trying to understand what is going on, so there might be side-effects. However, my tests did not reveal such side-effects yet.
33- 0.9.23 #38 fixed the `[spread]` attribute, and made the `[height]` property more reliable
34- 0.9.24 #57 added the documentation to get the PDF viewer up and running on JHipster
35- 0.9.25 fixed the formatting of the README file
36- 0.9.26 mentioned the showcase; added the missing documentation of (pagesLoaded); updated to Angular 8.0.0-rc.4
37- 0.9.27 updated to Angular 8.0.0-rc.5; reduced the z-indices
38- 0.9.28 #72 added `[password]`
39- 0.9.29 #51 added `[nameddest]`; #71 added `listenToURL` and deactivate the hash listener by default
40- 0.9.30 #38 improved the attribute `[spread]`; now it works's more reliable (although it's still not perfect, because sometime the PDF file is already shown before applying the correct spread mode); also successfully tested `(spread)`. Now `[(spread)]` is a two-way-binding attribute.
41- 0.9.31 #60 added the attribute `language` and repaired the language resolution algorithm
42- 0.9.32 #81 implemented `(pageRendered)`
43- 0.9.33 #82 sometimes the code initializing the app is called before the app is completely configured. Added code to deal with both early and late calls.
44- 0.9.34 #12 fixed a minor memory leak.
45- 0.9.35 #67 revisited: reduced the `z-index` of the toolbar to 7. Now every `z-index` is below 11.
46- 0.9.36 `[mobileFriendlyZoom]` can now also be 'true' (= '150%') or 'false' (= '100%'); #85 now the zoom buttons are hidden if you want them to be hidden, even if you're using an iPad
47- 0.9.37 #85 reverted the bugfix because it's a bug itself
48- 0.9.38 #85 addressed the real bug: now the pdf viewer toolbar is responsive on small screen even if the pdf viewer covers only part of the screen width
49- 0.9.39 fully automated the process to update to a new version of `pdf.js`; added `pdf.js 2.2.222` as an optional preview version; added pull request #76 (additional null checks and type checks)
50- 0.9.40 #84 fixed `[zoom]` (didn't work on page load)
51- 0.9.41 #33 implemented a service to call `find()`, `findNext()`, and `findPrevious()` programatically
52- 0.9.42 #33 added the documentation for the `find()` service and published `NgxExtendedPdfViewerService` (possibly work in progress)
53- 0.9.43 #86 compile the library with Angular 7 because compiling it with Angular 8 breaks backward compatibility
54- 0.9.44 #87 wait until the localization event has been fired before opening a PDF file
55- 0.9.45 #87 added error messages to make `useBrowserLocale` less confusing
56- 0.9.46 #90 fixed the default value of `[zoom]`; corrected the documentation
57- 0.9.47 #88 deactivate the text layer by default; it's only active if `[showHandToolButton]="true"`; removed `[showSelectToolButton]` in favor of `[showHandToolButton]`; optimized the way the PDF viewer is configured; breaking change: `[showHandTool]` now is false by default, while `[handTool]` is true by default
58- 0.9.48 #95 if the user defines a button to be hidden, it should remain hidden even if responsive design indicates there's enough space to show it.
59- 0.9.49 #91 one of the validation checks introduced with 0.9.45 stumbled over a DOM node added by ngx-extended-pdf-viewer itself; 0.9.49 fixes that
60- 0.9.50 #86 documented how to use ngx-extended-pdf-viewer with Angular 5 / Ionic 3; updated the preview version of `pdf.js` to 2.2.222 and replaced the ES5 version of these files by the debugger-friendly ES2016 version
61- 0.9.51 #80 changed the change detection strategy to "on push" to reduce CPU load. Mentioned that the "find" function become slow in very large documents (above 10 MB and 500 pages).
62- 0.9.52 #96 starting with 0.9.47, the attribute `filenameForDownload` was partially broken. 0.9.52 fixes that.
63- 0.9.53 #101 stop overwriting `window.print()` by renaming `print()` to `printPDF()`. This is an experimental feature, so currently only the preview JS file `viewer-2.2.222.js` is modified. The 2.1 file is going to be changed after checking for detrimental side-effects.
64- 0.9.54 Updated to `pdf.js 2.2.226`. #101 now the print service of the PDF viewer is properly deactivated when the `<ngx-extended-pdf-viewer>` widget is detroyed. Standard printing is reactivated. Also see https://github.com/mozilla/pdf.js/issues/10948 and https://github.com/mozilla/pdf.js/issues/10946
65- 0.9.55 #103 finished the migration of responsive design to JavaScript in order to support PDF viewers that have less then the full window width available; added the flag ignoreResponsiveCSS to allow users to deactivate this features; set the flag `[ignoreResponsiveCSS]` to sensible default values depending on the available window width
66- 1.0.0-rc.1 #103 implemented the ngOnChanges bit of `[ignoreResponsiveCSS]` so the showcase can demonstrate the effect of returning to the CSS-only approach
67- 1.0.0-rc.2 #105 when the user downloads a document, the event `(pdfDownloaded)` is fired. #104 fixed the print overlay which didn't work after creating a second instance of the pdf viewer. Updated the JavaScript files from version 2.1.266 to 2.2.228 of Mozilla's PDF viewer.
68- 1.0.0-rc.3 #17 reduced the memory leak
69- 1.0.0-rc.4 #113 added an option to suppress the context menu when the right-hand side button is clicked
70- 1.0.0-rc.5 #113 restored IE11 compatibility by adding the ES5 files `pdf-es5.js`, `pdf-worker-es5.js`, and `viewer-es5.js`. #115 now `[mobileFriendlyZoom]` also works on Firefox.
71- 1.0.0-rc.6 #116 now text selection works when `[handTool]="false"` and `[showHandToolButton]="false"`
72- 1.0.0-rc.7 #118 corrected the width and the position of the secondary toolbar (which was broken by fixing #115 in 1.0.0-rc.5). Tested with Firefox, Chrome, and Safari on OSX. IE11 compatibility is yet to be tested, it may or may not be broken.
73- 1.0.0-rc.8 #118 tested with Edge and IE11. Removed the temporary IE11 hacks. Fixed a bug with `mobileFriendlyZoom="1.7"` (using floating point numbers instead of percentages resulted in layout glitches).
74- 1.0.0-rc.9 #117 added the SVG images to the assets folder; introduced `imageResourcesPath` to allow for even more flexibility
75- 1.0.0 minor formatting improvements in the README file
76- 1.0.1 #124 made the CSS selector of the progress bar more specific
77- 1.0.2 #120 made `[page]` more reliable; sometimes the initial setting was ignored when the page loads slow
78- 1.1.0 #125 added `(currentZoomFactor)`; `(zoomChanged)` now also fires when the user selects "auto"
79- 1.1.1 #126 up/down keypress shouldn't move the focus away from the current input field.
80- 1.2.0 #127 add an option for setting the print resolution; #126 bugfix (forgotten `this` keyword); #129 added `(afterPrint)` and `(beforePrint)`
81- 1.3.0 #130 add the events `pdfLoaded` and `pdfLoadingFailed`. Thanks a lot to Taras Mogilyak for providing this pull request!
82- 1.3.1 #135 `[base64Src]` now redraws the PDF file when the input has changed; #126 up/down keypress shouldn't move the focus away from the current input field (didn't work in all cases);
83- 1.4.0 #134 implemented `[(rotation)]`; #133 implement (src)
84- 1.5.0 #136 fixed the configuration so it's possible to use the service worker thread; #132 added `(handTool)`; #131 added `[(sidebarVisible)]`
85- 1.5.1 #136 made the `defaultOptions` accessible to IE11 users can configure the worker thread URL; fixed the error message "Invalid pages rotation angle."
86- 1.5.2 #142 now the PDF viewer can be used in a form
87- 1.5.3 #148 override any custom settings of `overflow-y` on `<html>` and `<body>` when printing (because `overflow-y: hidden` used to clip the print output); preliminary fix of #147
88- 1.6.0-rc.0 continued fixing #147: modified behaviour of (page); make a difference between [(page)] and [(pageLabel)];
89- 1.6.0-rc.1 #150 stop loading a generic translation file (e.g. "en.properties") if there's a more specific translation file (e.g. "en-GB.properties")
90- 1.6.0-rc.2 #150 stop loading a generic translation file (e.g. "en.properties") if there's a more specific translation file (e.g. "en-GB.properties") (this time for real)
91- 1.6.0 #137 Now both `(currentZoomFactor)` and `(zoomChange)` react to the keyboard events CTRL + "+" and CTRL + "-". Caveat: after selecting one of the text settings of the dropdown menu (i.e. "page fit", "actual page", and so on), the `(zoomChange)` event fires twice. Another caveat: this change might be a breaking change (although I don't think so, but it's a major internal change).
92- 1.6.1 #152 now the viewer can print even if it's embedded in a Bootstrap modal. Most likely, this also fixes problems with other frameworks.
93- 1.6.2 #152 improved compatibility with Bootstrap (and many other scenarios). Now the sidebar does show on the left-hand side of the PDF viewer when it's hidden. Plus, the box model of the sidebar now is always the browser default (i.e. "content-box"), even if Bootstrap or another framework tries to modify that.
94- 1.7.0 Announced compatiblity to Angular 9. #154 added a polyfill for IE11.
95- 1.7.1 #143 Prevent Angular Material's MatDialog messing up printing.
96- 1.7.2 #160 improved the confusing message "no resource to load, early way out"
97- 1.7.3 #149 implement `[ignoreKeyboard]`, `[ignoreKeys]`, and `[acceptKeys]`; #165 prevent the `ExpressionChangedAfterItHasBeenCheckedError` when the page width changes
98- 1.7.4 #149 improved `[ignoreKeyboard]`, `[ignoreKeys]`, and `[acceptKeys]` with more key bindings; started to document the feature at https://pdfviewer.net/keyboard
99- 1.7.5 #149 improved `[ignoreKeys]` and `[acceptKeys]` with more key bindings and with multiple modifiers (such as CTRL+ALT+G)
100- 1.7.6 #167 restrict the list of files that can be opened in the "open file" dialog to PDF files (can be overwritten by the user, so that's no breaking change)
101- 1.7.7 #169 fix a Angular 9.0.0-rc.1 bug by removing the context menu additions of the presentation mode that were only visible in Firefox (`menuitem` is a defined tag in Firefox, but not in Chrome or Safari, and the current RC1 of Angular gets confused by that)
102- 1.8.0-rc.0 update to pdf.js 2.3.200; #168 and #170 fix printing (was broken after updating to pdf.js 2.3.200; stop printing empty pages at the end)
103- 1.8.0-rc.1 #171 added preliminary support for displaying signature. Published it as an RC because this pdf.js feature is experimental, so there should be an option that switches the feature off by default. This is going to land in 1.8.0.
104- 1.8.0-rc.2 #171 implemented `showUnverifiedSignatures`
105- 1.8.0-rc.3 #171 bugfixes and #168 updated the IE11 versions of the JavaScript files to pdf.js 2.3.200
106- 1.8.0 #178 fixed [sidebar]; deprecated [sidebarOnLoad]; #177 added an option to ignoring accents and diacritics to the find dialog; #162 added more options to the `NgxExtendedPdfViewerService.find()`
107- 1.8.1 #184 added the parameter `logLevel` and improved font-related messages; #186 added "ngx-extended-pdf-viewer" to the startup-message; #162 the new options parameters of `find()` should have a default value
108- 1.8.2 #183 implemented `(updateFindMatchesCount)` and `(updateFindState)`
109- 1.8.3 #187 add `textLayer` to enable users to activate the text layer even if `[handTool]="true"`; #185 added lodash.deburr to the library (so now it should be added automatically to your node_modules folder)
110- 1.8.4 #187 hide the "find" button and the "selection mode / hand tool" menu when the text layer is disabled; report a warning on the JavaScript console if the settings of `textLayer` and `showFindButton` / `[handTool]` / `[showHandToolButton]` don't match to each other
111- 1.8.5 #177 added a few custom translations
112- 2.0.0-alpha.0 #188 load the pdf.js files lazily by default; #186, #179, and #157 refactor the HTML code in order to make it easier to customize the toolbar (work in progress)
113- 2.0.0-alpha.1 #194 add an option to display the PDF file without the border. Kudos to Balaji Sivaraman for contributing this pull request!
114- 2.0.0-alpha.2 #194 renamed the option to `[showBorders]="'true'"`. Kudos to Balaji Sivaraman for contributing this pull request!
115- 2.0.0-alpha.3 #201 added an option to find multiple texts.
116- 2.0.0-alpha.4 #201 improved the option to find multiple texts and added the programmatic API
117- 2.0.0-alpha.5 #201 polished the option to find multiple texts
118- 2.0.0-alpha.6 #206 fixed a bug that prevented the findbar from being shown; running the search again when opening the find bar for the second time
119- 2.0.0-alpha.7 #205 emit the error listener `(pdfLoadingFailed)` even if the user loads a buggy PDF file later (using the UI) (potentially breaking change)
120- 2.0.0-alpha.8 #208 add the CMAP files required by some PDF files written in East Asian languages
121- 2.0.0-alpha.9 #193 suppress or enable zooming with the mouse wheel via the keyboard settings `[acceptKeys]` and `[ignoreKeys]`
122- 2.0.0-alpha.10 #193 suppress or enable zooming with the mouse wheel via the keyboard settings `[acceptKeys]` and `[ignoreKeys]`; #179 and #159 preliminary support for customizing the UI
123- 2.0.0-alpha.11 #211 remove the gloss effect of the zoom dropdown in Safari; remove the duplicate drop-down-arrays (which may or may not have been caused by updating @angular/material)
124- 2.0.0-alpha.12 #213 compatibility to Angular Universal
125- 2.0.0-alpha.13 #179 and #159 preliminary support for customizing the UI (activated [customFindbarButtons])
126- 2.0.0-alpha.14 #179 and #159 improved support for customizing the UI (`[customToolbar]`, `[customFindbarButtonscustomFindbarInputArea]`, `[customSecondaryToolbar]`). If everything went according to the plan, you shouldn't notice any difference unless you're using the new features.
127- 2.0.0-alpha.15 #179 and #159 add the new components to the public API
128- 2.0.0-alpha.16 #226 prevent a NPE that sometimes shows when the PDF viewer is hidden and shown again.
129- 2.0.0-alpha.17 #227 add `[enablePrint]`. Setting this options prevents printing entirely.
130- 2.0.0-alpha.18 #179 and #159 add dummy versions of missing widgets automatically to make customization easier
131- 2.0.0-beta.0 #186 replaced some toolbar icons by Material Design icons to distinguish the design from the native Firefox PDF viewer
132- 2.0.0-beta.1 #192 add interfaces for the underlying PDF viewer; #186 reduced the margins and paddings around the buttons
133- 2.0.0-beta.2 #186 fixed the positions of the secondary menu, the findbar, and the sidebar that were broken in the mobile-friendly view
134- 2.0.0 #228 removed the obsolete peer dependency to lodash.deburr that confused yarn
135- 2.1.0-beta.0 #200 added a smart algorithm to detect when to show or hide the secondary menu button (the kebab at the right-hand-side). This algorithm also copes with custom toolbars.
136- 2.1.0-beta.1 #200 fixed the functionality introduced with the previous beta version. Plus, stop overwriting the attribute `[showSecondaryMenu]` by a calculated value. So developers have better control over when to show or hide the secondary menu kebab button.
137- 2.1.0 #200 removed debug code, and added extra code to hide the secondary toolbar reliably on startup it it's empty.
138- 2.1.1 #200 simplified and improved the implementation
139- 2.1.2 #237 fixed the circular dependency introduced with #200
140- 2.2.0-beta.0 #235 tentative implementation of the rotate buttons (preliminary implementation; icons are subject to change)
141- 2.2.0-beta.1 #235 tentative implementation of the rotate buttons (preliminary implementation)
142- 3.0.0-beta.0 #233 update to pdf.js 2.4.456; #235 shifted several buttons from the kebab menu to the main toolbar if available real estate allows; #239 fixed `(zoom)` (textual values like `auto`, `page-width`, `page-fit`, and `page-actual` should never be overwritten by numeric values)
143- 3.0.0-beta.1 #241 calculate the tab index programmatically; #233 made the find buttons visible again
144- 3.0.0-beta.2 #239 improved IE11 compatibility; #246 fixed a broken SVG image; #235 activate or deactivate buttons depending on the UI state in IE11
145- 3.0.0-beta.3 #248 IE11 compatibility
146- 3.0.0-beta.4 #248 update the state of the "first page", "last page", and the "rotate page" buttons
147- 3.0.0-beta.5 #253 corrected a wrong interface; #251 slightly improved icon alignment (but responsive CSS is still broken with certain resolutions, so it's subject to change)
148- 3.0.0-beta.6 #235 improved and simplified the responsive CSS; got rid of the property `[ignoreResponsiveCSS]`
149- 3.0.0-beta.7 #235 hide and show the hand tool button and the select tool button only if the text layer is available
150- 3.0.0-beta.8 #251 better alignment of the zoom select box; #256 prevent NPEs
151- 3.0.0 #235 remove dynamic CSS when the component is destroyed; got rid of an accidental deep import of the rxjs Subject
152- 3.0.1 #260 bugfix: remove dynamic CSS properly
153- 3.1.0 #266 added `(textlayerRendered)`
154- 3.2.0 #266 renamed `(textlayerRendered)` to an all camel-case `(textLayerRendered)` (while keeping the old variant to avoid a breaking change); #269 prevent a crash when the search term consists of a single empty line (i.e. if it equals `"\n"`)
155- 3.2.1 #261 improved compatiblilty to the pre-Chromium versions of Microsoft Edge
156- 3.2.2 #257 allow for custom toolbars without zoom dropdown
157- 3.2.3 #278 fixed an accidental deep import
158- 3.2.4 #284 support custom deploy URLs (i.e. `<base href="/some-path">`)
159- 3.2.5 #277 prevent the password manager of the browser from activating when there's no password or when the PDF file is hidden; #262 added the `LinkTarget` interface
160- 3.2.6 #268 added the type definition for the `(textLayerRendered)` event; #286 mark toggled button in the primary toolbar
161- 3.2.7 #288 added `Blob` to the list of type of `[src]`
162- 3.3.0 #265 added `enablePinchOnMobile` (experimental / work in progress); #290 added `pdf-hand-tool` and `pdf-select-tool` to the public API; #289 added an error message if zone.js is outdated
163- 3.3.1 #290 added `pdf-hand-tool` and `pdf-select-tool` to the public API
164- 3.3.2 #294 added a check if the DOM element is there before checking its height; added a few fields to the `IPDFViewerApplication` interface
165- 3.3.3 #294 accept string values for `[page]`
166- 3.3.4 #325 fixed an IE5 bug that disabled the "find" feature
167- 3.3.5 #293 fixed the event `(zoomChange)`
168- 3.4.0 #285 added an option to use the developer version of pdf.js 2.5 in order to display images correctly
169- 3.4.1 #285 fixed a misleading typo of the readme file
170- 3.4.2 #329 fixed the layout glitch of the zoom select box on IE11
171- 3.4.3 added an API for version numbers
172- 3.5.0 #243 added an option to limit the print range
173- 3.5.1 #243 fixed the print button and the key binding CTRL+P; added an API to set the print range for the print button and for CTRL+P
174- 3.6.0 updated to pdf.js 2.5.207; removed the pdf.js 2.5 folder and replaced it with a 2.6 folder
175- 3.7.0 #234 shift the "next page" / "previous page" buttons to the secondary toolbar on small screens
176- 3.7.1 #234 disable the "previous/next" page menu item of the secondary toolbar more reliable
177- 3.7.2 fixed a typo preventing IE5 and Edge from printing
178- 4.0.0.alpha.0 #304 implemented a prototype of fuzzy search; start building pdf.js from a custom fork (https://github.com/stephanrauh/pdf.js); added source maps pointing to the original pdf.js source code; add minified files and load them by default; add [minified] to allow users to load the non-minified files
179- 4.0.0.alpha.1 fixed a bug that happened when combining "find ignore diacritics" and "find multiple words"
180- 4.0.0.alpha.2 #337 bugfix: disable the "previous/next" page menu item of the secondary toolbar when reaching the first / last page; #344 fixed the position of the findbar when the mobile-friendly zoom is active
181- 4.0.0.alpha.3 #348 added the changelog to the npm package
182- 4.0.0.alpha.4 #341 added an API to extract PDF pages as image or text
183- 4.0.0.alpha.5 #357 fixed IE11 compatibility (was broken by the fuzzy search)
184- 4.0.0.alpha.6 #385 added a programmatic API to the fuzzy search; #376 added `pdfDefaultOptions.assetsFolder` to allow for custom project directories; added the "bleeding edge" developer branch of pdf.js; renamed `defaultOptions` to `pdfDefaultOptions` (breaking change!)
185- 4.0.0.alpha.7 #360 tentative implementation of `[authentication]` (subject to change!)
186- 4.0.0.alpha.8 #360 another tentative implementation of `[authentication]` (subject to change!)
187- 4.0.0.alpha.9 #360 renamed `authentication` to `authorization` and added the attribute `httpHeaders` (subject to change!)
188- 4.0.0.alpha.10 #394 pass `authorization`, `httpHeaders`, `password`, and `logLevel` when `[src]` is changed (earlier versions forgot to send the options after loading the initial PDF files with the options)
189- 4.0.0.alpha.11 #341 the extract image / extract text API now uses Promises, so you can use it with async/await.
190- 4.0.0.alpha.12 #387 + #367 customizable `[zoomLevels]`; #387 added an additional browser check to select ES5 on iOS 12.4.5; #398 added `PDFDataRangeTransport` to the type list of `[src]`
191- 4.0.0.alpha.13 #387 + #367 added `[minZoom]` and `[maxZoom]`; updated the "bleeding edge" branch to the latest changes of pdf.js
192- 4.0.0.alpha.14 #387 if the zoom exceed the maximum canvas size supported by the browser, reduce it to the maximum the browser displays; moved loading the pdf.js file from the constructor to `ngOnInit()` because `[minifiedJSLibraries]` was ignored (might be a breaking change!)
193- 4.0.0.alpha.15 #238 added `[customSidebar]`; #157 added `customThumbnail`
194- 4.0.0 #157 added keyboard navigation to the thumbnails in the sidebar
195- 4.0.1 #408 fixed Chrome 83 compatiblity
196- 4.0.2 #408 fixed Chrome 83 compatiblity; #406 decare Angular 10 support officially
197- 4.0.3 #412 fixed `[showBorders]="false"` at load time and corrected the documentation
198- 4.0.4 #400 added `(thumbnailDrawn)` to make customizing and adding custom behavior to the thumbnails easier
199- 4.0.5 #404 send `(pageChange)` and `(pageLabelChange)` only if there's really a change; #358 added another version check to force iOS 12 and below to use ECMAScript 5
200- 4.1.0 #370 added `[customFreeFloatingBar]` to allow for custom toolbars that can be positioned anywhere on the PDF viewer
201- 4.1.1 #437 more helpful error messages if the project is using an old version of zone.js.
202- 4.1.2 #449 added code to stop the - sometimes time-consuming - initialization when the component has already been destroyed
203- 5.0.0-alpha.0 #457 updated the "bleeding edge" version of the assets folder to pdf.js 2.6.384 and ran several smoke tests; added support for layers
204- 5.0.0-alpha.1 #435 improved encapsulation of the CSS code; #244 started to add color themes; implement early versions of the simplified dark and the light theme; #469 added support for the Perfect Scrollbar plugin
205- 5.0.0-alpha.2 #471 don't close the sidebar when another sidebar view is selected; #244 minor improvements of the layout
206- 5.0.0-alpha.3 support for forms; #244 minor improvements of the layout
207- 5.0.0-alpha.4 improved support for older browsers
208- 5.0.0-alpha.5 #244 now the secondary toolbar icons support every color theme
209- 5.0.0-beta.0 #244 now the scale dropdown supports every color theme
210- 5.0.0-beta.1 #478 fixed the CSS code for printing (broken by #435)
211- 5.0.0-beta.2 #479 `showSecondaryToolbarButton` did exactly the opposite of what it was meant to do; #457 restored the sourcemaps of the minified files of pdf.js
212- 5.0.0-beta.3 updated the "bleeding edge" branch to pdf.js 2.7.52
213- 5.0.0 #483 fixed a bug that prevented to save PDF forms with the data entered by the user
214- 5.0.1 #488 fixed the URL of the CMap files
215- 5.1.0 #495 implemented `[(scrollMode)]`; implemented `pageViewMode="single"`; updated the bleeding-edge branch
216- 5.2.0-alpha.0 #499 and #511 implemented a proof of concept for `[(formData)]` (which is going to be renamed `[(formData)])` after deciding what the final API looks like)
217- 5.2.0 #499 and #511 implemented `[(formData)]`
218- 5.2.1 #499 and #511 bugfix for `[(formData)]` (two-way binding was broken)
219- 5.3.0 #358 added a polyfill to the service worker (several not-so-old browsers don't implement Promise.allSettled())
220- 5.4.0-beta.0 #523 moved every CSS of the zoom dropdown to the zoom dropdown component, tidying up the contractictory CSS rules
221- 5.4.0-beta.1 #523 fixed the broken layout of the rotate buttons in the Edge browser
222- 6.0.0-beta.0 #523 use the standard dropdown box for zooming; changed the cursor appearance on buttons; fine-tuned the CSS of the "unverified signature" message
223- 6.0.0-beta.1 #535 added the attribute `showToolbar`; fixed the detection whether the primary tool should be hidden or not
224- 6.0.0-beta.2 #548 look for the locale folder in the assets path defined by `pdfDefaultOptions.assetsFolder`; added the attribute `localeFolderPath` to allow users to put their locale folder into an alternative path; removed debug log messages; admit that the library is compatible to Angular 11; reset the default value of "showUnverifiedSignatures" to false
225- 6.0.0-beta.3 removed the deprecated attribute `[mobileZoom]` (use `[mobileFriendlyZoom]` instead); #535 `showToolbar` wasn't always respected; #534 solved the Chrome Content Security Policy (CSP) failure that happened when using BLOBs and running on a server implementing the Content Security Policy strictly
226- 6.0.0-beta.4 #534 made the solution more resilient
227- 6.0.0-beta.5 #534 finished implementing the feature
228- 6.0.0-beta.6 #533 #450 implemented the `PdfDocumentPropertiesExtractor`
229- 6.0.0 identical to 6.0.0-beta.6 - but let's call it a version!
230- 6.1.0 #551 stop printing infos and warnings on `logLevel="0"`; #552 repaired the minified files of the "bleeding edge" branch
231- 6.2.0-alpha.0 #492 support infinite scrolling (i.e. using the browser scrollbar instead of implementing our own scrollbar)
232- 6.2.0-alpha.1 #557 improved compatibility to IE11; #492 support infinite scrolling (i.e. using the browser scrollbar)
233- 7.0.0-beta.0 #558 added `getCurrentDocumentAsBlob()` and `getFormData()` to `NgxExtendedPdfViewerService`; #556 and #543 emit `(zoom)` even if it's one of the text options, and stop resetting the zoom when loading a new PDF file; close the PDF viewer if `[src]` is set to `undefined`; removed deprecated attributes and methods
234- 7.0.0-beta.1 #553 added the version number to the JavaScript file (thus avoiding cache problems after updating ngx-extended-pdf-viewer)
235- 7.0.0-beta.2 #558 added the form data to the BLOB exported by `getCurrentDocumentAsBlob()`
236- 7.0.0-beta.3 #562 don't jump to another page after changing the zoom in single-page mode
237- 7.0.0-beta.4 #530 reduce the print resolution if it exceeds the limits of the browser; emit a warning when using an over-the-top `[zoom]` or `[printResolution]`
238- 7.0.0-beta.5 #542 prevent IE11 and Edge from scrolling to the end of the page
239- 7.0.0-beta.6 #567 support Acroform radio buttons and multine fields; improved support for Acroform checkboxes; #542 repair forward page navigation when `pageMode!="single"`
240- 7.0.0 #573 don't jump to the top of the page when zooming; #579 don't hide the sidebar toolbar if the table of contents should visible; #492 and #495 make sure the current page is rendered as early as possible
241- 7.1.0 #715 fixed a memory leak that sometime preventing printing more than once; #583 pinch gestures now respect `[minZoom]` and `[maxZoom]` on mobile devices
242- 7.1.1 #586 now the bleeding-edge branch prints again; #589 remove the scrollbar when `[pageViewMode]="'single'"` and `[zoom]="'page-fit'"`; #589 resize the viewer area when the zoom is change when `[pageViewMode]="'infinite-scroll'"`
243- 7.1.2 #589 get rid of the scrollbar when `[pageViewMode]="'single'"` and `[zoom]="'page-fit'"` and `[showBorders]="'false'"`
244- 7.2.0 #588 added `(progress)`; #589 prevent unexpected scrolling in single-page mode when the zoom is changed
245- 7.2.1 `[scrollMode]` now also works when you set it from horizontal or wrapped to vertical
246- 7.3.0 #598 translate the message "This PDF contains a digital signature"; #603 added Dutch translations for the texts added by ngx-extended-pdf-viewer
247- 7.3.1 #598 Dutch and Slovenian translations; #265 consider the scroll position of the window when using touch events to zoom; #599 fix min/max zoom on mobile devices
248- 7.3.2 #615 improved several CSS rules. Kudos to Roman Sattler for sending the pull request!
249- 8.0.0-beta.0 #609 enable server-side rendering; #591 fixed the bug that zoom using wheel and ctrl goes to endless loop
250- 8.0.0-beta.1 #591 send `(zoomChange)` without causing an `ExpressionChangedAfterItHasBeenCheckedErrror`
251- 8.0.0-beta.2 #620 copied the missing translation key from pdf.js 2.7 ("bleeding edge") to the default version pdf.js 2.6; copied English translations of the missing translations of any language to get rid of the warnings; merged the latest changes of pdf.js. 2.7
252- 8.0.0-beta.3 #627 updated the bleeding edge to the latest (and final) version 2.7 and load the correct version of the 2.6 files
253- 8.0.0-beta.4 updated to the newest version of pdf.js (default branch now is pdf.js 2.7, bleeding-edge now is pdf.js 2.8)
254- 8.0.0-beta.5 #623 don't show the "unverified signature" warning if the signature is not displayed
255- 8.0.0-beta.6 #633 hide the loading bar not only for the first instance of ngx-extended-pdf-viewer, but also for every instance shown later (version 2.7 only)
256- 8.0.0-beta.7 #639 now unverified digital signatures can be displayed without having to deactivate form support. Use the feature at your own risk - currently there's no way to detect forget signatures! #632 allow for multi-line custom toolbars
257- 8.0.0-beta.8 #632 allow for multi-line custom toolbars; minor CSS improvements; updated the "bleeding edge" branch
258- 8.0.0-beta.9 #633 hide the "preparing document for print" dialog after opening the print preview window; added the new, improved highlighting of find results to fuzzy search
259- 8.0.0 #644 more precise highlighting when searching long words fuzzily
260- 8.1.0 #426 fix full-screen mode on Safari and iPad. Note this is a fairly radical solution which might cause problems with Angular.
261- 8.1.1 #649 fixed the Italian translations (and probably many other translations, too)
262- 8.1.2 #650 + #657 restored compatibility to MacOS Mojave and iOS 13; #649 fixed the Italian translations (and probably many other translations, too)
263- 8.2.0 #650 compatibility to Safari 12.1 and 11.1; fixed the automatic height calculation if the height attribute is omitted or given as a percentage and the CSS framework translates that to "0px"
264- 8.3.0-alpha.0 #652 support the double-tap gesture to enlarge the PDF; #675 use the correct color to display errors; #690 fix an error that sometimes happens when the preview window is closed
265- 8.3.0 #704 now you can pass URL objects to the `[url]`; #694 by default, `pdfDefaultOptions.textLayerMode` is now the enhanced text layer; plus, the PDF uses `pdfDefaultOptions.textLayerMode` the chosen the text layer mode
266- 8.4.0 #686 optionally prevent dragging and dropping files to the PDF viewer
267- 9.0.0-alpha.0 #700 re-worked the print CSS
268- 9.0.0-alpha.1 #90 #543 if `[zoom]` is undefined or omitted, the zoom, page number, and rotation are taken from `localStore`. In other words: if you've viewed the document before, your settings are restored. #255 stop reporting the "worker is terminated" message. #707 fixed the exception occurring in Brave on iOS with active fingerprinting protection; #645 added the `(pageRender)` event which is sent when a page is about to be rendered (as opposed to `(pageRendered)`, which is sent when the page has finished rendering); #629 download Blobs and base64 files on Chrome on iOS; #90 respect the rotation the user choose previously when re-opening a PDF document; #652 added `pdfDefaultOptions.doubleTapZoomFactor` to enable custom scalings on double-tap
269- 9.0.0-alpha.2 #681 make sure there's always an `outlineOptionsContainer` even if the custom sidebar doesn't need it
270- 9.0.0-alpha.3 #712 #714 fixed two annoying bug that sometimes caused crashes when using pinch gestures on mobile devices; updated the bleeding edge to the final version 2.8 of pdf.js; #645 make the cleanup() method more resilient - if you can't clean up the page proxy, clean it up after finishing the render task; don't report errors if the PDF viewer is destroyed while it's still rendering the sidebar; #707 show the progress bar when loading
271- 9.0.0-alpha.4 #732 allow `[base64Src]` to be undefined (so it can be filled asynchronously with the result of a REST call)
272- 9.0.0-alpha.5 #740 support for CSP
273- 9.0.0-alpha.6 #748 delay the initialization of the PDF viewer if the PDF file is loaded lazily
274- 9.0.0-alpha.7 bugfixes required by the strict type checks of Angular 12; #748 fixed a bug introduced with version 9.0.0-alpha.1. That version ignored that the user settings are initialized after loading the PDF file, so sometimes zoom setting was ignore, resulting in a blank page until the screen was resized.
275- 9.0.0-alpha.8 #718 repaired `[(formData)]` for input fields, text areas, and checkboxes. Radio boxes and `<select>` fields are still broken.
276- 9.0.0-alpha.9 #718 repaired `[(formData)]` for `<select>` fields (both dropdowns and multiple-choice fields) and radio buttons. However, multiple choice fields aren't printed.
277- 9.0.0-rc.0 #719 bumped up the default branch to pdf.js 2.8
278- 9.0.0-rc.1 #719 bumped up the "bleeding edge" branch to pdf.js 2.9
279- 9.0.0-rc.2 #776 added new CSS rules from pdf.js 2.9; increased the z-indexes (that may be a breaking change!); #771 `(formDataChange)` sends pre-filled form values to the Angular model again
280- 9.0.0-rc.3 #719 bumped up the default branch to pdf.js 2.9 and the bleeding-edge branch to pdf.js 2.10
281- 9.0.0 #783 improved compatibility to Bootstrap 3; #787 show the toolbar if the only visible menu items are the spread modes (i.e. `[spreadButton]="true"`).
282- 9.0.1 fixed a typo of the README.md; dependency updates
283- 9.0.2 #797 fixed a CSS bug that positioned the highlights search results at virtually random positions
284- 9.0.3 #814 clear the form data cache when opening a second document; #802 stop opening the "download" dialog after closing a form; added an `await` to the calls of the `close()` method; call `close()` explicitely before opening a new PDF file (this might reduce error messages in the console)
285- 9.0.4 #814 added a null-check before clearing the form data cache
286- 9.0.5 #818 added another null-check to prevent errors when `[src]` changes
287- 10.0.0-alpha.0 #823 improved the algorithm checking the height. _Warning_: this version is broken!
288- 10.0.0-alpha.1 downgraded ng-packagr because it forgets to ship the CSS files
289- 10.0.0-alpha.2 #847 bumped up the default branch to pdf.js 2.10 and the bleeding-edge branch to pdf.js 2.11
290- 10.0.0-alpha.3 #850 add the page number to the return value of `NgxExtendedPdfViewerService.getFormData()`
291- 10.0.0-alpha.4 #864 accept ftp:// and capacitor:// urls (bleeding edge branch only)
292- 10.0.0-alpha.5 #864 accept capacitor:// urls but ceased to accept ftp:// because the fetch API doesn't support ftp (both 2.10 and bleeding edge branch); #868 [formData] now updates when fields are updated by the scripting engine; #843 add an option to disable the scripting engine
293- 10.0.0-alpha.6 #859 combine pageViewMode: single and spread: even
294- 10.0.0-alpha.7 #859 don't jump to another page when switching to another spread mode; align the pages correctly when [showBorders]="false"; #874 deactivate scrollMode and spreadMode depending on the pageViewMode; #803 stop setting the height of the PDF viewer to 100px after leaving the infinite scroll demo
295- 10.0.0-alpha.8 #877 the pages should be aligned to the center in single-page mode; #716 implementing the book mode (early prototype)
296- 10.0.0-alpha.9 #889 fixed two-way binding for text areas in PDF forms
297- 10.0.0-alpha.10 #879 improved presentation mode; #881 In single-page mode, the first and the last page are now centered, even if they are displayed as a single page despite `[spread]="'even'" (or 'odd'), and even after zooming; #890 display multiple search results correctly
298- 10.0.0-alpha.11 #813 potentially breaking change: relative paths of `[src]` now are relative the the base href; former versions were relative to the current URL, which led to confusing bugs; #911 better support for Windows touch screens
299- 10.0.0-beta.1 #930 always center the first and last page in single-page-mode
300- 10.0.0-beta.2 #929/#813 use the base href also for files loaded by modifying `[src]` (previously, only the first file was displayed properly); #907 remove the `?file=` query path option because it doesn't play well with `[src]`
301- 10.0.0 #923 stop removing the # from the URL; #929 / #813 fixed drag'n'drop; #914 enable pinch gestures on mobile devices
302- 10.0.1 #716 / #947 render the pages in book mode more reliably; #916 added `[pdfBackgroundColor]` to render the PDF file with a custom paper color (work in progress)
303- 10.0.2 Warning: form support is broken in the bleeding-edge branch! Also see #995. It's going to be fixed ASAP. Bugfixes: #940 stop prepending the base URL to the hash when using hash-based routing
304- 10.1.0 #995 fixed form support of the bleeding-edge branch; updated CSS; extracted several CSS files to make uptdating pdf.js easier; prepared the update to pdf.js 2.11; #958 support for checkboxes that behaves like radiobuttons
305- 10.5.0-alpha.0 Warning: this alpha version contains performance improvements that might break your application! #950 introduced PDFDefaultOptions.defaultCacheSize and set the default to 50 (instead of the original 10); also added an API allowing users to implement a custom pre-rendering strategy; #972 allow users to catch the `fileinputchange` event and - if it's a drag-and-drop event - learn the drop coordinates; #975 implemented performance improvements
306- 10.5.0 published the final version after testing the performance tuning thoroghly; #950 documented and fine-tuned the pre-rendering strategy; #979 added the missing type definition of pdfDefaultOptions.ignoreDestinationZoom; #994 stop throwing exceptions when opening a file via drag-and-drop
307- 11.0.0-alpha.0 #995 performance improvements; #991/#1000 better detection of browsers lacking support for optional chaining; updated to pdf.js 2.11 (default) and pdf.js 2.12 (bleeding-edge branch); added the new "page scroll" mode of pdf.js 2.12 (which is essentially identical to `[pageViewMode]="'single'", but implemented independently by the pdf.js team) (only supported by the "bleeding edge" branch)
308- 11.0.0-alpha.1 now the default version of pdf.js is really 2.11.531 (the alpha.0 version accidentally delivered version 2.12.350)
309- 11.0.0-alpha.2 #998 add an additional log message to hunt down the Cypress bug
310- 11.0.0-alpha.3 #1013 lower the reqirements to RxJS 6; #1015 #995 removed the custom single-page-mode in favor of the new `[scrollMode]="3"` of pdf.js 2.12
311- 11.0.0-alpha.4 #804 allow users to filter log messages
312- 11.0.0-alpha.5 #1030 ignore tiny rounding difference when emitting `(zoomChange)`; #1035 fix the "Window is not defined" error message
313- 11.0.0-alpha.6 #1040 fixed the single-page mode of the bleeding-edge branch; #804 detect the worker thread more reliably
314- 11.0.0-alpha.7 #745 include the PDF content to the tab order, enabling users to scroll with the keyboard; #832 added an option to search the current page only
315- 11.0.0-alpha.8 #1033 drop support of pre-Ivy Angular
316- 11.0.0-alpha.9 #1033 drop support for Angular 8; #802 stop opening the "save" dialog after changing the `[src]` attribute
317- 11.0.0-alpha.10 #1058 use the correct import of the RxJS take operator
318- 11.0.0-alpha.11 #1063 detect if your browser support the logical assignment operators, and fall back to the ES5 version if it doesn't
319- 11.0.0-alpha.12 #1059 fix the "Window is not defined" bug; added missing translations for a few languages; update the build chain to Angular 13; stop versioning the generated files on GitHub (with the exception of the non-minified ESNext files)
320- 11.0.0-alpha.13 #832 added an option to enter a page range to the findbar; hide the new findbar options in the default branch (i.e. pdf.js 2.11); add the "find in page range" feature to `NgxExtendedPdfViewerService.find()`; #1064 fires `(pdfLoaded)` after loading the document and fire `(pdfLoadingStarts)` before loading the document (the old timing was wrong)
321- 11.0.0-beta.1 #1055 improve performance by generating the thumbnails lazily; update to pdf.js 2.12 and 2.13
322- 11.0.0-beta.2 fixed an ExpressionChangedAfterItHasBeenCheckedError when the zoom setting changes
323- 11.0.0-beta.3 update the description on npm
324- 11.0.0-beta.4 update the description on npm
325- 11.0.0 #1055 copied the performance improvement to pdf.js 2.12; removed several checks that have become superfluous after updating to pdf.js 2.12/2.13
326- 11.0.1 #1104 repaired support for CMaps (e.g. far-eastern fonts); #1054 stop displaying the download dialog if the user didn't edit the form; added `NgxExtendedPdfViewerService.recalculateSize()` to re-calculate the PDF viewer height programmatically
327- 11.0.2 #716 fixed the book mode (now the front page is display correctly when turned); improved the performance of the book mode
328- 11.0.3 #763 allow developers to use custom password dialogs; #1012 implement a programmatic API to access the layers of the PDF file
329- 11.1.0 #956 if you're using a custom free floating toolbar, `[showFreeFloatingBar]` allows you to hide it; #1007 `[wheelAction]="'zoom'"` allows you to zoom with the mouse wheel without keeping the `CTRL` key pressed; #768 resize the toolbar of the sidebar when `[mobileFriendlyZoom]` is used
330- 11.1.1 #962 iOS bugfix: form input now remains visible after zooming; #1118 detect if the browser supports private class attributes; #916 allow developers to draw the PDF file on a custom "paper" (i.e. a custom background - which can be a simple color or a complex algorithms drawing a background image) (work in progress)
331- 11.1.2 #998 support for Cypress tests
332- 11.2.0-alpha.0 #1065 implement `ng add ngx-extended-pdf-viewer`
333- 11.2.0-alpha.1 #1065 implement `ng add ngx-extended-pdf-viewer`
334- 11.2.0-alpha.2 #1065 first fully functional implementation of the schematic `ng add ngx-extended-pdf-viewer`
335- 11.2.0-alpha.3 #1163 modify the semantics of `pdfDefaultOptions.disableHistory`: now you can use this flag to prevent storing default user settings of PDF files
336- 11.2.0-alpha.4 #1166 make sure that the legacy ES5 builds are compatible with a wide range of browsers (but not IE11); added the attribute `[forceUsingLegacyES5]` as a last resort to solve browser compatibility issues; reduced the memory footprint of the minified `viewer*.min.js` files
337- 11.2.0 #1182 stop printing the empty console message
338- 12.0.0-alpha.0 #1183 support checkboxes that are radiobuttons in disguise correctly
339- 12.0.0-alpha.1 #1201 remove the margin in single-page mode (this CSS rule got lost in version 11.0.0-alpha.3); #1204 stop scrolling away from the target position of internal links
340- 12.0.0-alpha.2 #1197 Allow programmers to clear the PDF programmatically even if the user has opened it
341- 12.0.0-alpha.3 update to pdf.js 2.13.216; #1142 compatibility to iOS 14
342- 12.0.0 updated the bleeding-edge branch
343- 12.0.1 #1257 fixed the `[namedDest]` attribute
344- 12.0.2 #1242 fixed Acroform date fields with custom formats
345- 12.0.3 #1243 tentative solution to trigger custom validation when leaving a field using the mouse
346- 12.1.0 #1120 narrowed the scope of a CSS rule to make customizing easier; #1143 allow developers to set `[minHeight]`
347- 12.1.1 #1120 #1278 corrected a layout glitch cause by narrowing the CSS rules
348- 13.0.0-alpha.0 #1120 narrowed the scope of a CSS rule; modified the HTML templates and the CSS code to reflect internal changes of pdf.js
349- 13.0.0-alpha.1 #1254 now AcroForm ChoiceWidgets are printed correctly
350- 13.0.0-alpha.2 #1268 Use the 'toolbar' from the pdf-toolbar component instead of using the first 'toolbar' in document. This way, developers can use the CSS class `toolbar` outside the PDF viewer.
351- 13.0.0-alpha.3 #1120 #1278 corrected a layout glitch cause by narrowing the CSS rules (cherry-picked from version 12.1.1)
352- 13.0.0-alpha.4 #1293 #1282 added the \*.min.js files again that were missing in 13.0.0-alpha.3
353- 13.0.0-alpha.5 #1292 Include the 14 standard font files
354- 13.0.0-alpha.6 #1279 fixed the vertical layout of the primary toolbar; #1296 fixed the initialization of the PDF viewer; #1131 limit the scope of the CSS rules dedicated to printing PDF files to pdf.js
355- 13.0.0-alpha.7 #1267 stop showing the print preview below the application when printing; #1121 stop the secondary toolbar from spilling over; #1203 reset `window.adjacentPagesLoader` after loading a new document (because the old implementation populates the pages of the previous document when turning a page)
356- 13.0.0-alpha.8 #1303 repaired printing (which broke a couple of days ago)
357- 13.0.0-alpha.9 #1302 now the mousewheel only zooms if the mouse is above the PDF document; the same with trackpad pinch gestures, but pinch gestures on mobile devices probably don't benefit from this improvement yet
358- 13.0.0-alpha.10 #1313 tolerate browsers blocking the localStorage gracefully; #1300 make sure the optionalChaining check also works if run twice
359- 13.0.0-alpha.11 #1197 allow users to open the same PDF again after clearing it by setting `src=""`; #1315 allow developers to use a theme without the scaling dropdown
360- 13.0.0-alpha.12 #916 export images with transparency
361- 13.0.0-alpha.13 #590 allow developers to switch dynamically scroll modes; fixed the URL of the tree icons of the sidebar; #1316 temporary workaround to speed up rendering; warning: this version accidentally uses pdf.js 2.14 for both the default branch and the bleeding edge branch
362- 13.0.0-alpha.14 identical to alpha.13, but with the correct JS files
363- 13.0.0-alpha.15 #1319 `NgxExtendedPdfViewerService.getFormData(true)` now also reads the user input; `NgxExtendedPdfViewerService.getFormData(false)` uses the old logic, which only read the values stored in the PDF file
364- 13.0.0-alpha.16 #1301 add an API to allow to scroll within a page
365- 13.0.0-alpha.17 #899 add `[customPdfViewer]` to allow developers to modify the entire UI
366- 13.0.0-alpha.18 fixed the README.md; updated the bleeding edge of pdf.js
367- 13.0.0 updated the bleeding edge of pdf.js
368- 13.5.0-alpha.0 prepare updating to pdf.js 2.14 (stable branch) and 2.15 (bleeding edge branch); #1376 allow developers to use a custom zoom with custom themes that don't have the scale select dropdown (followup of #1315)
369- 13.5.0-alpha.1 updated to pdf.js 2.14 (stable branch) and 2.15 (bleeding edge branch); lots minor bug fixes, most of them caused by updating to pdf.js 2.14: #916 fixed the programmatic custom background; fixed [scrollMode]; repaired `scrollPageIntoView()`; improved `scrollPageIntoView(42, {top: '100%'})` (the previous release scrolled to far); fixed `[spreadMode]`; now the secondary toolbar button is hidden or shown more reliable
370- 13.5.0 dependency updates
371- 13.5.1 corrected the version number of stable branch of pdf.js; fixed a bug that basically is caused by the showcase demo showing custom thumbnails; merged the latest changes of pdf.js into the bleeding-edge branch
372- 13.5.2 #1401 repaired `(pdfLoadingFailed)`; #1313 tolerate browsers blocking the localStorage gracefully; #1399 inlined two graphics to allow using the pdf viewer in arbitrary context paths; preview to an annotation editor for users (bleeding edge only)
373- 13.5.3 #83 tentative fix of the print which was broken on iOS devices
374- 14.0.0 update to Angular 14; raised the minimum required Angular version to 11.1.0
375- 14.0.1 going back to Angular 13 after detecting that ng-packr 14 break compatibility to Angular 12 + 13
376- 14.0.2 raised the minimum required version of Angular to 12 (Note that Angular 11.1.0 is reported to be compatible, but my compatibility tests failed)
377- 14.0.3 updated the README.md
378- 14.0.4 #1429 Class loadingInProgress now vanishes after page load
379- 14.0.5 #8 prevent the browser from filling input field with password or user names; #1433 fixed the CSS code highlighting find results covering multiple spans (the middle sections appeared at random positions)
380- 14.0.6 #1434 show the print progress dialog in PrimeNG modals even after closing and re-opening the modal
381- 14.0.7 #1447 remove the global CSS when the viewer is removed from the DOM, and restore it when the viewer is created again (workaround of the Angular bug https://github.com/angular/angular/issues/16670)
382- 14.5.0-alpha.0 #1447 replace ViewEncapsulation.None by a home-brewn CSS injection engine because the CSS was never removed removing destroying ngx-extended-pdf-viewer from memory
383- 14.5.0 #1447 updated the README.md
384- 14.5.1 removed debugger statements; updated the bleeding-edge branch of pdf.js; removed an unused dependency
385- 14.5.2 prepared updating to pdf.js 2.15; #1463 restored support for Japanese fonts; removed a redundant null check from `file-info.component.html`
386- 14.5.3 #1449 allow for finding text across multiple lines (might break other special cases, such as searching for 1/2 or 3/4)
387- 15.0.0-alpha.0 #1470 update to pdf.js 2.15 / 2.16; #918 add an experimental preview of the attribute `[enableRelativeCoords]="true"` to improve pinch gestures
388- 15.0.0-alpha.1 #1478 allow for absolute asset URLs on a remote server
389- 15.0.0-alpha.2 #1427 allow for AMD modules
390- 15.0.0-alpha.3 #1498 allows the PDF viewer to use the free space if the toolbar is hidden
391- 15.0.0-alpha.4 #1499 hide the toolbar earlier if `[showToolbar]` is set to `false`
392- 15.0.0-alpha.5 #1498 tentative bug fix that shifts the viewer to the correct position if there's no toolbar; #1507 show the find result again; #1511 stop showing the password prompt in the page number input field
393- 15.0.0-alpha.6 #1501 stop printing error message if the text highlighter is initialized twice; updated to pdf.js 2.16 (default branch) and pdf.js 3.0 (bleeding edge branch); #1516 fix broken two-way binding of forms (work in progress)
394- 15.0.0-alpha.7 #1516 fix broken two-way binding of forms
395- 15.0.0-alpha.8 #1527 fixed (zoom)
396- 15.0.0-beta.0 #1513 removed the code dealing with the CSS class `loadingInProgress`; #1500 remove `enhanceTextSelection`; #1513 stop throwing errors when the user opens a PDF file before the previous PDF file has finished rendering
397- 15.0.0 #1528 bugfix concerning pdf.js 3.0: moved `addPageToRenderQueue()` to the class `PdfViewer`; #1485 fixed the path for cMapUrl, which caused a bug when displaying many far-Eastern documents; #8 empty the password field and set the type to "hidden" in order to prevent browsers from wrongly detecting the input fields of the application as input fields for the user name
398- 15.0.1 updated the README
399- 15.0.2 updated the README
400- 15.0.3 #1519 display apostrophes correctly; #1471 prepare activating the PDF editor
401- 15.0.4 #1537 fixed a bug preventing printing high-resolution PDF files; added `ngZone.run()` to several events to make sure Angular is aware of the events
402- 15.0.5 #1540 now the find algorithm covers every page when using a custom findbar (previously only a pages 1, 3, 6, and 7 were searched)
403- 15.0.6 #1555 now find next/find previous wraps around correctly when "current page only" is selected
404- 15.0.7 #1547 added the button type to the document properties dialog to prevent the default behaviour
405- 15.0.8 #1538 moved the modifications of ngx-extended-pdf-viewer from the BaseViewer class to the PdfViewer class; #1571 now you can print even after hiding an instance of ngx-extended-pdf-viewer and immediately after that showing a new instance of the PDF viewer
406- 15.0.9 #1576 fix [scrollMode]; #1575 entering a page number into the input field now triggers page turning in book mode
407- 15.0.10 #1585 fix two-way binding for XFA forms
408- 15.0.11 #1583 fix `[useBrowserLocale]="false"`
409- 15.0.12 #1594 declare compatibility to Angular 15
410- 15.1.0 #1599 sensible defaults for `useBrowserLocale`; the attribute is now deprecated, because the viewer detects whether you've embedded the language file in the HTML file or not
411- 15.1.1 #1599 removed the attribute `[useBrowserLocale]` from the schematics; #1607 / #1602 repaired the multi-word search and `ngxExtendedPdfViewerService.findMultiple()`
412- 15.2.0 #1546 added the attribute `type="button"` to every button in order to prevent accidental form submits; #1487 add `[(activeSidebarView)]` to allow developers to define the default sidebar view
413- 15.2.1 #1536 add event listeners: `(annotationLayerRendered)`, `(annotationEditorLayerRendered)`, `(xfaLayerRendered)`, `(outlineLoaded)`, `(attachmentsloaded)`, and `(layersloaded)`; #1609 implement `[replaceBrowserPrint]`; #1512 support for "require-trusted-types-for" (work in progress - doesn't work yet)
414- 15.2.2 #1623 stop the viewer from accessing the dummy component container if it doesn't exist for some reason; #1626 fix `(outlineLoaded)`; #1622 add the latest attributes to the SSR component and deal with window.print() correctly in SSR mode
415- 16.0.0-alpha.0 updated to pdf.js 3.1 (stable branch)/3.2 (bleeding edge); #1631 File upload doesn't work under exotic circumstances
416- 16.0.0-alpha.1 Caveat: printing is broken on Chrome!; #1635 + #1592 Now the modifications of the editor are included in the print and download again
417- 16.0.0-alpha.2 update to pdf.js 3.2 (stable branch)/3.3 (bleeding edge); bugs are tracked at https://github.com/stephanrauh/ngx-extended-pdf-viewer/issues/1577
418- 16.0.0-alpha.3 #1648 fixed a NPE when reading a dropdown or a multiple-choice select box in a form; #1645 added new options to make the double-tap zoom configurable: pdfDefaultOptions.doubleTapZoomsInHandMode, pdfDefaultOptions.doubleTapZoomsInTextSelectionMode, and pdfDefaultOptions.doubleTapResetsZoomOnSecondDoubleTap
419- 16.0.0-alpha.4 #1577 fixed bugs introduced when merging pdf.js 3.2; #1653 added `docBaseUrl` to the `pdfDefaultOptions` and documented it; #1638 remove the `printContainer` when `ngOnDestroy` is called; #1610 added `String.at()` to the browser switch checks; #1658 added the "editorInk" cursor icon; #1471 activate the PDF editor; #1629 removed CSS rules that made creating custom buttons difficult (possibly breaking change); #1536 emit the annotationLayerRendered event; #1657 open attachments in a new tab correctly
420- 16.0.0-alpha.5 #1624 show the "not found" message when finding (or not-finding) a search term when "current page only" or "page range" is selected; merged pdf.js 3.3 into the bleeding edge branch; #1007 deprecated `[wheelAction]` because it stops working in pdf.js 3.3 or higher; #1663 Corrected the type of the `source` attribute of many events fired by pdf.js (caveat: this version is broken!)
421- 16.0.0-alpha.6 added a forgotten export to the public_api.ts
422- 16.0.0-alpha.7 #1096 deactivate `[handTool]="true"` on iOS because it breaks scrolling and because it isn't necessary on mobile devices
423- 16.0.0-alpha.8 #1529 repaired `pdfDefaultOptions.rangeChunkSize`
424- 16.0.0-alpha.9 #1096 restored support for Angular 12 running on TypeScript 4.2
425- 16.0.0-beta.0 updated to pdf.js 3.3 (stable branch); #1577 updated the CSS code; #1551 enabled `enablePrintAutoRotate` by default
426- 16.0.0-beta.1 #1669 restore support for BLOBs and base64 files; updated the bleeding edge branch to the latest version of pdf.js 3.4; #1670 updated both `pdfDefaultOptions` and the corresponding page of the showcase
427- 16.0.0 dependency updates
428- 16.0.1 #1663 fixed `[handTool]`
429- 16.0.2 #1676 / #635 allow users to enable `withCredentials` without having to provide an `Authorization` header. In other words, you can now make the network API to include the credentials headers or cookies even if they aren't stored in the `authorization` header.
430- 16.1.0 #1687 add line endings to the text export (`getPageAsText()`); updated the bleeding edge branch; added type definitions for PdfDocumentProxy; #1677 allow developers to hide both editor buttons independently (as opposed to either hiding or showing both of them)
431- 16.2.0 updated to pdf.js 3.4 (stable branch) and 3.5 (bleeding edge branch); #1677 allow developers to modify the responsive design breakpoints
432- 16.2.1 #1694 and #1622 repaired server side rendering
433- 16.2.2 #1096 improved compatibility to Angular 12
434- 16.2.3 #1695 show the toolbar if only the editor buttons are visible; #1682 don't try to open a file that hasn't been loaded yet; #1659 tentatively add `pdfDefaultOptions.activateWillReadFrequentlyFlag` to deal with rendering issues of Chrome on Windows
435- 16.2.4 #1651 added an Elivs operator to two lines endangered by NPEs; add `pdfDefaultOptions.activateWillReadFrequentlyFlag` to deal with rendering issues of Chrome on Windows
436- 16.2.5 #1702 added a work-around hiding a bug of Firefox 109/110 that causes the PDF window to shrink after printing
437- 16.2.6 #1622 improved compatibility to server-side rendering
438- 16.2.7 #1622 improved compatibility to server-side rendering
439- 16.2.8 removed debug code
440- 16.2.9 #1725 corrected the type definition of the `TextLayerRenderedEvent`; #1724 added `PageViewport` to the list of exported types again
441- 16.2.10 #1622 improved compatibility to server-side rendering (don't use this version for production)
442- 16.2.11 #1622 improved compatibility to server-side rendering (don't use this version for production)
443- 16.2.12 #1622 improved compatibility to server-side rendering
444- 16.2.13 #1622 hide the toolbars and the menus when rendering on the server
445- 16.2.14 #1622 hide the toolbars and the menus when rendering on the server
446- 16.2.15 #1725 added `textLayerBuilder` to the `PDFPageView` interface
447- 16.2.16 #1732 display the page border on Safari on every page (used to be shown on the first page only); #1720 now the correct text is highlighted again when finding (was broken since 16.1.0)
448- 17.0.0-alpha.0 #1735 removed the custom PDF backgrounds
449- 17.0.0-alpha.1 #1739 stop using the `window` object in the worker thread (fixes a bug introduced with #1659)
450- 17.0.0-alpha.2 #1696 fixed and simplified book mode; repaired the methods `hasPageBeenRendered()` and `currentlyRenderedPages()`
451- 17.0.0-alpha.3 #1711 adds the `AnnotationLayerBuilder` to the public API
452- 17.0.0-alpha.4 (no changes)
453- 17.0.0-alpha.5 #1760 display the initial state of checkboxes correctly
454- 17.0.0-alpha.6 #1733 bind the touchevents to the PDF viewer `<div>` instead of binding it
455- 17.0.0-alpha.7 #1767 prevent a crash that sometimes happened when running the PDF viewer in a modal window (caused by #1733)
456- 17.0.0-alpha.8 #1762 repair responsive design (which was broken since 16.2.6)
457- 17.0.0-alpha.9 #1766 allow for custom find dialogs without the "individual words" checkbox; #1672 re-activated filtering the console output (was broken after implementing support for server-side rendering); #1680 / #1663 implement `disableForms` to disable AcroForm and XFA forms
458- 17.0.0-alpha.10 #1685 add a programmatic API exporting the PDF file as a Blob
459- 17.0.0-beta.0 #1735 removed the `[formTheme]` attribute; #1735 / #1007 remove `[wheelAction]`; #1685 removed the programmatic API exporting the PDF file as a Blob because it was already there under a different name (`NgxExtendedPdfViewerService.getCurrentDocumentAsBlob()`)
460- 17.0.0-beta.1 #1679 / #1772 include the editor annotations (free text and ink) when downloading / exporting the PDF file; update the bleeding edge branch to pdf.js 3.6
461- 17.0.0 #1784 update to pdf.js 3.7 (bleeding edge only); this includes a breaking change: custom thumbnails now need different HTML code
462- 17.0.1 #1790 removed forgotten debug messages; #1787 provisional fix: the find button shows even though `[showFindButton]="false"` if the document has a text layer; #1677 removed the attribute `[showEditor]` which has been replaced by `[showDrawEditor]` and `[showTextEditor]`, as announced on February, 26th 2023
463- 17.1.0-alpha.0 #1783 add an API to export annotations and to add freetext and ink editors
464- 17.1.0 #1793 don't print the version number on the console when [logLevel]="0"; #1787 bugfix: the find button shows even though `[showFindButton]="false"` if the document has a text layer
465- 17.2.0 #1773 implemented `[(findbarVisible)]` and `[(propertiesDialogVisible)]`
466- 17.3.0 #1699 stop complaining about invalid page numbers when opening a document that has less pages than the previous document; #1415 allow `[pageViewMode]` to update dynamically and implement `(pageViewMode)`
467- 17.3.1 #1798 guard the message "The height of the PDF viewer widget is zero pixels." with a log level check; #1709 adjustments for small screens; #1799 bugfix: PDFViewerApplicationOptions is stored in the window object, not in globalThis
468- 17.3.2 #1799 even if the PDF viewer is destroy before being able to load it's JavaScript code, it shouldn't throw an exception.
469- 17.3.3 #1799 less errors when closing the PDF viewer before it has finished initializing
470- 17.4.0-alpha.0 #1796 implemented `(annotationEditorModeChanged)` and added the CSS class `ngx-extended-pdf-viewer-prevent-touch-move` that's added to the body to prevent scrolling when the text or ink editor is used
471- 17.4.0 #1796 continued implementing `(annotationEditorModeChanged)`
472- 17.4.1 #1673 fix `[mobileFriendlyZoom]` on iPads (the find menu was displayed at the wrong position); #1478 allow using absolute URLs for `pdfDefaultOptions.assetsFolder`
473- 17.4.2 #1802 fix unintended scrolling when starting to draw on a mobile device using the ink editor tool; #1665 re-initialize book mode when `[src]` changes
474- 17.4.3 #1665 re-initialize book mode when the user opens a new PDF document via the "file open" menu or drag-and-drop; #1159 deactivate zooming and presentation mode in book mode
475- 18.0.0-alpha.0 #1735, #1181 replace my fork of the find controller by Mozilla's find controller and implement Mozilla's "match diacritics" option; update to pdf.js 3.8; #1805 emit every event within ngZone; added the HTML code of the new "image stamp" feature of pdf.js 3.9
476- 18.0.0-alpha.1 #1807 reactivated the presentation mode menu item of the secondary menu
477- 18.0.0-alpha.2 removed the CSS rule `.pdfViewer.singlePageView .page { margin: 0; }`; #1808 cease setting the page acording to the visible page in single-page mode (because this is only useful to track the scroll position and because it caused an infinite loop in presentation mode)
478- 18.0.0-alpha.3 #1809 The thumbnail view was broken in version 18.0.0-alpha.1 and -alpha.2. Now it's back.
479- 18.0.0-alpha.4 #1584 re-designed the toolbar and the secondary menu so that now every button can hide in the secondary menu and that every menu item has a corresponding button in the main toolbar; allow for combining infinite scrolling with the "wrapped" scroll mode; define the `<pdf-shy-button>` allowing users to define their own custom toolbar with buttons that hide in the secondary menu on small screens; fixed `[sidebarVisible]="true"`
480- 18.0.0-alpha.5 #1812 compile the ES5 build with generous compatibility settings; updated the bleeding edge branch
481- 18.0.0-alpha.6 #1584 added the book-mode button
482- 18.0.0-alpha.7 #1823 reduce unnecessary scrolling when activating the single-page mode or the book mode; #1584 fine-tuning and allow the editor buttons to hide in the secondary menu
483- 18.0.0-alpha.8 #1584 finetuning and bugfixes; allow the "toggle sidebar" button to hide in the secondary menu; make the find button work reliably
484- 18.0.0-beta.0 update to pdf.js 3.9 (stable branch) and 3.10 (bleeding-edge branch); tidied up the translation files specific to ngx-extended-pdf-viewer
485- 18.0.0-beta.1 #1835 address the issues Sonarcloud reports; update the bleeding edge branch
486- 18.0.0-beta.2 #1825 stop adding an offset to the coordinates when importing serialized editor annotations (ink editor only)
487- 18.0.0-beta.3 #1825 stop adding an offset to the coordinates when importing serialized editor annotations
488- 18.0.0-beta.4 #1838 add `role="img"` and ARIA labels; #1830 wheel events are now caught only if the mouse is above the PDF, but not if it's outside the PDF;
489- 18.0.0-beta.5 #1825 now `NgxExtendedPdfViewerService.addEditorAnnotation()` respects the `pageIndex`if it's defined in the annotation: otherwise, the annotation is added to the current page; #1824 #1848 added the CSS rules required to resize images and drawings which have been added using the new editor tools; #1838 add more missing role tags; update the bleeding edge branch
490- 18.0.0-beta.6 #1852 fixed a NPE of custom toolbars; #1854 update pdf.js to version 3.10 (stable branch) and 3.11 (bleeding-edge branch)
491- 18.0.0-beta.7 #1856 Single-page mode was broken on initial load; #1876 replaced a few `window` references by `globalThis` and start using `globalThis` less
492- 18.0.0-beta.8 #1857 show the print overlay even if printing twice
493- 18.0.0-beta.9 fixed a CSS layout problem that happens only on Chrome; fixed translation errors
494- 18.0.0-beta.10 slightly increased the font size of the text fields to match the previous font size more closely
495- 18.0.0 updated the test screenshots to accomodate the new stamp editor button
496- 18.0.1 #1835 addressed minor CSS issues; dependency updates
497- 18.0.2 #1882 `<pdf-toggle-sidebar>` now also works in custom toolbars
498- 18.1.0 #1896 fixed a bug that caused the pagination buttons to browse two pages at a time; show the "next page / previous page" in the secondary toolbar; updated the README; note that I've changed the id of the pagination buttons, which might break your CSS code
499- 18.1.1 #1887 include the form values passed by [formData] in printed and downloaded PDF files; stop hiding the annotation layer when the print window shows
500- 18.1.2 #1916 `[sidebarVisible]` now works again on initial load
501- 18.1.3 #1058 import rxjs operators correctly
502- 18.1.4 #1919 added missing JavaScript libraries again
503- 18.1.5 #1943 removed the duplicate label "infinite scroll"
504- 18.1.6 #1932 fixed SSR
505- 18.1.7 #1957 allow Angular 17 users to use the library
506- 18.1.8 #1920 fixed the bug that every checkbox was initially checked in many PDF forms
507- 18.1.9 #1972 fixed several missing translations (kudos to Daphné Bellemin for contributing the pull request); #1969 now also radio-button checkboxes have the correct initial value
508- 18.2.0-alpha.0 #1976 update the bleeding edge branch to pdf.js 4.0; added optional parameters to the `[action]` attribute of the `PdfShyButton` allowing you to access the event and to distinguish buttons in the primary toolbar from menu entries in the secondary menu; fixed `PDFNotificationService.pdfjsVersion` which previous showed the wrong version number.
509- 18.2.0-alpha.1 #1976 updated the i18n labels to pdf.js 4.0
510- 19.0.0-alpha.0 #1983 fixed `(spreadChange)`; #1979 fixed the declaration of `UpdateUIStateEvent`; #1990 fixed loading the sandbox; #1976 fixed several other bugs caused by updating to pdf.js 4.0; now the stable branch also uses my fork of pdf.js 4.0.269
511- 19.0.0-alpha.1 #1976 added missing translations (bleeding edge only)
512- 19.0.0-alpha.2 #1976 added missing translations; stop adding pdf.mjs to the minified build of viewer.min.mjs
513- 19.0.0-alpha.3 #1976 updated the compatibility promise: ngx-extended-pdf-viewer 19+ is incompatible to Angular 15 and below
514- 19.0.0-alpha.4 #1976 added the additional locales again and removed the attribute `useBrowserLocale`
515- 19.0.0-alpha.5 #1989 make sure that pages below the fold are rendered when `pageViewMode="infinite-scroll"`; #2011 added the HTML required by the new (still invisible) highlight editor of pdf.js
516- 19.0.0-alpha.6 #1961 now the schematics copes with stand-alone projects
517- 19.0.0-alpha.7 #1997 added missing translations
518- 19.0.0 #1987 make the radio buttons of the secondary menu more reliable, and hide the secondary menu more reliably when it's empty; don't close the secondary menu when the "single page mode" menu is clicked
519- 19.0.1 #766 make book mode preloading more reliable
520- 19.0.2 #766 suppress the double-click zoom in book mode; #2007 stop shipping the outdated version of pdf.js 3.9
521- 19.0.3 #2007 now the minified worker file is loaded again if the PDF viewer uses the minified files (`[minifiedJSLibraries]="true"`); this was broken since version 18.2.0-alpha.0
522- 19.0.4 #2045 render the zoom level even if it's not one of the predefined zoom levels
523- 19.0.5 #2051 fixed the `[page]` when the PDF is loaded; #2045 render the zoom level even if it's not one of the predefined zoom levels
524- 19.0.6 #2077 document that the library requires RxJS 7 or higher
525- 19.0.7 #2096 fixed a bug that broke - among other things - printing of multi-page documents; #2091 added a forgotten event to the public API; #2081 fixed `(pagesLoaded)`
526- 19.1.0 #2099 updated to pdf.js 4.0.375; #2016 updated the CSS rules --> annotations can now be deleted
527- 19.2.0 #2116 inlined draw_layer_builder.scss because it wasn't loaded at all (might be a breaking change); #2071 initialize the event listeners even if `[src]="undefined` (might be a breaking change)
528- 19.2.1 dependency updates; #2078 scrollIntoView() now works again even on high zoom levels
529- 19.2.2 #2138 stop opening the file dialog when opening the "stamp editor" menu - kudos to GitHub user BulletQQ for teaching me how to solve the issue! Also fixed the layout of the stamp editor popup menu
530- 19.3.0 #2165 fixed the method `NgxExtendedPdfViewerService.hasPageBeenRendered()`. Strictly speaking it's a breaking change because previously the method did the exact opposite of what the name indicates.
531- 19.4.0-alpha.0 #2148 update the buttons the annotation editor mode changes programmatically; add typing the the editor modes; added `NgxExtendedePdfViewerService.addImageToAnnotationLayer()` and several helper methods. Caveat: the API is going to change slightly
532- 19.4.0-alpha.1 #2148 update the buttons then the annotation editor mode changes programmatically; add typing the the editor modes
533- 19.4.0-alpha.2 #2148 allow to pass both native pdf.js coordinate and percentages to `NgxExtendedePdfViewerService.addImageToAnnotationLayer()`
534- 19.4.0 #2180 improve CSP (content security policy) support; allow to pass pixels to `NgxExtendedePdfViewerService.addImageToAnnotationLayer()`; #2179 restrict the file open dialog to PDF files; #2168 split the `<pdf-rotate-page>` into `<pdf-rotate-page-cw>` and `<pdf-rotate-page-ccw>`
535- 19.4.1 #2120 stop firing `(pdfLoaded)` twice when `[src]` fires; refactored `scrollSignatureWarningIntoView()`
536- 19.5.0 #2221 improve support for CSP (content security policy); tidy up the code generating thumbnails; stop showing thumbnail images while loading
537- 19.5.1 #2221 display the toolbar correctly (probably this breaks CSP support again); #2239 `currentPageIndex()` and `addImageToAnnotationLayer()` now return / expect the page index (starting with 0) instead of the page number (starting with 1)
538- 19.6.0 #2256 emit events when a user adds, removes, or edits an annotation; #2228 fixed highlight editor; updated the browser compatibility list
539- 19.6.1 #2240 allow developers to use the variable PAGE_NUMBER in thumbnails again (was broken in version 19.5.0).
540- 19.6.2 #2245 fixed an SSR issue; #2255 / #2242 make sure that `getSerializedAnnotation()` does not export form fields
541- 19.6.3 #2273 fixed: server side rendering adds two toolbars
542- 19.6.5 #2273 made the `NgxExtendedPdfViewerService` ready for SSR; #1301 fix `NgxExtendedPdfViewer.scrollPageIntoView()` (was broken when omitting the optional parameter) (bleeding edge branch only); #2228 fixed a few layout glitches (defunct highlight toggle button and oversized zoom in button)
543- 19.6.6 #1301 fix `NgxExtendedPdfViewer.scrollPageIntoView()` (was broken when omitting the optional parameter) (stable branch)
544- 19.7.0 #2242 stop removing form fields when removing editors with `NgxExtendedPdfViewerService.removeEditorAnnotations()`; #2208 modify annotation editor attributes programmatically
545- 19.7.1 #2275 prevent accidental firing of `(pageChange)` and `(pageLabelChange)` when changing the `pageViewMode
546- 20.0.0-alpha.0 make Sonarcloud happy by shortening an if statement; #2279 fix the highlight editor toolbar in rtl languages; #2282 improved compatibility to ng-zorro; #2293 improve the CSS encapsulation; #2294 make sure that the highlight editor can be closed again; #2295 Checkboxes with non-boolean export values can now be set by default from Angular
547- 20.0.0-alpha.1 #2282 improved compatibility to ng-zorro; #2293 improve the CSS encapsulation (the text layer was broken in version 20.0.0-alpha.0)
548- 20.0.0-alpha.2 #2274 now ngx add ngx-extended-pdf-viewer also supports stand-alone components
549- 20.0.0-alpha.3 #2196 make sure that only the file ending of old configurations is converted from _.js to _.mjs; before the bugfix, it might also rename the domain "jsdelivr" to "mjsdelivr"; #2301 support browser that don't implement `Promise.withResolvers()`; #1917 add the inital value of the form values stored in the PDF to the `(annotationLayerRendered)` event
550- 20.0.0-alpha.4 #2291 improved compatibility to Tailwind (removing a span tag that's always invisible)
551- 20.0.0 no changes (apart from updating the bleeding edge branch)
552- 20.0.1 #2322 stop throwing an exception when destroying the PDF viewer
553- 20.0.2 fixed CVE-2024-4367
554- 20.1.0 #2339 made several methods in the PDFFindController public to allow users to add custom implementations; #2343 fixed the box-sizing model of the annotation layer (was broken by #2282)
555- 20.2.0 #2243 render all icons in high-contrast mode; #2331 render the initial state of checkboxes correctly even if they are radiobuttons in disguise and the first checkbox is not checked; fixed a corner case that rendered the default value of a form field even though it was overwritten by Angular's `(formDataChange)` event
556- 20.5.0-alpha.0 #2329 reduce the memory leaks (work in progress - the leak is still there)
557- 20.5.0-alpha.1 #2349 prevent exceptions on right-click if there's no text layer; #2348 unlock Angular 18; #2329 embrace signals to reduce the memory leak (work in progress - the leak is still there); #2350 now `[handTool]="true"` activates the corresponding buttons in the toolbar correctly
558- 20.5.0-alpha.2 #2356 fix the CSS code of "find - highlight all"
559- 20.5.0-alpha.3 #2364 show the "highlight all" toggle button again; fix a bug that prevented printing after closing a PDF viewer and opening a new one; #2374 in the bleeding-edge version, there's a new flag `pdfDefaultOptions.enableHWA` replacing `pdfDefaultOptions.activateWillReadFrequentlyFlag`; #2364 draw unverified signatures again
560- 20.5.0-alpha.4 #2364 now zooming via the +/- only triggers a single event; #2077 reduce the required version of RxJS to 6.0; #2364/#2329 solve weird bugs caused by running `ngOnDestroy()` and `ngOnInit()` simultaneously
561- 20.5.0 #2364 ensure that `ngxConsole` and `ngxConsoleFilter` can be used after destroying and re-creating `<ngx-extended-pdf-viewer>`; #2374 remove `webViewerLoad` from the global namespace and modify the process of loading and initializing so that switching between the demos also works on Safari (plus reduce the memory leak reported in #2329): #2387 stop the animation loop when destroying the `PageFlip` object
562- 20.5.1 #2389 remove the file input tag when destroying the component
563- 20.5.2 #2392 fix the rotate button and the hand tool / select mode button
564- 21.0.0-alpha.0 #2337 move the code needed for loading the JavaScript files to a service so multiple instances can use the JavaScript files without reloading them; move objects from `globalThis` to `PdfViewerApplication`; stop using `ngZone.runOutsideAngular()` to make it easier to use the viewer without zone.js
565- 21.0.0-alpha.1 #2409 fixed several broken items of the secondary menu
566- 21.0.0-alpha.2 #2411 fixed absolute asset paths; #2337 allow the textlayer to be activated or deactivated in an existing viewer when showing another document
567- 21.0.0-alpha.3 #2337 fix form support (was broken after closing and re-opening the viewer) (work in progress); #2301 added detection for Safari 16 which requires the ES5 build; #2337 activate the hide-toolbar-settings before loading the JavaScript files
568- 21.0.0-alpha.4 #2337 fix wheel support; fix the `[ignoreKeys]` and `[acceptKeys]`; fix printing; all of the were broken after closing and re-opening the viewer
569- 21.0.0-alpha.5 #2077 removed the dependency on RxJS; this also removes `recalculateSize$` and `onPDFJSInit`
570- 21.0.0-alpha.6 #2337 added the new keyboard service to the public API and make it a root service
571- 21.0.0-alpha.7 #2430 restore a method that has been removed by pdf.js but is still used by ngx-extended-pdf-viewer; #2433 fixed an NPE when `(srcChange()` is fired (missing `this` pointer)
572- 21.0.0-alpha.8 #2436 enable getPageAsImage to render storage annotations; #2337 remove the references to `globalThis` from the `NgxExtendedPdfViewerService`; #2337 moved the console log filter from `globalThis` to `PdfViewerApplication`
573- 21.0.0-alpha.8 #2337 removed pdf.js from the `window` object; use a sensible default value for `filenameForDownload`; stop throwing errors when closing a dialog that's already closed (happens sometimes when `ngOnChanges` fires); re-implemented custom thumbnails so they don't need to pollute the `window` object; fixed form support after closing a viewer and opening a new one; remove the CSP sanitizer from the `window` object; updated the interface `PasswordPrompt` (now it includes the `open` and `close` methods); #2363 fix an SVG rendering issue that happens only in Firefox; #2435 / #2078 make popup annotations visible again even if they're outside the page (was broken since version 19.2.1 as side-effect of another bug fix);
574- 21.0.0-alpha.9 #2337 restored the `[minifiedJSLibraries]` attribute (was accidentally deleted); fixed a layout glitch that made the selected find result indistinguishable from the other find results when `highlight all` is selected
575- 21.0.0-alpha.10 #2439 fixed an NPE that was raised when destroying the services; try to eliminate more memory leaks
576- 21.0.0-alpha.11 #2440 stopped loading the JS file in an inline script, thus restoring compatiblity to CSP; merged the pdf.mjs and the viewer.mjs files so there's one request less; #376 simplified the way the `workerSrc()` parameter is passed to pdf.js; delete `globalThis.pdfJsLib` after using it to pass the objects of pdf.js to the viewer; detect CSP and load the `op-chaining-support.js` as an inline script if possible to avoid an additional request
577- 21.0.0-alpha.12 #2452 fixed printing (it still depended on `window.PDFViewerApplication`); fixed two Sonarqube findings; #8 / #2445 get rid of wrong HTML issue reports in Chrome
578- 21.0.0-alpha.13 #2458 allow `minZoom` and `maxZoom` to be non-numerical values, but only if they are identical
579- 21.0.0-alpha.14 address Sonarqube issues; reverted the additions of #1659 because pdf.js has introduced the flag `enableHWA` that does the same as my `activateWillReadFrequentlyFlag` did; removed several outdated attributes from `pdfDefaultOptions` #2464 deactivate the zoom buttons when reaching the maximum/minimum zoom level; updated to pdf.js 4.5; #2440
580- 21.0.0-beta.1 #2337 stop loading the worker file twice when re-using an existing instance of `PDFViewerApplication`; removed `pdfDefaultOptions` from `globalThis`; #2467 update to canvas-size 2.0, activate the automatic detection of the maximum canvas size by default, and improve the algorithm determining the maximum canvas size; #2459 allow numeric default options to be passed as string (because that frequently happens when there's no explicit type conversion of values passed from the browser); #2455 implemented `[enablePrintAutoRotate]` as an attribute because `pdfDefaultOptions.enablePrintAutoRotate` is only read during the initialization of the viewer; `[enablePrintAutoRotate]` can be changed at any point in time; #2468 fixed `[enableDragAndDrop]`
581- 21.0.0-beta.2 #2362 / #2440 improved CSP support by eliminating inline styles
582- 21.0.0-beta.3 #2362 improved CSP support by reverting the changes introduced with #1447
583- 21.0.0 updated the README
584- 21.1.0 updated the README; #2466 fixed responsive design and fine-tuned the default values of the breakpoints; implemented `[showPreviousAndNextPageButtons]`, `[showFirstAndLastPageButtons]`,`[showPageNumber]`,`[showPageLabel]`, and`[showZoomDropdown]`.
585- 21.1.1 #2485 prevent the CSS rules for the rotate buttons from bleeding into the global CSS rules; move layout-related code to `DynamicCssComponent
586- 21.1.2 #2486 added two missing icons
587- 21.2.0 #2482 add an API option to turn off the auto jump-to-page when a phrase is found; #2488 added a secondary findController that's available only through the API and that allows both programmer and user to search independently without interfering with each other's search result
588- 21.3.0 #2480 / #2506 cache the PDF worker so it can be re-used when opening a new PDF document. Kudos go to Antoine Legrain for analyzing the topic and sending a pull request! #2509 allow users and developers to find multiple words and regular expressions #2339 allow for custom find controllers. Now developers can extend or even replace the original find controller by their own implementation.
589- 21.3.1 #1735 removed the @Input() attributes of features that have been removed in version 18; #2494 removed the non-existing atribute `numTextDivs` from `TextLayerRenderedEvent` and added the `layer` attribute to all four `LayerRenderedEvents`; #2598 fixed a bug that always assumed the "highlight all" is set; updated the bleeding edge branch
590- 21.3.2 #2463 now the PDF viewer only reacts on the arrow keys if they aren't used for accessability
591- 21.3.3 #2522 update the showcase to Angular 18, Angular Material 18, add static-site generation to the showcase, and fix SSR/SSG errors; #2500 add a Polyfill to `Promise.withResolvers` that jumps in if an old version of zone.js accidentally deletes your browser's implementation
592- 21.3.4 #2339 / #2524 the PDF viewer didn't scroll find matches reliably into view
593- 21.3.5 #2515 now annotations added programmatically or by pasting send events if moved or resized; updated the bleeding edge branch
594- 21.3.6 #2527 / #2512 allow users to write with a pen on mobile devices in the ink editor, and still allow them to scroll using the finger gestures; #2529 fixed a bug that caused high CPU load when searching for multiple terms and the input ends with a space; #2532 remove the file input widget when destroying the PDF viewer; #2490 create the "invisible canvas" that's used to measure font sizes with a default size of 0 pixels, so it doesn't show up accidentally in applications
595- 21.3.7 #2534 If you set the print range to 1 to 1, now the first page is printed. Previous versions didn't print the page; #2539 prevent a NPE that was raised when setting `[pageViewMode]="'infinite-scroll'"` or `[pageViewMode]="'multiple'"`
596- 21.3.8 #2526 fix "highlight all" in the find bar - before the bug fix, "highlight all" only worked in the bleeding edge branch
597- 21.4.0 #2548 CTRL+F now only activates the find bar if there's both a text layer and a find button in the toolbar; the find button is only shown if the PDF file has a text layer. More precisely, if one of the first 20 pages has a text layer.
598- 21.4.1 #2556 fire an `annotationEditorEvent` when a highlight is added; #2560 Fix Content Security Policy (CSP) issue, aded nonce attribute in inline script injector; #2490 make sure the hidden canvas that's used to determine the font size stay hidden all the time
599- 21.4.2 #2571 if the PDF viewer is destroyed while it's still initializing, it inevitably runs into errors; I've added an additional check, so there's one error message less; updated the bleeding edge branch (it might still be broken due to many changes of pdf.js)
600- 21.4.3 caveat: this version accidentally broke the stable branch! Please update to version 21.4.4 instead. Intended changes: dependency updates; updated the bleeding edge branch
601- 21.4.4 repaired the stable branch
602- 21.4.5 updated the bleeding edge branch to pdf.js 4.7.76; this is a breaking change because `NgxExtendedPdfViewerService.addEditorAnnotation` is now asynchronous
603- 21.4.6 #2536 re-introduced `[forceUsingLegacyES5]`
604- 22.0.0-alpha.0 #2603 create a new printContainer before each print and destroy it afterwards; modified the ids of the print buttons because pdf.js modified them
605- 22.0.0-alpha.1 #2611 restore `window.print()` when destroying the PDF viewer (was broken in version 21.x.x, but used to work before); update the stable branch to pdf.js 4.7.
606- 22.0.0-alpha.2 #2438 don't log a warning if the window height is zero but automatic height calculation is intended; #2595 adjust the automatic zoom if the width of the PDF viewer changes (before the change, there was a zoom observer that only reacted to size changes of the entire window)
607- 22.0.0-alpha.3 #2538 fixed a bug that reset an form input field modified by two-way binding to an old value when the blur event fires; #2593 fixed a bug that closed the findbar immediately after opening it; removed the code that hides the find button if there's no text layer because several users reported the feature to be unreliable
608- 22.0.0-alpha.4 #2594 fixed the custom translations added by ngx-extended-pdf-viewer
609- 22.0.0-alpha.5 #2635 stop showing warning if there's an invisible signature (but if the signature is visible, the warning is still shown); #2545 trigger the blur event and JavaScript actions of a form field if the user clicks on a non-focusable element (e.g. the canvas of the PDF)
610- 22.0.0-alpha.6 #2597 stop the viewer from scrolling when using the ink tool with touch devices
611- 22.0.0-alpha.7 #2540 fixed `pdfDefaultOptions.workerPort`
612- 22.0.0-alpha.9 #2645 disable the spread button if they're useless, even if they are hiding in the secondary menu. (The feature was already there, but it only worked for buttons in the primary toolbar). Also added `[showScrollingButtons]` as a shortcut for `[showBookModeButton]`, `[showSinglePageModeButton]`, `[showVerticalScrollButton]`,`[showHorizontalScrollButton]`, and `[showInfiniteScrollButton]`. This fixes the showcase demo and IMHO it simply makes sense to activate or deactivate all these buttons at once. Strictly speaking, this is the successor of `[showScrollingButton]` (in singular form). Re-introducing an attribute with a slightly different name is an annoying nuisance, but it makes sense because I've deprecated the old attribute in version 18 and the plural form expresses the meaning of the attribute more clearly. If you're updating from version 16 or below to version 22 or above, please bear with me!; #2643 migrate to control flow syntax. Kudos to Julian for submittig this pull request!
613- 22.0.0-alpha.10 #2651 fixed the `[showPrintButton]` and `[showDrawEditor]`; removed the `verticalToolbarSeparator` divs because they are always invisible
614- 22.0.0-alpha.11 #2597 and #2527 reverted the changed to the ink editor because the pdf.js probably supports this feature out-of-the-box soon and because I wasn't able to resolve the merge conflict
615- 22.0.0 dependency updates; updated the readme file
616- 22.0.1 #2657 fix the missing border around pages in Safari; #2677 addEditorAnnotation() now converts serialized string to Json objects before wrapping them into an array (the old behavior prevented developers from using serialized strings)
617- 22.1.0-alpha.0 #2362 fixed the Content Security Policy support
618- 22.1.0-alpha.1 #2362 fixed the Content Security Policy support (printing was broken); #2687 unified bundle: merged pdf.js and viewer.js into a single file; fixed "gulp server" of the pdf.js project
619- 22.1.0-alpha.2 #2655 (tried to) fix the erratic behavior of the ink editor in touch mode; improved the type definitions in the `types` folder
620- 22.1.0-alpha.3 #2655 fixed the erratic behavior of the ink editor in touch mode; updated the bleeding edge branch to pdf.js 4.9.124 (work in progress - the bleeding edge branch is partially broken)
621- 22.1.0-alpha.4 #2655 fixed the erratic behavior of the stamp editor in touch mode; updated the bleeding edge branch to pdf.js 4.9.124
622- 22.1.0 #2699 replace `ngZone.run()` by `queueMicrotask()` or `setTimeout()` to allow for Zone-less Angular applications; #2700 fix drag-and-drop
623- 22.2.0-alpha.0 #2684 allow nested components in `<pdf-shy-button>` (the feature already works, I've made it an alpha version in order to be able to test and document it thoroughly); the secondary toolbar now shows the button icons again
624- 22.2.0-alpha.1 updated the bleeding edge branch to pdf.js 4.10.38
625- 22.2.0-alpha.2 #2698 added an additional null-check to the drag-and-drop events; #2704 fixed the editor menu items in the secondary menu
626- 22.2.0-alpha.3 merged a showcase relaunch into the main project (Kudos to Alex and Julian!)
627- 22.2.0-alpha.4 test deployment without changes of the library; excluded the SBOM from git because of the file size
628- 22.2.0-alpha.5 #2707 updated the dompurify library that's used in the showcase to 3.2.x
629- 22.2.0-alpha.6 migrated the SCSS rules to the new syntax; re-implemented the build scripts in Node.js
630- 22.2.0-alpha.7 #2718 hide the toolbar icons during the initialization phase