# Changelog

## Interim release 3.8.92

* FIX: Dropped ZIM files now load in contexts where the browser blocks the File System Access API, by falling back to the legacy file drop
* FIX: Dropping a folder that the browser will not let the app read no longer voids the folder already picked
* FIX: Links to articles that are HTML redirect stubs now open the target article correctly in Restricted mode
* FIX: A navigation inside the article frame can no longer re-run the article setup code and re-inject the same article
* FIX: Mode now restored to Service Worker on next ZIM load if app has temporarily switched itself to Restricted mode
* REGRESSION: App now auto-switches to appropriate display mode when openinig historical Wikipedia archives
* REGRESSION: Warning about limited Zimit support now shown for zimit2 archives in Restricted mode, where it was silently skipped
* REGRISSION: Warning about legacy support for Zimit archives is now shown when the app falls back to the legacy reader
* REGRESSION: Links in the active content warnings are now legible in dark mode
* DEV: Developer Mode can now be turned on and off while the app is in Restricted mode
* DEV: Developer Mode now also turns off the ZIM assets cache for as long as it is on, and marks those buttons unavailable
* FIX: A misspelt setting name meant the app ignored user choice to disable assets cache
* FIX: Reset app no longer fails with an error when no Service Worker is controlling the page
* SECURITY/REGRESSION: Archives no longer loaded in SW mode in the background before user has chosen the trust level
* FIX: The content injection mode is now checked against the modes the app actually supports, so an unrecognized value can no longer leave the app in an invalid state
* DEV: Harmonized the checks on the content injection mode string with upstream, and removed vestigial handling of a mode this app does not implement
* DEV: Added unit tests covering the validation of the content injection mode value
* SECURITY: Settings supplied in the app's URL are no longer saved permanently, apart from the few the app passes between its own windows, and source verification can now only be changed in Configuration
* FEATURE: New setting to show a title bar when the browser draws the window controls overlay over the app, restoring the choice that recent versions of Edge removed
* FEATURE: In-app library can now browse the whole ZIM catalogue as well as by category, so archives that declare no category in their metadata can now be found
* FEATURE: New filter textbox in the in-app library to narrow the list as you type
* ENHANCEMENT: When the app supplies its own title bar, it stays in place as the navigation bar slides away on scroll
* ENHANCEMENT: macOS packages are now distributed as disk images (`.dmg`) for easier installation
* ENHANCEMENT: The top navigation bar now matches the height of the window controls overlay, and follows it when the user shows or hides the title bar
* FIX: The library's Language, Subject and Date filters now apply instantly, without rebuilding the list, and no longer reset when returning to the list
* FIX: Auto-updates now enabled for the macOS Electron app
* FIX: The colour of the window frame now follows the app's navigation bar, so the window buttons no longer sit in a contrasting block in light mode
* FIX: Popover previews of Wikimedia article links now work when reading the archive with the experimental libzim reader
* FIX: The popover's open-in-new-window icon now opens a new window or tab when reading with the experimental libzim reader, instead of loading the article in place
* FIX: Opening an article in a new window or tab no longer blanks or hides the article you were reading in the original window
* FIX: Zimit (classic) archives read with the experimental libzim reader no longer sometimes stay hidden after a page loads
* FIX: The last-visited page is now remembered correctly when reading with the experimental libzim reader
* FIX: Launching a ZIM by double-clicking it in the OS no longer opens the archive twice, so the file permission request and the "trusted source" security prompt are no longer shown twice
* FIX: The Windows Setup and web installers now register the ZIM file type (including the first part of a split archive), so archives can be opened by double-clicking them in File Explorer
* FIX: When the Windows Store app is launched by double-clicking a ZIM file, the stored location of the previously opened archive is now cleared as intended, instead of being left in place
* REGRESSION: Restored the top navigation bar's adaptation to the window controls overlay, which was lost in the Bootstrap 4 migration (latest browsers turn the overlay on by default, so the window buttons were covering the app's controls)
* REGRESSION: Restored the draggable area in the top navigation bar, which was lost in the Bootstrap 4 migration, so the app window can be moved again when the window controls overlay is shown
* REGRESSION: Fix non-responsive links formatted as headings in Zimit archives
* REGRESSION: Fix serious bootloop when a new GitHub release is found
* INFO: Document the Electron app's server feature in README
* INFO: Update the macOS installation instructions for disk images
* INFO: Correct the advertised macOS requirement for the current builds (now need macOS 12 Monterey or later)
* INFO: The legacy macOS build is deliberately excluded from auto-update, but update notifications still work
* DEV: Publish releases with a new script instead of electron-builder's GitHub publisher, using smart routing for human vs autoupdate releases
* DEV: Derive `minimumSystemVersion` from the built app rather than hardcoding it
* DEV: Fail the publish if any modern macOS variant is missing
* DEV: Verify each disk image in CI by mounting it and re-checking the signature, notarization, etc.
* DEV: Publish disk images rather than zips to download.kiwix.org and S3
* DEV: For the NW.js app, `npm start` now runs the x64 version
* DEV: When running Create-DraftRelease with winget switch, select correct setup package
* DEV: Update javascript-libzim to v0.95

## Release 3.8.7 / 3.8.8

* FEATURE: In-app BitTorrent download of ZIM archives in the Electron app (with WebTorrent), including resume of interrupted downloads and optional seeding until app close
* ENHANCEMENT: macOS packages are now signed with a Developer ID certificate and notarized by Apple, so they launch without any Terminal workaround
* INFO: Update macOS installation instructions for signed packages, and move the instructions for unsigned builds to the AppPackages README
* INFO: Added acknowledgements and licence info for Electron.js, NW.js, Express.js and WebTorrent.js 
* FIX: Reload current article immediately when switching Content Injection Mode
* REGRESSION: Fixed Windows Setup and self-extracting portable packages failing to decompress during installation
* REGRESSION: Fixed the Windows 7/8/8.1 package which was built against an incompatible Electron version
* REGRESSION: Fix error clicking Zimit-style links in NWJS app
* REGRESSION: Fix NWJS build script defaulting to ia32 instead of x64
* DEV: Enable Hardened Runtime and add an entitlements file for macOS Electron builds
* DEV: Sign and notarize macOS packages in CI, verifying signature, notarization ticket and Gatekeeper assessment before publication
* DEV: Single workflow dispatch option now controls signing of both Windows and macOS packages; nightlies are always unsigned
* DEV: Update Windows Code Signing for new certificate 2026-27
* DEV: Update workflows with latest versions of Node, Checkout, and Upload Artefact
* DEV: Allow dispatching just NWJS builds from Biuild-Electron workflow
* DEV: Update Electron to 43.2.0 and Electron Builder to 26.15.7
* DEV: Update Rollup to 29.0.3 and fix syntax change for strict require
* DEV: Several security updates to dependencies 

## Release 3.8.5 / 3.8.6

* FEATURE: Support native auto dark/light theming system in new Wikimedia ZIMs (SW mode only)
* ENHANCEMENT: Add keyboard shortcuts /, Ctrl-K and Home for article search
* UPDATE: Migrate Library to use OPDS endpoint instead of download.kiwix.org
* UPDATE: Migrate project to Bootstrap 4 and fix display glitches introduced by migration
* UPDATE: Replace Glyphicons with Font Awesome icons
* UPDATE: Remove dependency on JQuery completely
* UPDATE: Custom mdwiki landing page
* UPDATE: Build types in release templates
* SECURITY: Increase security of Electron app's Express server and provide controls for LAN access
* INFO: Add PWA installation guide for major browsers
* INFO: General app and project information update
* INFO: Give instructions for installing AppImage on recent Ubuntu missing fuse2
* REGRESSION: Fix broken printing support
* REGRESSION: Fix broken display of masonry-style landing pages
* REGRESSION: Fix critical error in IE11 preventing rendering of webp images
* REGRESSION: Prevent popovers on Wikivoyage custom landing page
* REGRESSION: Properly set initial express port value
* REGRESSION: Fix blank page on fragment or new tab navigation
* REGRESSION: Fix poor dark styling of Spanish Wikipedia when transforming to mobile style
* REGRESSION: Fix display of ISO language codes in library languages dropdown
* FIX: Touch events for sliding away tool and navbars
* FIX: Unify all keyboard events under the same function
* FIX: Set more reasonable product name for Linux Electron app
* FIX: Accidental processing of certain openZIM articles by the Zimit redirect algorithm
* FIX: Windows package uploads with new SSH kay
* FIX: Typo causing large WikiMed packages to autoupdate to the plain app
* FIX: MacOS script uploading packages to GitHub Releases and macOS-related template for Wikivoyage releases
* FIX: Fail fast offline requests to network
* FIX: Properly hide notice to download ZIM in packaged apps
* FIX: Blank page on navigation with fragment or new tab (supports Single Page Applications)
* FIX: Invalid HTML attribute causing Vite parsing error
* FIX: CSP blocking of ZIM download library
* FIX: Dark mode display of upgrade alert box
* DEV: Change "Bypass AppCache" option to "Developer Mode" (same functionality)
* DEV: WikiMed builds now use S3 publishing
* DEV: Add Docker Compose configuration for serving PWA locally
* DEV: Fix broken macOS workflow in nightlies
* DEV: Buid only appx version of UWP for GitHub releases
* DEV: Service Worker now handles event passing
* DEV: Fix broken invocation of wingetcreate
* DEV: Update location for Kiwix-hosted downloads of apps
* DEV: Rename custom_apps to branded_apps
* DEV: Bump Electron to 43.1.1 (for modern Electron builds)
* DEV: Bump NWJS to 113.0 (for modern NWJS builds)
* DEV: Bump Electron Builder to 26.15.3
* DEV: Security updates to many dependencies

## Release 3.7.7 / 3.7.8

