Fully portable & lightweight ZIM reader in Javascript
Version 4.0 is a major anniversary milestone for Kiwix JS! This release has major new features together with significant under-the-hood refactoring.
The most important new features include:
Under the hood, a new architecture for the Service Worker supports multi-ZIM reading and boosts efficiency by allowing the browser to suspend and restart the Service Worker whenever needed.
And that's just the tip of the... iceberg: for the full user-friendly changelog, see CHANGELOG.
minorVersion
> 2 by @Jaifroid in https://github.com/kiwix/kiwix-js/pull/1196
Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md Full Changelog: https://github.com/kiwix/kiwix-js/compare/3.11.0...v4.0.0
The headline features are the provision of an in-app download library based on library.kiwix.org (with fallback to download.kiwix.org for those browsers that cannot access the former), and the ability to remember picked files and folders between app launches using the File System Access API and related APIs. The header and footer of the app also now slide away on scroll down (and slide back on scroll up), to make more room for focusing on the article being read. This behaviour can be turned off in Configuration.
Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md Full Changelog: https://github.com/kiwix/kiwix-js/compare/3.10.0...3.11.0
The headline feature is the internationalization of the app's UI with French and Spanish languages. Additionally, major under-the-hood development work has been undertaken to move the app to a modern bundling system and to provide a comprehensive suite of end-to-end tests on BrowserStack.
tests
by @RG7279805 in https://github.com/kiwix/kiwix-js/pull/1064
tests/
cleanup 🧹 and Gutenberg tests on Browserstack by @RG7279805 in https://github.com/kiwix/kiwix-js/pull/1079
Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md Full Changelog: https://github.com/kiwix/kiwix-js/compare/3.9.0...3.10.0
The headline feature is the introduction of a Manifest V3 of the Chromium browser extension, together with the use of the PWA workaround to allow the Chromium extension to run inline JavaScript.
moz-extension
to browser-extension
by @Jaifroid in https://github.com/kiwix/kiwix-js/pull/1024
Full Changelog: https://github.com/kiwix/kiwix-js/compare/3.8.0...3.9.0
The headline feature is additional security by adding a sandbox to the app's iframe and a strengthened Content Security Policy. There is more robust handling of downloads (e.g. epubs and PDFs). There is also a new user-requested setting to disable drag-and-drop in case this UI causes any glitches.
For a summary version of the changes below, see CHANGELOG.md.
http-server
script by @ankur12-1610 in https://github.com/kiwix/kiwix-js/pull/971
Full Changelog: https://github.com/kiwix/kiwix-js/compare/3.7.0...3.8.0
The headline feature is the introduction of Full-Text searching for ZIMs that have a Full-Text index, thanks to the openzim/javascript-libzim project. Currently, this only works in browsers that support Atomic Operations, which means recent versions of Chromium and Firefox. Title search is still available for older browsers.
For a summary version of the changes below, see CHANGELOG.md.
.click()
, .focus()
and .attr()
jQuery functions with equivalent native JS by @dheerajdlalwani in https://github.com/kiwix/kiwix-js/pull/925
FIX: Improve packaging for the Ubuntu Touch app FIX: Provide a platform-compliant hook name for the Ubuntu Touch app (note that settings may be lost when upgrading to this version) BUGFIX: Correct the handling of version numbers in GitHub publishing workflow BUGFIX: Correct race condition preventing initialization of decompressors in some contexts (e.g. file:// protocol)