* ENHANCEMENT: PWA now auto-updates when new version is detected (can be turned off)
* ENHANCEMENT: Added macOS builds: ARM64, x64 (macOS 12+), and x64 legacy (macOS 10.13-11)
* ENHANECEMENT: Enter key selects first search result
* ENHANCEMENT: Prevent user selecting contradictory settings for page style
* ENHANCEMENT: Provide new persistent FS permissions handler (allows upgrade to latest Electron)
* REGRESSION: Restore opening and closing of headers for ActionParse ZIMs converted to mobile style
* REGRESSION: Do not preselect first item in search results
* REGRESSION: Fix catastrophic backtrcking in cleanup regex
* REGRESSION: Fix display of gallery images in Wikimedia ZIMs when transformed to mobile style
* INFO: Add instructions for installing macOS packages
* UPDATE: Open Textbook of Medicine landing page
* FIX: Better conversion of headings to details-summary style
* FIX: Adapt remove max page width restriction to ActionParse ZIMs
* FIX: Restricted width of Wikimedia articles on mobile screen sizes
* FIX: Improve display of graphical landing pages
* FIX: Display of some ultra-wide infoboxes in RTL Wikipedia ZIMs
* FIX: Size of regular infoboxes with Wikipedia articles converted to mobile style
* FIX: Ensure consistent page reloading after a theme change
* FIX: Hide unwanted content on Wikipedia landing page
* FIX: Display of some dark_mode_safe svg images and equivalent in dark theme
* FIX: Repair override Wikivoyage landing page
* FIX: Do not attempt to autoupdate appx or MSIX packages
* FIX: Incorrect hiding of search results when user is interacting with snippets
* FIX: Prevent Fetch request timeout for style file
* DEV: More intelligent file detection in Electron script
* DEV: Improvements to PWA publishing script with sensible options preselected
* DEV: Update location of signtool.exe
* DEV: Add smoke test for macOS app
* DEV: Make build scripts compatible with BSD
* DEV: Security update for tmp module
* DEV: Print Electron version during preload
* DEV: Fix inconsistent value of articleDocument
* DEV: Upgrade Electron to v38.2.2

## Release 3.7.0 / 3.7.1

* ENHANCEMENT: Disable Table of Contents dropup if there are less than two headings in article
* ENHANCEMENT: Reload current article when switching between desktop and mobile styles
* FIX: Collapsing of Wikipedia sections in ActionParse ZIMs (when transformed to mobile style)
* FIX: Do not close Wikipedia sections when a desktop ZIM is loaded and not transformed to mobile style
* FIX: Bug that showed footnote refs as [0] in ActionParse desktop-style ZIMs transformed to mobile style via Config option
* FIX: Misplaced and misaligned titles in right-to-left languages for ActionParse Wikimedia ZIMs
* FIX: Add missing external link SVG for locally cacched Vector stylesheet
* FIX: Typo in configuration
* INFO: Update documentation of features
* REGRESSION: Remove title showing on Wikimedia landing pages
* REGRESSION: Fix bug with persistent file system permissions in Electron app
* DEV: Bump Electron builder to 26.0.18

## Release 3.6.7 / 3.6.8

* FEATURE: Add snippets to fulltext search
* ENHANCEMENT: Improve keyboard navigability of search results
* ENHANCEMENT: Report current default ZIM style (desktop/mobile) to Configuration
* UPDATE: Support transforming ActionParse ZIMs to mobile style
* REGRESSION: Fix find in article bar not showing
* REGRESSION: Fix missing text on landing pages with ActionParse ZIMs
* REGRESSION: Fix bug that prevented some pages with equations from showing in nopic ZIMs
* REGRESSION: Fix code that misplaced hatnotes in ActionParse ZIMs
* FIX: Bug that prevented searching for the same string twice in a row
* FIX: Fixes to regular dark style
* FIX: Unhandled exaception when popover icons are not found
* FIX: Issue with display of gallery images in Wikipedia files
* DEV: Make features section clickable
* DEV: Various security updates
* DEV: Updated Electron to 29.3.3

## Release 3.6.5 / 3.6.6

* ENHANCEMENT: Reduce height of navigation bar
* ENHANCEMENT: Added support for Wikimedia ZIMs based on new ActionParse API
* INFO: Added separate Privacy Policy to satisfy store requirements and cover packaged apps
* FIX: Failure to load some cached landing pages with special characters
* FIX: Libzim loading and reduce debug messages
* UPDATE: Cached Open Textbook of Medicine landing page
* UPDATE: Libzim libraries to v0.8
* DEV: Accept new ZIMs with minorVersion set to 3
* DEV: Synchronize Babel versions
* DEV: Update build script to us Windows PowerShell instead of PS Core (unsupported by Electron Builder)
* DEV: Add Workflow option to build only nsis-web installer if this has to be regenerated

## Release 3.5.7 / 3.5.8

* ENHANCEMENT: Added a toolbar button to switch quickly between light and dark themes
* ENHANCEMENT: Make search results accessible for screen readers
* FIX: Bug that opened articles in new windows after switching from Zimit to Wikimedia archives
* FIX: Fix popover width scaling when `zoom` attribute is set
* FIX: Support older Firefox versions when creating popovers
* FIX: Repeated titles in Wikivoyage ZIMs made from the mobile-html API
* FIX: Dark/light theme is now applied correctly to popovers as soon as the theme is switched
* FIX: Aligning of new UI icons
* FIX: Various typos in the app
* FIX: Handle user clicking on child element of list item in article list
* UPDATE: Wikivoyage and WikiMed templates and associated info
* DEV: Developer directories are no longer shown in the download library unless the app is in developer mode
* DEV: Babel now generates more compact code, and build warning eliminated
* DEV: Correction of errors in Draft Release script and better feedback in workflow
* DEV: Update Vite to v6.2.4
* DEV: Various security updates for dependencies

## Release 3.5.3 / 3.5.4

* ENHANCEMENT: App now prompts user to switch to OPFS on Android and Firefox Desktop
* ENHANCEMENT: App now uses OPFS Persistent Storage on Firefox for greatly increased Storage quota
* ENHANCEMENT: Add option in Configuration to disable accidental reload protection
* ENHANCEMENT: Disabled reload protection if app has persistent access to storage via FSA API
* ENHANCEMENT: Prominent "Download now" button in library if OPFS is enabled
* ENHANCEMENT: Better styling for popovers in dark mode
* INFO: If main Kiwix download server is inaccessible, app now provides a list of mirrors
* FIX: Popovers now take into account the zoom factor on latest browsers with new support for `zoom`
* FIX: PWA can now update without user having to exit the app (with user gesture or automatically in Electron)
* FIX: If user hasn't dismissed the splashscreen then it is shown again after a refresh
* FIX: When printing, the zoom level of the article is temporarily reset for more predictable results
* FIX: Handle navigation correctly in new DevDoc ZIMs
* REGRESSION: Search now takes into account any article zoom level 
* REGRESSION: Fix build of Win7 32bit app with wrong Electron version and block autoupdate
* DEV: Reset options are now in separate module to avoid circular dependencies

## Release 3.4.5 / 3.4.6

* ENHANCEMENT: Prevent accidental app reload if an archive is loaded
* FIX: Failure to display Wikimedia URLs ending in a question mark
* FIX: Failure to display articles from links clicked in popovers
* FIX: Remove title description from popovers in new Wikimedia ZIMs
* FIX: Remove unused scripts from Wikimedia ZIMs scraped with mobile-html API 
* BUILD: Switched to new eSigner code-signing certificate
* BUILD: Disabled signing of nightly binaries due to cost
* INFO: Added info in release templates regarding SmartScreen popups on Windows
* INFO: Added info to README regarding the fact that nightly builds are unsigned 
* DEV: Update Express server and dependencies

## Release 3.4.0 / 3.4.1

* ENHANCEMENT: Faster and more reliable initiation of image lazy loading in Wikimedia ZIMs
* REGRESSION: Fixed failure to return to Home page or display random pages in dynamic ZIMs
* REGRESSION: Fixed misdirection of article to non-existent container in Zimit ZIMs
* UPDATE: Adjust style processing to handle ZIMs scraped from new mobile html endpoint
* UPDATE: Ensure transformation to desktop style is working with mobile html endpoint
* UPDATE: Title tip info about Origin Private File System
* UPDATE: Wikivoyage release template
* FIX: Incorrect processing of empty link as external
* FIX: Avoid redundant transformation of ZIM style mobile to mobile or desktop to desktop
* FIX: Fatal CORS error with extrernal links & custom protocols cuased by `wm_mobile_override_script.js` in new Wikimedia ZIMs
* FIX: Remove incompatible webPHandler in Wikimedia ZIMs (we supplo our own)
* FIX: Race conditions which prevented unhiding of article window with slow browsers and some new windows/tabs
* FIX: Detection of correct window or tab when user clicks on an unmanaged ZIM hyperlink

## Release 3.3.7 / 3.3.8

* FIX: Critical error on startup of Electron app if Express port is already in use
* FIX: Incorrect close popover icon colour
* FIX: Stutter effect when invoking popover
* FIX: UWP positioning of popovers
* FIX: Restore erroneously deleted WikiMed file
* FIX: Erroneous divOffsetHeight calculation in Electron apps
* FIX: Horizontal line cutting into infoboxes with locally cached Wikipedia styles
* FIX: Horizontal line cutting into some images with locally cached Wikipedia styles
* FIX: Handling of custom protocols and URI schemata in ServiceWorker mode
* FIX: Ensure popover is always at top of z-index
* FIX: Issues selecting and remembering the UI language in multi-lingual TED ZIMs
* UPDATE: Title tip info about Origin Private File System
* WORKAROUND: Patch rogue HTML entities appearing in dirEntry titles

## Release 3.3.1 / 3.3.2

* FEATURE: Add Wikipedia/Wikivoyage previews when hovering over, tabbing into or long-pressing a ZIM link
* ENHANCEMENT: Support building separate Windows 7 32bit Electron packages
* ENHANCEMENT: Standard NWJS packages (not XP) are now 64bit
* INFO: Windows 7/8/8.1 Electron apps no longer autoupdate, because they will update to a version not supported on Win 7+
* UPDATE: Reworked Wikivoyage custom landing page
* FIX: Popovers now support all dark themes
* FIX: Bug which would reload the current ZIM archive if user accidentally initiated drag-drop
* FIX: No source verification for archives included in package
* FIX: Bug with placement of popovers which didn't take into account the font zoom factor
* FIX: Critical error detecting window.electronAPI on some platforms
* FIX: In the Electron app, do not show GitHub updates if PWA update is needed
* FIX: Bug with synchronization of tri-state checkboxes when unselecting dark themes
* DEV: Avoid incorrect and redundant uploads to Kiwix download server
* DEV: Fix build scripts
* DEV: Update publishing templates
* DEPENDENCIES: Bump Electron to 29.3.1 for 64bit builds
* DEPENDENCIES: Bump ejs to 3.1.10

## Release 3.2.3 / 3.2.4

* FEATURE: Add security dialogue on opening a ZIM for the first time in ServiceWorker mode
* UPDATE: Rename JQuery mode to Restricted mode
* DOCUMENTATION: Add information about ZIM security to About
* DOCUMENTATION: Add information about Persistent Permissions to About
* FIX: Cached last page sometimes overwrites new ZIM landing page when switching from Restricted mode
* FIX: Display of open/close marker with h5 and h6 headings in Wikimedia ZIMs
* FIX: Inability to print HTML books in Gutenberg ZIMs
* FIX: Bug which forced all images to manual display in some non-Wikimedia ZIMs in Restricted mode
* FIX: Inability to read stylesheets correctly when accessing some Zimit archives in Restricted mode
* FIX: Go straight to article view on launch if persistent permissions are granted
* FIX: Removed redundant workaround patching the style of thumbinner image containers in MDWiki ZIMs
* FIX: Catch uncaught file verification exception
* FIX: Remove legacy "Scanning for archives" block
* REGRESSION: Fix inability to reload packaged archive in WikiMed and Wikivoyage apps
* WORKAROUND: Fix for HTML URLs with percent-encoded querystring separators in zimit2
* DEPENDENCIES: Bump Vite to v4.5.3

## Release 3.1.0 / 3.1.1

* UPDATE: On Android, full-text search now on by default (but may be too slow to load without OPFS)
* FIX: Broken "unclicking" of config and about buttons and return-to-article link
* FIX: Reduce flash of incorrect style with Zimit-style ZIMs displayed with darkReader
* FIX: Ensure legacy archive warning and other content warnings remain displayed until dismissed
* FIX: (partial) Untransformed relative Zimit2 URLs for browsers that do not support Wombat
* FIX: Issue with Create-DraftRelease script
* FIX: Issue preventing app from detecting new updates on GitHub in some circumstances
* INFO: Mention ARM architecture in in-app user info
* REGRESSION: Fix YouTube video playback with legacy Zimit reading system (SW mode)
* REGRESSION: Incompatibility with IE11 and Edge Mobile that prevented running on WM10
* WORKAROUND: Remove erroneously scraped ovid iframes in MDWiki ZIMs
* DEV: Updates to buid script
* DEV: Deprecate 32bit deb packages for packaged apps
* DEV: Remove jQuery from app.js
* DEPENDENCIES: Bump Electron Builder to v24.13.3
* DEPENDENCIES: Bump Electron Updater to v6.2.1

## Release 3.0.0 / 3.0.1

* FEATURE: Preliminary support for Zimit v2.0 archive types
* FEATURE: Enable use of DarkReader with zimit2 archives
* ENHANCEMENT: Support most Zimit (1/2) archives in jQuery mode if they have largely static content
* ENHANCEMENT: Dark mode tri-state switch now turns on before turning to auto (should be less confusing)
* WORKAROUND: Provide alternative link handling for browsers that do not support wombat.js
* KNOWN ISSUE: DarkReader interferes with CIA World Factbook home page (workaround: switch to light mode)
* KNOWN ISSUE: Video is not currently supported in UWP app with zimit2 archives (due to incompaitibility with wombat.js) 
* KNOWN ISSUE: Turning DarkReader on or off may not take effect until the NEXT article is loaded
* BUILD: Support Windows on ARM and Linux on ARM for the Electron app
* FIX: Use of standard dark and invert styles with any archive (but usually DarkReader is best for Zimit)
* FIX: Blank iframe article after opening article in new window or tab
* FIX: Finding path of packaged archive with new Electron app architecture
* FIX: Opening article in new window or tab for non-Zimit archives
* FIX: (partial) Zimit articles only open in new tab even if new window was requested
* FIX: Detection of apps installed from the Microsoft Store
* FIX: Failure of UWP app to reload picked folder automatically on app launch
* FIX: Loading of PDFs and external links in zimit2 archives
* FIX: Add preview link for all archives that can be displayed in library.kiwix.org
* FIX: Failure to re-enable DarkReader after printing
* FIX: (partial) Switching themes no longer attempt to jump back to the article immediately
* REGRESSION: Failure to open new windows in UWP app (desktop)
* DEV: Add a way to detect zimit2 archive types
* DEV: Fix incrementation of Microsoft Store apps at build time
* DEV: Warn instead of throwing if the ZIM `minorVersion` is greater than 2
* DEV: Laumch wingetcreate correctly from PowerShell
* DEPENDENCIES: Electron-builder updated to v24.9.1
* DEPENDENCIES: ViteJS updated to v4.5.2

## Release 2.9.2

* UPDATE: Removed sample archive from app package - please download the archive of your choice in-app
* FEATURE: High-fidelity support for Zimit-based archives based on the Replay Web Archive reader
* FEATURE: Experimental dark-theme support for Zimit-based archives using the Replay system and DarkReader
* FEATURE: Legacy methods for reading Zimit ZIMs provided as fallback
* FEATURE: Greatly improved Zimit-archive reading in JQuery mode (static content only)
* FEATURE: The Electron app can now act as a local server for other browsers
* FEATURE: Printing articles from Zimit-based archives supported in PWA (not available in Firefox)
* ENHANCEMENT: Added ability to set the localhost server port in the UI of the Electron app
* ENHANCEMENT: Option to download viewed assets when searching by URL (e.g. C/.*interesting_asset.js)
* INFO: Provide info to user about how to change behaviour of opening external links in tab or window
* FIX: Critical bug that prevented scrolling of search results
* FIX: Critical bug causing a boot loop when the app is in JQuery mode and SW cannot be registered
* FIX: Critical reload loop and video replay in legacy Zimit reading
* FIX: Critical failure to load PDFs in Nautilus ZIMs and Android
* FIX: Pinch-to-zoom now works in the Electron app
* FIX: Remove WordPress link tracker code in some Zimit ZIMs preventing access to ZIM contents
* FIX: Incorrect sizing of article area in UWP app
* FIX: Remove unhandled port in some Zimit redirects, allowing resource to be located in archive
* FIX: Failure to resize Configuration in rare circumstances
* FIX: Accidental disabling of assetsCache when user loads a non-Zimit-based archive
* DEV: Various updates to demos and readme
* DEV: Fix quote detection in rollup build chain
* DEV: Changed favicon from white to black with white border
* DEV: New, more robust, way to wake up and initialize the Service Worker when needed
* DEV: Developer options now provided to use libzim for reading archive contents
* DEV: Updated, standard method for bundling JQuery
* DEPENDENCIES: RollupJS updated to v3.5.0
* DEPENDENCIES: Updated WebpHero to v0.0.2
* DEPENDENCIES: Updated DarkReader to v4.9.73
* DEPENDENCIES: Javascript-libzim updated to v0.6

## Release 2.7.8

* FEATURE: Support multiple instances of the PWA or browser tabs/windows with different ZIMs loaded in each
* FEATURE: File handling (opening ZIM from system file explorer) will open each ZIM in its own separate instance
* ENHANCEMENT: On non-scrollable pages, remove navbars with Ctrl/Cmd + UpArrow/DownArrow, long swipe or mousewheel
* ENHANCEMENT: Auto-dismiss (fade out) Zimit and active content warnings on scroll
* ENHANCEMENT: Add indicative colourization to archive list when using OPFS
* ENHANCEMENT: Show a spinner when adding and direct-downloading files to OPFS
* ENHANCEMENT: After failure to import or download to OPFS, delete file stub(s)
* INFO: Inform user that OPFS files are preserved on app reset
* INFO: More informative message about import/download error in Safari
* INFO: Added new demo of OPFS features to Repository documentation
* FIX: Tested and fixed support for new dynamic UI in ZIMs produced by Kolibri scraper
* FIX: When using locally cached CSS, the details/summary tags are restored where missing from ZIM
* FIX: Display of open-close markers for headers is now as expected in mobile css (suppressed in desktop css)
* FIX: Dropdowns for languages and subjects in some download library directories
* FIX: Ensure archive list is displayed on open in browsers supporting the webkitdirectory property
* FIX: Empty archive list when OPFS is deactivated
* FIX: Make sure spinner doesn't block the UI
* FIX: Ensure some HTML and entities do not appear in constructed article titles
* FIX: Don't show spinner on click in cases of anchor or javascript links
* FIX: Cancel OPFS delete if export selected and vice versa
* FIX: Better handling of empty directory entries or empty content
* FIX: Better handling of missing ZIM assets
* FIX: Exception displaying plain text when a dirEntry does not have any HTML content
* FIX: Add some sanity checks to prevent runaway searches
* DEV: App no longer forces the Service Worker to stay alive: instead, SW resumes when needed
* DEV: Name of repository changed to kiwix-js-pwa, permalinks changed
* DEV: Provide facility for adding ZIM metadata to the ZIMArchive object

## Release 2.7.2

* FEATURE: Rework file system access and support Origin Private File System (OPFS)
* ENHANCEMENT: Autoload and display of all archives in OPFS on app launch, no permission prompts!
* ENHANCEMENT: Last selected archive (and optionally article) auto-loaded on app launch if in OPFS
* ENHANCEMENT: Import existing archives from anywhere on device into the OPFS easily with file picker
* ENHANCEMENT: New file management facility for deleting, and (in some contexts) exporting OPFS archives
* ENHANCEMENT: Option to download archives directly into the OPFS, without downloading first to user-visible FS
* ENHANCEMENT: Option to download archives direclty into any folder pickable with the File System Access API 
* ENHANCEMENT: Full-text search enabled by default on Android for archives in OPFS
* ENHANCEMENT: Pick multiple archives at once and switch easily between them, even on legacy systems
* ENHANCEMENT: New Operations Panel to show download progress in PWA and Electron apps
* ENHANCEMENT: Avoid double loading of WebP Polyfill when present in ZIM
* FIX: Exception preventing display of legacy archive content in jQuery mode
* FIX: Failure to display ZIM Archive Index when typing space in some circumstances
* FIX: Avoid duplication of title in wider range of ZIMs
* FIX: Partially fixed broken "unclick" of Configure button on touchscreen devices
* REGRESSION: Fixed failure to refresh full-screen state when clicking in-app in SW mode
* REGRESSION: Fixed rogue error message when using File Handling API
* UPDATE: Sample archive updated to `wikipedia_en_100_mini_2023-10`
* UPDATE: Electron version bumped to 22.3.25

## Release 2.6.4

* FEATURE: Full-text search enabled by default on iOS 15+
* REGRESSION: Fixed loss of ability to pick ZIM archives in latest Chromium on Android
* REGRESSION: Fixed loss of ability to access custom ZIMs from download library
* REGRESSION: Work around missing titles in all WikiMedia scrapes since 2023-07
* FIX: Avoid hyperlinking math fallback images to high-res Wikimedia versions
* FIX: Conflict between manual image display and hyperlinking images to high-res Wikimedia versions
* FIX: More broken Linux icons
* DEV: Appx package is now uploaded to Kiwix releases
* DEV: Added clear documentation to the Create-DraftRelease.ps1 script
* DEV: Remove more unnecessary JQuery from the app
* DEV: Disable appCache by default if developing with the Vite server

## Release 2.5.6

* FEATURE: Ability to pick a folder of ZIM archives in nearly all apps and frameworks supporting the Webkitdirectory API
* FEATURE: New Electron-based appx version of Kiwix JS now served from the Microsoft Store and from GitHub Releases
* FEATURE: Electron app can now handle ZIM files, including the `.zimaa` part of a split ZIM fileset
* FEATURE: Improved file and folder picking experience for Firefox and older browsers lacking the File System Access API
* ENHANCEMENT: Fast re-opening of previously picked archives or directories in these browsers (number of clicks minimized)
* ENHANCEMENT: Dragged and dropped files, including split files, can now be re-opened automatically in Electron and NWJS apps
* ENHANCEMENT: Microsoft Store app now supports full-text search for users with 64bit Windows
* ENHANCEMENT: Provide more gradual screen width transition with max page width auto setting
* ENHANCEMENT: Restored the ability not to display images in ServiceWorker Mode in non-Zimit ZIMs
* ENHANCEMENT: Restored lazy-loading of images on most landing pages (improves Android experience with image-heavy landing pages)
* ENHANCEMENT: The Kiwix PWA can now be added as a Side Panel app in Edge (NB folder picking does not work in this configuration)
* ENHANCEMENT: Top toolbar now resized correctly with Window Controls Overlay in installed PWA on macOS and Windows
* ENHANCEMENT: When using Window Controls Overlay, app now has a draggable area (left of Kiwix icon)
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2023-07`
* UPDATE: Troubleshooting instructions for installing on Debian on the Releases page
* BUILD: Allow producing signed or unsigned versions of appx, and compile to appxbundle
* BUILD: Option to build artefacts only for testing
* FIX: Broken Kiwix icon for Linux app packages
* FIX: Fidelity of layout for translation tables in cached Wiktionary mobile and desktop styles
* FIX: Broken file handling in legacy UWP app
* FIX: Miscellaneous small bugfixes and typos
* DEV: A lot of normalization of coding style using ESLint

## Release 2.5.0

* FEATURE: PWA app is now smaller and loads faster due to minification with modern build process
* ENHANCEMENT: New modular system and bundler ensures smaller and more stable memory management
* ENHANCEMENT: Add a Promise queue to prevent overlapping alert dialogue boxes
* ENHANCEMENT: Major enhancement to the fidelity of rendering Zimit-based ZIM archives
* ENHANCEMENT: Ability to open new browsable windows and tabs in Zimit ZIMs
* UPDATE: Renamed breakout link feature to "Download or open current article"
* UPDATE: Reduce image fade-in transition time
* UPDATE: Add a limit to the number of dialogue boxes that can be queued up
* UPDATE: Make one-time hidden content warning less intrusive
* DEV: Removed RequireJS and migrated app to ES6 native modules
* DEV: Provide clearer colouring when appCache is disabled for development
* DEV: Use rollup.js and Babel to build compatible versions of the app for all supported browsers
* DEV: Provide minified and unminified versions of the bundled app 
* DEV: Added ability to publish a distribution of the app to GitHub Pages for development
* DEV: Add a basic Vite.js server configuration
* DEV: Re-enable use of wingetcreate with v2.6.0 when publishing to winget repository
* WORKAROUND: Prevent hackish Zimit script from causing reload loop in new tabs or windows   
* FIX: Make upgrade notification persistent in Electron app
* FIX: Several UI issues with toolbars and downloads
* FIX: Bug which prevented UWP / Edge Legacy app from reading articles with certain options deselected
* FIX: Missing commit ID in Windows nightly builds
* FIX: Downloading of PDFs in Nautilus-based ZIMs and elsewhere
* FIX: Add secondary URL corrector to increase fidelity of Zimit rendering
* FIX: Add a better algorithm for Kiwix asset detection
* FIX: Make all Zimit links relative
* FIX: Add workarounds for sandboxed iframe: load all https: and pdf content in a new window or tab
* FIX: More robust click and download handling for Zimit ZIMs
* FIX: Add BOM to production bundle when building UWP app (store requirement)
* FIX: Better support for handling external links in iOS
* FIX: Bug that showed irrelevant dialogue box when opening Zimit archives on iOS
* FIX: Bug that loaded a blank screen when asking user whether to open external links
* DEPENDENCY: Update jQuery to 3.7.0, while removing its use in a number of places
* REGRESSION: Fix regression with (former) breakout link feature
* REGRESSION: Restore dialogue box animations that were removed with removal of jQuery
* REGRESSION: Restore Table of Contents functionality disabled with removal of jQuery
* REGRESSION: Restore ability to close several in-page alerts after removal of jQuery
* REGRESSION: Restore automatic updating of appCache

## Release 2.4.4

* ENHANCEMENT: Provide fuzzy search for case-insensitive links in Zimit archives
* ENHANCEMENT: Include broader pseudo-case-insensitive search in title search
* SECURITY: Add iframe referrer policy 'no-referrer'
* SECURITY: Strengthen Content Security Policy via response headers and meta http-equiv
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2023-04`
* UPDATE: Streamline the splashscreen display and make it dynamic
* UPDATE: Add more complete language support to the Download Library languages dropdown
* FIX: Stack Exchange ZIM detection
* FIX: Display of external icons in Stack Exchange articles
* FIX: Dark mode style tweaks for Wiktionary
* FIX: Missing full-text search cancellation which caused race condition in search 

## Release 2.4.0

* FEATURE: Support Full Screen (all browsers) and rotation lock (primarily intended for mobile)
* FEATURE: Significant speed-up of access to Wikimedia archives with option to ignore unneeded JS files
* SECURITY: Added sandbox attribute to iframe to block top-level navigation and attempts by scripts to "phone home" 
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2023-03`
* UPDATE: Mobile styles for Wiktionary archives
* ENHANCEMENT: Provide indication of archive download progress in Electron app
* ENHANCEMENT: Avoid opening blank window when downloading archive in Electron/NWJS
* ENHANCEMENT: Provide troubleshooting option to disable drag-and-drop
* ENHANCEMENT: Use screen width more efficiently in SW mode (with Remove max page width option)
* FIX: Return to article links were missing in ServiceWorker mode
* FIX: Removed orientation key that prevented proper setting of orientation in some contexts
* FIX: Improved detection of Wikimedia ZIMs for seleciton of printing stylesheet
* FIX: Fix for rogue JS in Wiktionary archives (if default option to use locally cached styles is on) 

## Release 2.3.6

* ENHANCEMENT: Tidier Configuration layout with collapsible options
* ENHANCEMENT: Streamline access to legacy file picker when File System Access API unavailable
* ENHANCEMENT: The PWA now works on iOS devices (iPhone/iPad) in Safari and can be added to home screen
* ENHANCEMENT: App now intelligently sets the initial window opening mode (tab or window)
* UPDATE: Neater display of file picking instructions, hiding them when no longer needed
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2023-01`
* FIX: Several issues affecting printing (Zimit archives in Chromium, failure to detect selected options in Safari, etc.)
* FIX: Logic for checking GitHub update server 
* FIX: Legacy file picker is now able to pick ZIM archives on iOS devices 
* FIX: Block a wider range of analytics in Zimit archives
* FIX: Processing of data-srcset blocks in Zimit archives

## Release 2.3.0

* ENHANCEMENT: Check for update to PWA and notify user shortly after startup of the app
* ENHANCEMENT: New "auto" setting for display of hidden navboxes and tables in Wikimedia ZIMs 
* ENHANCEMENT: Detect historical ZIM types and add advice on using jQuery mode to read them
* ENHANCEMENT: Refresh and Reset buttons provided near the top of Configuration in case of app freeze
* DEV: Added developer option to force use of libzim W/ASM decoding of full-text index
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2022-12`
* FIX: Libzim loading error in Electron app with large ZIM archives due to race condition
* FIX: Prevent race condition between reactivation of Service Worker and loading of NODEFS
* FIX: Add BOM to new JS files to conform to Microsoft Store requirements
* FIX: Exception caused by site.js script included in Wikimedia archives
* FIX: Failure to load last-visited article in Electron app
* FIX: Electron file and folder picking methods
* FIX: In UWP app, request to launch PWA is now shown after upgrade splash screen
* FIX: Allow URL-based search to complete before launching full-text search
* FIX: Critical bug preventing display of legacy file picker
* BUILD: Build 64bit and 32bit packages separately to avoid race condition in electron-builder
* BUILD: All Electron apps other than 32bit Linux are now built with latest Electron

## Release 2.2.8

* ENHANCEMENT: Experimental use of libzim WASM port to read Full-Text index (PWA and Electron only)
* ENHANCEMENT: Information added to API panel to show status of Full Text index
* ENHANCEMENT: Run full-text and title search in parallel for faster return of results
* ENHANCEMENT: Building Electron app on GitHub actions now downloads the latest packaged archive before cloud-building
* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2022-11`
* CLEANUP: Removal of several JQuery functions, replaced with native DOM methods 
* CLEANUP: Remove some unused functions
* FIX: Critical startup bug which prevented opening of some packaged archives
* FIX: Bug which prevented reload of last visited page on re-launch of app
* FIX: When dark mode is set to auto, do not use darkReader for Wikimedia ZIMs

## Release 2.2.5

* UPDATE: Sample archive changed to `wikipedia_en_100_mini_2022-10`
* ENHANCEMENT: Experimental option to use DarkReader plugin (SW mode only)
* ENHANCEMENT: Added support for Open Document download types (.odt)
* ENHANCEMENT: UWP app size reduced from 13MB to 5.4MB!
* FIX: A number of glitches with standard and inverted dark themes
* FIX: Crash in UWP app when switching between modes if there are too many archives in a loaded directory
* FIX: Deal with Zimit links correctly when link handling is disabled
* FIX: Test both the encoded and decoded path for Zimit hyperlinks, due to inconsistencies in format
* FIX: Infinite loop when hyperlinks are not being captured by window opener
* FIX: Recognize more file types as assets, to avoid accidentally loading them as articles
* FIX: Failure to display active content warning in some instances

## Release 2.2.0

* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-10.zim`
* ENHANCEMENT: Enable ServiceWorker mode as the default (and deprecate JQuery mode) 
* ENHANCEMENT: Display media download alert only when the medium is fetched from the ZIM
* FIX: Regression preventing UWP app from remaining in ServiceWorker mode
* FIX: Failure to confirm with user before launching SW mode in UWP app

## Release 2.1.9

* ENHANCEMENT: Better suggestions for mirrors when Library server does not provide mirror info
* ENHANCEMENT: A self-contained portable Windows executable is now available for Electron
* UPDATE: Streamline polling of spinner and messaging
* FIX: Selection of languages in Library
* FIX: Display of some irregularly formatted filenames in Library
* FIX: Ensure spinner never shows for more than 3 seconds
* FIX: Display of landing pages of YouTube-based archives (e.g. TED Talks)
* FIX: Ensure dynamic element is scrolled into view when clicked in collection archives
* FIX: Regression preventing load of some relative assets in Zimit archives

## Release 2.1.8

* FEATURE: Enable playback of most offline **embedded** YouTube video in Zimit ZIMs (SW mode)
* ENHANCEMENT: YouTube video **links** can be played offline if video available (JQuery and SW modes)
* ENHANCEMENT: Clearer signposting of Archive Index vs URL Index
* ENHANCEMENT: Show an alert to user if main page is not an article
* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-09`
* WORKAROUND: Assets with erroneous MIME types were misrecognized as articles (blocking reload of some articles)
* FIX: Downloading of non-mirrored content in the Library
* FIX: Recognize XHTML documents and applications in Zimit ZIMs and treat as HTML
* FIX: Wikivoyage package and install icons
* FIX: Bug preventing loading of Nautilus-based ZIM assets
* FIX: Detect more ZIMs for active content warning
* FIX: Provide instructions for showing URL Index in active content warning
* FIX: Download of files with very long filenames
* FIX: Bug causing incomplete loading of images on image-heavy landing pages
* FIX: Display of blue placeholders for manual image extraction in SW mode

## Release 2.1.4

* ENHANCEMENT: Basic Zimit file reading in IE11
* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-08`
* UPDATE: Provide more complete documentation on GitHub
* FIX: Correct location of relative links on Zimit landing pages
* FIX: Add more asset types to Type 1 C-namespace Zimit support

## Release 2.1.0

* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-07`
* UPDATE: Packages are now signed with new Kiwix coding certificate
* UPDATE: BitTorrent files are now displayed before magnet links in the download library
* FIX: Support reading of Zimit archives using new Type 1 C-namespace ZIM format
* FIX: Searching for namespaces with Type 1 Zimit ZIMs
* FIX: Hyperlink transformations for Type 1 Zimit ZIMs
* FIX: Package and install icons for WikiMed and Wikivoyage
* FIX: Bug which caused app to hang when encountering URLs larger than 2KB in length

## Release 2.0.9

* ENHANCEMENT: System back button in UWP app no longer exits the app
* ENHANCEMENT: Hyperlink the currently loaded archive so that user can re-open it easily with a click
* ENHANCEMENT: Make archive links combo box scrollable
* ENHANCEMENT: Make buttons more visible in dark mode
* FIX: Do not redirect to landing page if requested article is not found
* FIX: Prevent app entering an anomalous state if launch of Service Worker mode fails
* FIX: File handling API (works with latest Chrome, and with Edge Beta)
* FIX: Distinguish between Electron and NWJS when reporting app type to UI
* FIX: Dark style for new Stackexchange ZIMs

## Release 2.0.8

* FEATURE: Optionally check for app updates and inform user of availability
* ENHANCEMENT: Radical improvement in CSS rendering in Zimit ZIMs
* ENHANCEMENT: Option to warn before opening external links
* ENHANCEMENT: Provide magnet torrent links in Archive Library
* ENHANCEMENT: Provide link to preview of live ZIM archive on library.kiwix.org
* ENHANCEMENT: Reduce delay between image loads when lazy-loading images (Wikimedia ZIMs)
* ENHANCEMENT: Speed up regex processing of Zimit transforms
* ENHANCEMENT: Intelligently auto-switch image manipulation setting if supported by ZIM type
* ENHANCEMENT: Intelligently turn off dark theme if ZIM does not support it
* ENHANCEMENT: Improve MathML detection
* UPDATE: KaTeX library updated to 0.16
* FIX: Skipping forwards and backwards in videos inside Chromium frameworks
* FIX: Derive redirect information from Zimit Headers if the response is mising from the archive
* FIX: Searching for assets in url index now properly shows the url instead of title
* FIX: System alert dialogue box now handles keyboard events
* FIX: Add some failsafe code to hide spinner if it runs too long (does not handle app crashes)
* FIX: More robust insertion of Contet Security Policy into article
* FIX: Failure to interpret MathML in some circumstances
* FIX: Process correctly the `srcset` property in image sets for Zimit ZIMs
* FIX: Disable lazy image loading in Zimit ZIMs
* FIX: Add some failsafe code to hide spinner if it runs too long (does not handle app crashes)
* FIX: Dark theme for new Stackexchange ZIMs
* FIX: Interoperability between JQuery and Service Worker modes with Zimit archives
* FIX: Max page width manipulation in IE11

## Release 2.0.0

* FEATURE: Search for any asset in any ZIM by prefixing namespace
* ENHANCEMENT: Filter out undesired files more effectively (Zimit ZIMs)
* ENHANCEMENT: Process URLs in JavaScript files (Zimit ZIMs)
* ENHANCEMENT: Ensure user clears the cache when switching to SW mode while a Zimit ZIM is loaded
* ENHANCEMENT: Prevent expensive RegExp processing for irrelevant ZIM types
* ENHANCEMENT: Driect download certain recognized content types for Zimit archives
* ENHANCEMENT: Made PWA manifest compatible with Chromium installability criteria
* UPDATE: Refresh Kiwix icons
* UPDATE: Remove landing page override for mdwiki at request of maintainer
* UPDATE: Hyperlinking of images to high-res versions is now off by default
* FIX: Bug that caused repeating images when hyperlinking images to online high-res versions
* FIX: Erroneous link handling for Zimit files
* FIX: Add any missing file extension to downloadable files and construct MIME types if missing
* FIX: Exception when reloading the last selected archive on certain platforms
* FIX: Remove lazy image loading system if detected
* FIX: Errors with parsing and display of archive links in download library
* FIX: Adjustment to max page width restrictions is now applied on resize
* FIX: Remove more analytics spy scripts from Zimit ZIMs
* FIX: Incorrect meta tag encoding for some Zimit archives

## Release 1.9.9

* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-04`
* FEATURE: Experimental support for reading Zimit ZIM archives
* FIX: Support for reading background and bullet images in Zimit CSS in Service Worker mode
* FIX: Style of thumbinner Wikipedia images adjusted so that images are back in their original position
* FIX: MDwiki thumbinner images now have an MDwiki-specific override to prevent text bleeding to left of image
* FIX: Links to PDF data are now recognized by MIME type and downloaded as if they were files
* FIX: Support image links that have querystrings in Zimit archives
* FIX: Support percent-encoded ZIM URLs in Zimit archives
* FIX: Transition away from testing file extensions for caching strategy
* REGRESSION: Fix display of book thumbnails in Gutenberg ZIMs
* BUILD: Nightly builds of main app are now uploaded to a new server (with sftp instead of ssh)
* BUILD: Deploy PWA image on a k8s cluster
* BUILD: PWA images are now uploaded to ghcr.io instead of Docker Hub

## Release 1.9.6

* UPDATE: Sample archive updated to `wikipedia_en_climate_change_mini_2022-03`
* FEATURE: Option to hyperlink images in Wikimedia ZIMs to the online File for the image
* ENHANCEMENT: Electron app now uses File System Access API except for initial loading of packaged archive
* DEV: Provided instructions on how to split a ZIM archive using WSL
* DEV: The NWJS app is now built via CI (including nightly)
* FIX: App now (optionally) remembers the last viewed article for split ZIM archives
* FIX: Electron and UWP apps now auto-load split ZIM archives
* FIX: Failure to recognize landing page when retrieved from history or cache

## Release 1.9.3

* UPDATE: New sample archive: `wikipedia_en_climate_change_mini_2022-02`
* FEATURE: Electron apps now auto-update (Windows exe and Linux AppImage versions only)
* ENHANCEMENT: App now recognizes `mdwiki` ZIMs as WikiMed variants, and shows custom landing page
* REGRESSION: The NWJS has reverted to using JQuery mode by default while investigating an app crash with some articles in SW mode
* DEV: Automatic building of Electron app now enabled via GitHub Actions
* FIX: Improvement to independent browsing of windows in UWP app in SW mode
* FIX: Patch some CSS errors in `mdwiki` ZIMs
* FIX: Stabilize page loading when assets are missing (in SW mode)
* FIX: Styling of image-based landing pages

## Release 1.9.0

* ENHANCEMENT: Service Worker mode is now the default in contexts or frameworks that natively support it with good performance
* ENHANCEMENT: Option to reset app to defaults in Expert settings
* ENHANCEMENT: Better feedback to user during slow ZIM archive loading
* ENHANCEMENT: Included favicons at various resolutions
* ENHANCEMENT: App now uses Bootstrap asynchronous dialogue boxes for modal alert and confirm
* DEV: Developer option to bypass appCache
* DEV: Window location information now shown in API panel
* FIX: Bug that would sometimes cause a blank screen in Service Worker mode on slow devices
* FIX: Set headers properly when caching Fetch responses in JQuery mode
* FIX: Loading of articles that have question marks or hashes in the title
* FIX: Incorrect attempt to register Service Worker in XP version of NWJS app causing fatal crash on startup
* FIX: Random button now warns user if archive is not loaded
* FIX: Race condition loading deocmpressors which caused failure in some rare contexts with the file:// protocol
* FIX: Bug preventing proper loading of landing page in Khan Academy and TED Talks ZIMs

## Release 1.8.6

* UPDATE: Sample archive updated to `wikipedia_en_100_nopic_2021-12`
* ENHANCEMENT: Assets cache and app cache are now separated, so assets persist after update
* ENHANCEMENT: New persistent caching of ZIM assets that are not provided in file system singinficantly improves performance
* ENHANCEMENT: Automatically choose best available caching technology: Cache API, IndexedDB, Local Storage or memory
* ENHANCEMENT: New Cache API info panel in Configuration, and option to stop using and empty the cache
* FIX: Regression whereby blue image placeholders were not shown in jQuery mode when user turns off image display
* FIX: Bug whereby upgrade alert was triggered by caches from other apps on the same domain

## Release 1.8.5

* FIX: Stylesheet errors with sistersite boxes
* FIX: Regression with Electron file handling causing previously picked archive to be forgotten
* FIX: Fatal Electron error on startup if packaged archive cannot be found
* FIX: NWJS file handling with legacy file picker (for XP and Vista builds)

## Release 1.8.2

* UPDATE: Sample archive updated to `wikipedia_en_100_nopic_2021-11`
* UPDATE: App can now use the latest Electron release and APIs
* ENHANCEMENT: Electron version can now read contents of a picked archive directory
* ENHANCEMENT: Scrollbars are now styled (with darker colours) in dark mode (in Chromium frameworks)
* ENHANCEMENT: More app files are precached in the PWA for better offline experience
* ENHANCEMENT: Hardware back and forward buttons on mouse now work with UWP app (natively supported in other contexts)
* FIX: Prevent most app crashes when switching to SW mode in UWP app
* FIX: More intelligent relocation of hatnote and noexcerpt blocks
* FIX: UI bug when using the UWP app with a secondary display (via Config option)
* META: Release of UWP/PWA and Electron/NWJS versions of the app are now unified

## Release 1.7.8

* UPDATE: Sample archive updated to `wikipedia_en_100_nopic_2021-10`
* EXPERIMENTAL: Added option to display hidden block elements, prinicipally for Wikimedia ZIMs
* ENHANCEMENT: With display hidden elements opetion, force display of zero-width images also
* ENHANCEMENT: Allow more time between clicks to register a double-right-click
* FIX REGRESSION: Prevent incorrect parsing of map markers when image manipulation is on in SW mode
* FIX REGRESSION: Closing all sections (by deselecting "Open all sections") now works again in jQuery mode
* BACKEND: Use a safer way of determining the ZIM name and type

## Release 1.7.6

* UPDATE: Sample archive updated to `wikipedia_en_100_nopic_2021-09`
* ENHANCEMENT: The app should now show dynamic content on landing pages in YouTube-based ZIMs (SW mode)
* ENHANCEMENT: Option for map pins to open OpenStreetMap instead of Windows Maps App (mostly for Wikivoyage)
* ENHANCEMENT: Select map type automatically: Maps App for Windows, OSM for Linux or other
* ENHANCEMENT: Use smaller pins for Wikipedia pages vs Wikivoyage pages
* DEPRECATED: Disabled *indpenedent* resizing of content in iframe with touch: too slow, and worked only in Chromium
* FIX: Video playback controls are now shown in Khan Acadeny ZIMs (and others based on YouTube)
* FIX: Bug relocating hatnotes which moved extraneous text blocks
* FIX: Image rendering bug with substitute landing pages
* FIX: Fatal error loading the PWA in some circumstances
* FIX: Data URIs with WebP images can now be rendered in old browsers
* FIX: Style issues and rendering of map pins in German Wikimedia ZIMs
* FIX: Error with offline Cache that prevented PWA from working fully offline
* FIX: Prevented the NWJS app for Windows XP from attempting to switch to SW mode (which doesn't work)

## Release 1.7.3

* ENNHNCEMENT: Added more diagnostic APIs to the API panel in Configuration
* ENHANCEMENT: Added refresh button for picked folder in Configuration (UWP or File System Access API)
* ENHANCEMENT: Added some extra directories of useful ZIM archives to Donwload library
* ENHANCEMENT: Provide option to allow image manipulation (saving to disk or opening in new tab)
* ENHANCEMENT: Provide contextual warnings for features that do not work well with dynamic content
* ENHANCEMENT: Added help section in About concerning link handling, dynamic content, new windows, etc.
* ENHANCEMENT: Verbose tooltips provided for several options in Configuration
* ENHANCEMENT: Usage instructions more clearly highlighted on first run
* UPDATE: Sample ZIM changed to `wikipedia_en_100_nopic_2021-08.zim` in order to reduce app size
* UPDATE: New option to change right click to double right click for opening new window or tab
* FIX: Issue preventing correct parsing of ZIM archive path in some contexts in SW mode
* FIX: Some app crashes when switching the UWP app to SW mode
* FIX: Printing in SW mode (load all images correctly before printing)
* FIX: Restoring DOM after printing in SW mode
* FIX: Issues with toolbars getting stuck on after searching for text in article
* FIX: Better replication of infobox mobile and desktop styles
* FIX: Typo in code causing some pages to load assets incorrectly in jQuery mode
* FIX: Updated style locations for custom WikiMed landing page (fixes display issue)

## Release 1.6.0

* FEATURE: New dropdown in Download Library allows filtering the list of archives by subject (for some ZIM types)
* ENHANCEMENT: Sorting the Download Library list by clicking on the Size / Last modified / Name headers
* ENHANCEMENT: The app can now take advantage of native Promises (faster than Q)
* ENHANCEMENT: Decompressors now loaded as fast binary WASM modules if the brower supports WebAssembly
* UPDATE: Sample ZIM updated to `wikipedia_en_100_maxi_2021-07.zim`
* EXPERIMENTAL: Intalled PWA can now be opened offline when double-clicking ZIM archive (depends on File Handling API)
* FIX: More displaced hatnotes corrected
* FIX: Style injection code that would (rarely) cause an exception on some ZIM types

## Release 1.5.0

* FEATURE: Search with wildcards `.*`, `.+` or regex syntax `(?:my_regular_expression)`
* FEATURE: (Experimental) PWA is paritcipating in File Handling API origin trial
* ENHANCEMENT: Significant speed-up by using native Promise API, or modern polyfill where needed
* ENHANCEMENT: Added full usage/syntax notes for title search and Alphabetical Title Index
* ENHANCEMENT: Include `h4` headings in Table of Contents
* ENHANCEMENT: Report number of titles scanned for long title searches
* UPDATE: Sample ZIM updated to `wikipedia_en_100_maxi_2021-06.zim`
* FIX: Display of ZIM Archive Index
* FIX: Bug which failed to detect images correctly in a new tab
* FIX: Touch-zoom of contents of iframe no longer blanks part of the display
* FIX: Broken zoom of contents of iframe (with UI buttons) in Internet Explorer
* FIX: Bug setting up backlinks which caused some pages not to load
* FIX: Unhandled exception when cite ref was not found

## Release 1.4.2

* ENHANCEMENT: Improve zooming and re-flowing the article contents in browsers that support the `zoom` style property
* ENHANCEMENT: Add a Content Security Policy preventing contents of a page from connecting to online resources
* FIX: Crash in UWP app after updating a ZIM archive
* FIX: Improve handover from local code to PWA code to prevent rogue error message
* FIX: Improve page composition timing for non-MS browsers

## Release 1.4.1

* FIX: Critical bug where article is not unhidden in time on slow systems in jQuery mode
* FIX: Issues with dark mode in Gutenberg ZIMs using SW mode
* FIX: Missing images from book lists in Gutenberg ZIMs

## Release 1.4.0

* ENHANCEMENT: Pre-calculate position and size of article namespace in legacy ZIMs (speeds up binary search)
* ENHANCEMENT: New option to move navigation buttons to the top toolbar
* UPDATE: Sample ZIM updated to `wikipedia_en_100_maxi_2021-05.zim`
* UPDATE: System dark/light mode now used for "auto" setting in modern browsers (as well as UWP)
* UPDATE: KaTeX to v0.13.11
* FIX: Double-clicking on archive failed to launch it in UWP app running in SW mode
* FIX: Hover and active colours on buttons
* FIX: Hide jump in page position during article load in Service Worker mode
* FIX: Adjusted timing of hiding and showing the article during page composition
* FIX: Intermittent failure to compose page in UWP app on mobile
* FIX: Reposition multiple displaced hatnotes
* FIX: Click on document reloads article when open new window feature is off
* FIX: Bug which prevented auto launch of packaged file on first install
* FIX: Issue preventing the article window from receiving focus for keyboard input

## Release 1.3.2

* FEATURE: Open a new browsable tab or window with right-click, long-press, ctrl-click, middle-click
* UPDATE: Sample archive updated to `wikipedia_en_100_maxi_2021-04`
* UPDATE: Release Linux AppImage packages for Electron-based build
* ENHANCEMENT: Alt-left or Ctrl-left (and same for right key) can now be used for navigation
* FIX: Prevent flash between page loads by adapting empty screen to the selected theme color
* FIX: Crash on upgrade of ZIM archive in some contexts
* FIX: Subtitle dislplay on videos
* FIX: Download of media and subtitles
* FIX: Display of list-based home pages
* FIX: Failure to apply dark theme to articles with no CSS
* FIX: Bug affecting middle-click when opening a new window or tab
* FIX: Bug which hid the file selectors when the app could not get a handle on a file or directory
* FIX: Bug preventing touch navigation

## Release 1.2.5

* ENHANCEMENT: PWA now adapts if it was launched from a basic packaged app
* UPDATE: Location of cached styles tweaked to reflect latest location in ZIM archives
* UPDATE: Cached main pages for WikiMed and Wikivoyage updated and used by vanilla app
* FIX: Properly define width of infoboxes in Wikimedia Destop style

## Release 1.2.4

* UPDATE: Packaged archive updated to `wikipedia_en_100_maxi_2021-03`
* ENHANCEMENT: Support v1 article index in no-namespace ZIM archives
* ENHANECMENT: Detect and correct erroneous hard-coded sytling of navboxes in recent ZIMs
* FIX: Correct width of infoboxes in Wikipedia Desktop style
* FIX: Failure to recognize mouse click on title index entry
* FIX: Issue preventing proper relocation of infobox when transforming to desktop style

## Release 1.2.3

* UPDATE: Better messaging around 'failure' to load SW mode (not a real failure)
* FIX: Calculation of appRoot directory

## Release 1.2.2

* ENHANCEMENT: Use a list of customized start pages even if the app is generic
* FIX: Map markers not showing in Service Worker mode
* FIX: Implement internal app:// links for app-based assets
* FIX: Race condition in handover to PWA code
* FIX: Faulty permalinks

## Release 1.2.1

* UPDATE: Minor update to improve handover between local and PWA code
* ENHANCEMENT: If app is running as a PWA, its identity is changed to Kiwix JS PWA
* FIX: Display of masonry tiles in JQuery mode with latest ZIMs

## Release 1.2.0

* ENHANCEMENT: Enable Service Worker mode in UWP app
* ENHANCEMENT: New domain pwa.kiwix.org for the PWA/UWP app
* UPDATE: Preliminary support for ZIM archives with no namespace
* UPDATE: Revised Privacy Policy to reflect PWA usage

## Release 1.1.4

* UPDATE: Included ZIM updated to `wikipedia_en_100_maxi_2021-01.zim`
* UPDATE: More consistent install prompt display in Configuration (for PWA)
* ENHANCEMENT: Provide more robust upgrade process for PWAs, including notification banner
* FIX: Disable HTTP cache when pre-caching upgraded app files
* FIX: Switching to jQuery mode in the PWA app no longer prevents the app working offline
* FIX: Display of masonry-style landing pages in SW mode
* FIX: Inconsistent use of Settings Store during app initialization
* FIX: Delete accidentally created Indexed Databases with wrong filename on startup (where possible)
* FIX: Provide explicit Content Security Policy headers to reduce or eliminate CORS errors in SW mode
* FIX: Broken manual display of images in SW mode
* FIX: Broken "Open all headings" option in SW mode
* FIX: Printing in SW mode
* FIX: Bugs with reload of last visited article
* META: Create-DraftRelease PowerShell script supports automatic creation of GitHub releases for more versions of the app

## Release 1.1.3

* UPDATE: Included ZIM updated to `wikipedia_en_100_maxi_2020-12.zim`
* UPDATE: Support new location of mobile and desktop styles in Wikimedia ZIMs
* UPDATE: Upgrade Settings store to use localStorage over cookies where available
* ENHANCEMENT: Enable use of Native File System with NWJS
* FIX: Styling of index-based landing pages
* FIX: Bugs with file picking in Native FS

## Release 1.1.2

* UPDATE: Included ZIM updated to `wikipedia_en_100_maxi_2020-11.zim`
* UPDATE: WebP support (via polyfill) for older browsers including Windows Mobile
* ENHANCEMENT: Improved block cache and faster conversion of file slice to blob
* REGRESSION: Manual extraction of images reverted to one-by-one to prevent errors with WebP batch decoding
* FIX: Critical error on some new Wikipedia articles containing equations
* FIX: Prevent erroneous display of Active Content Warning with ZSTD archives
* FIX: Reduce some cross-origin errors

## Release 1.0.0

* UPDATE: Included ZIM updated to `wikipedia_en_100_maxi_2020-09.zim`
* UPDATE: App now supports newest archives encoded with ZSTD compression
* ENHANCEMENT: Decompression speed gains with ZSTD
* ENHANCEMENT: Allow use of keyboard to select archive from archive list
* ENHANCEMENT: Option to display articles with all sections open or closed
* FIX: Prevent archive list from jumping to wrong archive on click
* FIX: Critical error on load if packaged archive name has changed
* FIX: Download links are no longer erroneously cached by the Service Worker
* DEPRECATED: Scrolling information for new users

## Release 0.9.9.992 (beta)

* UPDATE: Included ZIM updated to `wikipedia_en_100_maxi_2020-08.zim`
* UPDATE: Some new Kiwix icons
* FIX: Prevent extraneous titles appearing in search
* FIX: Broken drag-and-drop
* FIX: Bug with construction of backlinks preventing load of some Wikipedia articles
* FIX: Calculate path of breakout icon correctly in SW mode
* ENHANCEMENT: Use Native File System API in PWA version
* ENHANCEMENT: Fix printing in the Electron app
* ENHANCEMENT: Support launching Electron app from shortcut
* ENHANCEMENT: Better error reporting in console log

## Release 0.9.9.991 (beta)

* FIX: Bug preventing all Kiwix apps accessing latest ZIMs (incorrect method of reading MIME type list)
* ENHANCEMENT: Included ZIM changed to wikipedia_en_100_maxi_2020-06.zim
* FIX: Several bugfixes to allow better running of Electron app in SW mode

## Release 0.9.9.99 (beta)

* ENHANCEMENT: Major upgrade to the title-search algorithm: search is now near-case-insensitive
* UPDATE: Included sample ZIM updated to wikipedia_en_ray_charles_maxi_2020-05.zim

## Release 0.9.9.98 (beta)

* ENHANCEMENT: Make app compatible with Electron / NWJS as a packaged app
* ENHANCEMENT: Better user experience for PWA version
* ENHANCEMENT: Attempt to make app a little more usable on Android browsers
* FIX: Incorrect layout when transforming WikiMed articles to desktop style
* FIX: Failure to load landing page when backing into it from history.back
* FIX: Incorrect hiding of toolbars after using in-page search
* UPDATE: Update Q Promise support to v1.5.1

## Release 0.9.9.97 (beta)

* ENHANCEMENT: Intuitive toolbar hiding/showing on scroll down/up
* ENHANCEMENT: Added block cache to speed up search considerably
* ENHANCEMENT: Provide option to set number of results to find when searching
* ENHANCEMENT: Provide app install experience for PWA
* FIX: Search results can now be scrolled by touch on Windows 10 tablets
* FIX: Corrected height of search results window so content is not hidden under footer
* FIX: Prevent ugly jumping of iframe on new article load
* FIX: Allow use of special characters in article search
* FIX: Remove broken links to deprecated portable versions of archives
* UPDATE: Added missing stylesheets for cache
* UPDATE: Added some more initial files to load for PWA

## Release 0.9.9.96 (beta)

* FIX: Broken display of Kiwix download library
* FIX: Broken display of MathML when there are no images in the document
* FIX: Search bar always remains on-screen if selected (in non-mobile contexts)
* FIX: All images above the fold are now loaded (async timing of image scanning was premature)
* FIX: Math typeset by KaTeX is rendered better when there are mbox statements (fbox is used instead)
* FIX: Display-style maths SVGs are now correctly inverted in dark mode
* FIX: Standard dark-mode SVGs in infoboxes and elsewhere are now displayed correctly without inversion
* FIX: Truncated display of search box
* UPDATE: Updated KaTeX library to v0.11.1
* ENHANCEMENT: Include more files in PWA payload to allow better offline functionality in PWA scenarios
* ENHANCEMENT: Appxbundle is now signed with Kiwix certificate for a better sideloading experience
* KNOWN ISSUE: In mobile contexts, top bar always gets hidden by Bootstrap on scroll

## Release 0.9.9.95 (beta)

* UPDATE: Improved support for stylesheets in latest Wikipedia ZIMs
* UPDATE: Updated the Privacy Policy
* ENHANCEMENT: The base app (not UWP) can now be installed as a PWA (visit <https://kiwix.github.io/kiwix-js-windows/www/index.html> to try)
* ENHANCEMENT: Assets are now cached in Service Worker mode
* ENHANCEMENT: Support MathML in latest Wikimedia ZIMs
* FIX: Fixed broken drag-and-drop
* FIX: Enable page extraction in Service Worker mode
* FIX: Rare condition where a missing ZIM causes the app to crash on load
* FIX: Fixed broken display of active content warning

## Release 0.9.9.94 (beta)

* ENHANCEMENT: Provide an alert if a packaged or picked file cannot be found
* ENHANCEMENT: App can now be compiled with Electron or NWJS to support Win XP/7/8.1 (see [releases](https://github.com/kiwix/kiwix-js-windows/releases))
* ENHANCEMENT: CORS errors are now detected and a message provided to the user to help resolve
* ENHANCEMENT: Fallback to localStorage if cookies are not supported (e.g. running Chromium from file:///)
* FIX: Bug with equations containing apostrophes
* FIX: ZIMs running in quirks mode are now patched to run in standards mode
* FIX: Better algorithm for adding missing notes backlinks
* FIX: Better process for hiding navbar (though Bootstrap still ignores on mobile)
* FIX: All blocks are now opened for details-summary tags
* FIX: Bugs with the timing of display blanking between page loads
* FIX: Missing target attribute for hyperlinks to some external files
* FIX: Race condition preventing jQuery `alert.hide()` statements from running
* FIX: Enable dark theme and style transformations in Service Worker mode
* FIX: Enable printing in Service Worker mode
* FIX: Critical page reload loop when switching styles in print dialogue
* FIX: Update printing filters to support deatils-summary ZIMs
* FIX: Rare condition where a missing ZIM causes the app to crash on load
* FIX: Article is now re-loaded on change of content injection mode
* FIX: Scripts no longer run in Quirks mode (for clients supporting Service Worker)
* UPDATE: August 2019 update of Ray Charles ZIM

## Release 0.9.9.91 (beta)

* FIX: Remembered last page is now properly blanked on new archive load
* FIX: The article content div is now hidden until the HTML for the requested article is injected
* FIX: Number of stylesheets retrieved from ZIM was not being counted properly, causing some pages to load twice
* FIX: New MediaWiki ZIMs with details-summary tags are now supported
* FIX: Low-level ZIM reader now conforms to libzim logic in deriving title from url
* FIX: Low-level ZIM reader now reads the MIME type list from the ZIM
* FIX: A system alert utility is now provided, to avoid using synchronous alert()
* FIX: Bug causing localStorage to fill up has been fixed
* FIX: A workaround has been added for improperly coded hyperlinks in subdirectories in WikiMedia ZIM files
* FIX: Various tweaks to cached and trasnformed styles
* FIX: Many more equations now rendered correctly due to change of engine
* FIX: Service Worker mode now works in browser context (not app context)
* FIX: MathTex now rendered in Service Worker mode
* UPDATE: Removed dependency on base tag, simplifying handling of hyperlinks
* ENHANCEMENT: Links in clickable image maps (e.g. in Wikivoyage) are now supported
* ENHANCEMENT: App code supports developer setting a custom start page for a packaged ZIM
* ENHANCEMENT: A ZIM archive can be loaded through drag-and-drop of the file into the app
* ENHANCEMENT: A ZIM archive can be loaded by double-clicking the file in Explorer
* ENHANCEMENT: Article search results can now be selected with physical keyboard (down, up, enter keys)
* ENHANCEMENT: Better lazy image loading, and enable lazy loading for Service Worker mode
* ENHANCEMENT: Subtle fade-in effect for lazy-loaded images
* ENHANCEMENT: Allow breakout link to work in Service Worker mode
* ENHANCEMENT: Change MathTex rendering engine from MathJax to KaTeX (much faster)

## Release 0.9.9.90 (beta)

* FIX: Remembered last page is now properly blanked on new archive load
* FIX: Number of stylesheets retrieved from ZIM was not being counted properly, causing some pages to load twice
* FIX: The article content div is now hidden until the HTML for the requested article is injected

## Release 0.9.9.89 (beta)

* FIX: Fixed regression preventing use of download library
* FIX: Fixed problems searching for dirEntries with empty titles in new ZIMs
* FIX: Correctly handle anchor links with a single #
* ENHANCEMENT: Improved styling of checkboxes in light and dark modes

## Release 0.9.9.88 (beta)

* ENHANCEMENT: Article can now be sent to device's browser for reading, side-by-side viewing, printing
* ENHANCEMENT: A breakout icon can optionally be shown on each page to enable sending page to browser (see Settings)
* ENHANCEMENT: A new "auto" setting for dark mode and dark theme follows the system default for UWP apps
* ENHANCEMENT: Checkbox and radio buttons are now styled and coloured for better visibility (also larger)
* ENHANCEMENT: Packaged apps now default to showing the most appropriate ZIM archive types from Library
* ENHANCEMENT: Streamlined the process for adding other languages of packaged app ZIM files
* ENHANCEMENT: Language and date selectors in Library are now responsive to each other
* ENHANCEMENT: Download link more clearly signalled
* UPDATE: Deal with re-organized stylesheets in mwoffliner ZIMs
* FIX: Fixed regression caused by removal of timeout for find in article function
* FIX: App detects a language that is predominantly ASCII and uses left-side word searching in that case (Chinese open-type search should be unaffected)
* FIX: Prevent crash if changing language selector on "wrong" screen
* FIX: Prevent timeout-related crashes on slower
* FIX: Prevent unusable app state after clicking non-Roman alphabet button in Archive Index

## Release 0.9.9.87 (beta)

* FIX: Removed timeout preventing fast typing for find in article function (Ctrl-F / Alt-F)
* FIX: Allow searching in article for languages that do not use spaces (such as Chinese)

## Release 0.9.9.85 (beta)

* ENHANCEMENT: Support for playing media (video/audio) in the ZIM if the device has the required codec
* ENHANCEMENT: Support for "downloading" media (e.g. videos+subtitles) from the ZIM
* ENHANCEMENT: Media are launched via appropriate app selection menu after download (mobile)
* ENHANCEMENT: Preliminary support for TED and dirtybiology ZIMs
* ENHANCEMENT: Preliminary support for Project Gutenberg ZIMs
* ENHANCEMENT: Support for "downloading" epub ebooks from Gutenberg ZIMs
* ENHANCEMENT: Epubs are launched in Edge's built-in epub reader, or via app selection menu
* ENHANCEMENT: Typing a space in search box now displays an Archive Index
* ENHANCEMENT: Option to support non-Roman alphabets for Archive Index
* ENHANCEMENT: If active content is detected in the ZIM, information is given about accessing the Index instead
* FIX: Add startup bootloop crash prevention
* FIX: Exceptions produced by unsupported JS in ZIM articles are now caught
* FIX: Prevent app crash with malformed anchor references
* FIX: Rogue ampersands in MathJax output are now correctly escaped
* FIX: Correct logic in binary search so it doesn't stall if assets in A namespace have no title
* FIX: Missing footnote reference numbers in desktop ZIMs transformed to mobile style
* FIX: Assets with unescaped characters in URL should now be retrieved correctly
* FIX: Individual extraction of images when images are disabled in Configuration

## Release 0.9.9.8 (beta)

* UPDATE: Ray Charles ZIM to October 2018 version
* ENHANCEMENT: Add a modern CSS spinner and rework status messages
* ENHANCEMENT: Neater presentation of article search results
* FIX: Crash when previously picked archive has been moved or deleted
* FIX: Support changed format of anchor references in latest English Wikipedia
* FIX: Correctly apply mobile styles when one of the defaults is missing
* FIX: Incorrect utf8 characters in mobile styles

## Release 0.9.9.7 (beta)

* ENHANCEMENT: Optimization of decompression process
* WORKAROUND: Prevent periodic hang in Service Worker mode
* FIX: Crash in RegExp engine caused by malformed backreferences in some articles

## Release 0.9.9.6 (beta)

* UPDATE: Mobile styles
* ENHANCEMENT: New compile of decoding engine provides significant performance improvement
* ENHANCEMENT: Better memory management to prevent app crashes
* ENHANCEMENT: Reduced dependency on jQuery for further performance gains
* ENHANCEMENT: Tweaks to dark theme
* ENHANCEMENT: Improvements to show-hide sections toggle function with footnote/endnote references
* FIX: Headers that open or close sections are no longer accidentally selected on tap or click
* FIX: Descriptive text for UI controls is now non-selectable for cleaner app experience
* FIX: Whitespace at the end of the page is now preserved when hiding reference section
* FIX: Tapping headers now only opens and closes sections on narrow screens as intended by WikiMedia

## Release 0.9.9.5 (beta)

* ENHANCEMENT: Headings in article can be toggled open or closed with tap or click
* ENHANCEMENT: Current page is cached in localStorage for very fast restart and reloading
* ENHANCEMENT: Automatically switch to desktop style for better printing result
* FIX: Bug which prevented switching the printing device (caused app crash)
* FIX: Bug in download links preventing display of language codes that are substrings of other language codes

## Release 0.9.9.4 (beta)

* ENHANCEMENT: Experimental support for printing articles
* ENHANCEMENT: Print zoom capability
* ENHANCEMENT: Prevent printing of location pins
* ENHANCEMENT: Set maximum page width to 100% before printing
* ENHANCEMENT: Better presentation of About and Changelog information
* WORKAROUND: MW-Offliner bug which places extraneous tags in some HTML id attributes

## Release 0.9.9.3 (beta)

* FIX: Article now reloads correctly when switching styles
* FIX: Unhandled exception after using in-article word search
* FIX: Browser history now remembered for first page load
* ENHANCEMENT: Filter ZIM archives by date in download links
* ENHANCEMENT: Option to remove maximum page width restriction for Wikipedia articles
* ENHANCEMENT: Setting or clearing dark themes no longer require page reload
* ENHANCEMENT: Wider range of infoboxes, and "homonymie" hatnotes supported
* ENHANCEMENT: Better algorithm for moving first paragraph when there are stacked infoboxes

## Release 0.9.9.2 (beta)

* FIX: Added more padding for content hidden under the bottom bar
* FIX: New mode of injecting HTML into iframe fixes baseUrl issues
* ENHANCEMENT: Some code redundancy removed
* ENHANCEMENT: Faster typesetting of TeX equations
* ENHANCEMENT: Experimental support for equations in mathoverflow and related stackechange ZIMs
* ENHANCEMENT: Dark theme support for stackexchange ZIMs
* ENHANCEMENT: Uncluttered the UI for file selection

## Release 0.9.9 (beta)

* FIX: Reduced memory usage for decompressing multiple SVG images/equations to prevent crash on devices with 1GB RAM
* FIX: Display bug causing Settings tab to remain selected after article load
* FIX: Corrected dark-style backgrounds in some infoboxes on WikiMed
* FIX: Loads landing page when an article is not found (instead of throwing a silent error)
* WORKAROUND for misplaced hatnotes in mobile-style ZIMs
* WORKAROUND for hidden IPA pronunciation information on some articles
* ENHANCEMENT: 'Unclicking' a tab (Settings or About) now returns the user to the article
* ENHANCEMENT: Activating dark theme for UI now activates article dark theme by default
* ENHANCEMENT: Improved handling and display of file selectors
* ENHANCEMENT: Clearer navigation signposting from About tab
* ENHANCEMENT: Dedicated icon for WikiMed archives

## Release 0.9.7 (beta)

* UPDATE: January 2018 update of Wikivoyage ZIM archive to wikivoyage_en_all_novid_2018-01.zim
* ENHANCEMENT: The Wikivoyage app now hides the file selectors by default in the Config menu to avoid confusion and to encourage use of Kiwix JS for anything not related to Wikivoyage
* FIX: Added icon indicating that a link is to an external web site
* ENHANCEMENT: Inject footnote backlinks if the ZIM doesn't have any
* ENHANCEMENT: Support ZIMs that have subdirectories (Stackexchange family ZIMs)
* FIX: Bugs in mobile to desktop style transformation
* FIX: Issue with infoboxes and images not stacking correctly on mobile displays
* FIX: Support new-style infoboxes in German Wikivoyage
* FIX: Last-visited page was not being remembered when user picked the file as a single archive
* FIX: Bug which prevented the dark mode by simple inversion from functioning
* FIX: Issue with toolbar icons being misaligned on small screens

## Release 0.9.6 (beta)

* FIX: Prevent bottom toolbar from wrapping across two lines on small screens
* ENHANCEMENT: Enabled autoloading of last-read page on app start (and privacy option to turn this off)
* ENHANCEMENT: Geo-location co-ordinates in English and German Wikivoyage are represented with a location marker that links to the Maps app (opens map to show the precise location)
* ENHANCEMENT: Telephone numbers marked with tel: links will attempt to open a relevant app for dialling (e.g., Skype or the People app) when selected
* FIX: Links in Stackexchange ZIMs are now recognized and can be used to open the content
* WORKAROUND: Some Wikivoyage entries have HTML showing in the header, and this is now (temporarily) suppressed (the HTML is interpreted) until the ZIMs are fixed
* ENHANCEMENT: The toolbar icon now switches to a Wikivoyage logo if a Wikivoyage ZIM is loaded

## Release 0.9.3 (beta)

* WORKAROUND: Mis-aligned toolbar icons on smaller screens
* FIX: Rogue HTML showing in some pages from recent ZIM archives
* ENHANCEMENT: Better experience when scanning local storage for archives

## Release 0.9.0 (beta)

* ENHANCEMENT: Auto-loading of ZIM archives on device storage
* ENHANCEMENT: In-page search / highlighting with Ctrl-F / Alt-F or tap on search button
* ENHANCEMENT: Uses UWP APIs for sotrage: Future Access List so that users do not need to pick their ZIM file every time
* ENHANCEMENT: Dark-themed User Interface
* ENHANCEMENT: Experimental Wikipedia Dark Theme
* ENHANCEMENT: Font scaling for articles and for the UI
* ENHANCEMENT: Cleaner, minimalistic UI (eliminated hamburger menu due to poor navigability)
* FIX: Display of SVG files is handled by careful queuing of images to send to the decompressor (fixes hang in articles with many equations)
* ENHANCEMENT: If the TeX string of an equation is available, it will be typeset using MathJax (huge speed improvement)
* ENHANCEMENT: Transform the layout of Wikipedia articles from desktop to mobile style and vice versa (experimental)
* ENHANCEMENT: Disable the display of images, and extract them one-by-one as needed (for slow devices)
* ENHANCEMENT: Only send images in current viewport to the decompressor, and prefetch configurable (by developer) number of images from above and below the viewport
