Skip to content

Releases: kiwix/kiwix-js

v4.1.0

15 Jul 19:31
67d5f33
Compare
Choose a tag to compare

What's changed

The most important new features in this version include:

  • Display popover previews of links in articles by hovering over, long-pressing or tabbing into a link (Wikimedia / Wikipedia ZIMs only);
  • The last opened ZIM will now automatically re-open when you launch the app in the latest Chromium browsers (if you grant persistent permissions when requested);
  • The Security prompt on opening a dynamic ZIM for the first time now shows the ZIM metadata, to help you decide if it is trusted;
  • The former "JQuery mode" is now renamed to "Restricted mode", as it better represents what this mode does.

There are many more updates and bugfixes. For a user-friendly changelog, see CHANGELOG, or look at the detailed log of PRs below.

Detailed log of pull requests:

New Contributors

Full Changelog: 4.0.0...4.1.0

v4.0.0 - Ten-year Anniversary Edition

22 Feb 07:57
Compare
Choose a tag to compare

Kiwix JS 4 0 Anniversary

What's changed

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:

  • High-fidelity reading of all Zimit archive types, from Zimit Classic to upcoming Zimit v2.0;
  • Ability to read many Zimit-based archives in JQuery mode (for ZIMs with largely static content);
  • Multi-ZIM support: you can now browse different ZIMs simultaneously in two different instances of the app;
  • Security prompt on opening a dynamic ZIM for the first time, with fallback to Secure mode for untrusted sources.

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.

Detailed log of pull requests:

New Contributors

Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md
Full Changelog: 3.11.0...v4.0.0

v3.11.0

12 Nov 17:52
Compare
Choose a tag to compare

What's Changed

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.

Detailed log

Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md
Full Changelog: 3.10.0...3.11.0

v3.10.0 - 3.10.1

10 Sep 09:15
b0bcfe6
Compare
Choose a tag to compare

What's Changed

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.

  • Use native es6 modules instead of require js by @Jaifroid in #1025
  • Mop up some issues with bundling system by @Jaifroid in #1028
  • Improve distribution of Chromium extension outside the Stores by @Jaifroid in #1030
  • Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #1034
  • Add end-to-end tests with Selenium by @Jaifroid in #1039
  • Add more explicit tests for ServiceWorker compatibility by @Jaifroid in #1044
  • Convert jQuery .on event listeners to their native JS equivalents by @RG7279805 in #1035
  • Add documentation and licensing for e2e tests by @Jaifroid in #1046
  • Set up e2e tests on BrowserStack by @Jaifroid in #1047
  • Exempt BrowserStack tests for PRs from forked Repos by @Jaifroid in #1052
  • Update documentation on tests for BrowserStack by @Jaifroid in #1054
  • Attempt to force failure if one test fails with PowerShell in GitHub Actions by @Jaifroid in #1055
  • Fix legacy test for IE mode by @Jaifroid in #1059
  • Tests for non legacy zim files by @RG7279805 in #1049
  • Folder structure redone for tests by @RG7279805 in #1064
  • Add internationalization framework by @Jaifroid in #1061
  • Translation cleanup and UI touches by @Jaifroid in #1067
  • Moved configuration code to init.js by @Daksh119 in #1057
  • Update codeql-analysis.yml to CodeQL v2 by @Jaifroid in #1075
  • Trying to CI timeout issue by @RG7279805 in #1070
  • Temporarily remove i18next but leave instructions to reactivate by @Jaifroid in #1080
  • Update build scripts to use version from init.js by @Jaifroid in #1082
  • Fix corrupt gitignore patch by @Jaifroid in #1084
  • Review French translations and propagate changes to other languages by @Jaifroid in #1078
  • Restore IE Mode e2e testing in Windows by @Jaifroid in #1089
  • Launching the vite server will always open the app with appCache=false by @amitpanwar789 in #1086
  • Fix file picking in latest Chromium browsers for Android by @Jaifroid in #1091
  • Use faster & more compatible method to load lang object by @Jaifroid in #1092
  • Documentation updates by @Jaifroid in #1093
  • [REFACTOR] tests/ cleanup 🧹 and Gutenberg tests on Browserstack by @RG7279805 in #1079
  • Adding retries flag for windows test by @RG7279805 in #1097
  • Ensure dockerfile serves jsonp with correct MIME type by @Jaifroid in #1100
  • Fix active content warning for PhET ZIMs by @Jaifroid in #1106

New Contributors

  • @RG7279805 made their first contribution in #1035
  • @Daksh119 made their first contribution in #1057

Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md
Full Changelog: 3.9.0...3.10.0

v3.9.0

15 Jun 16:44
6bcbf9f
Compare
Choose a tag to compare

What's Changed

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.

Full Changelog: 3.8.0...3.9.0

v3.8.0

23 Apr 09:26
1cd46f2
Compare
Choose a tag to compare

What's Changed

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.

New Contributors

Full Changelog: 3.7.0...3.8.0

v3.7.0

04 Jan 07:31
b6826b8
Compare
Choose a tag to compare

What's Changed

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.

New Contributors

v3.6.0

12 Nov 11:29
005d054
Compare
Choose a tag to compare
  • FEATURE: ServiceWorker Mode is now the default, and compatible clients upgrade automatically to this mode
  • FEATURE: On first run after update, the user is informed of the ServiceWorker Mode upgrade status (upgraded or incompatible)
  • NEW: A warning (with suggestions) is provided if user opens an incompatible Zimit (warc2zim) archive type
  • COMPATIBILITY: Minimum Firefox version has been raised to >=52, due to lack of full Extension APIs in earlier versions
  • UPDATE: Detection of active content updated for compatibility with more no-namespace ZIM archives
  • UPDATE: Nightly packages on the download server now include the date in their filenames
  • FIX: Kiwix icon now has an outline so that it is visible against dark OS backgrounds

v3.5.0

05 Aug 07:01
989cf7c
Compare
Choose a tag to compare
  • FEATURE: The Enter key is now handled in Bootstrap dialogue boxes, triggering the default action
  • FIX: Switch to ServiceWorker mode via PWA workaround was broken due to a behaviour change in Firefox 103
  • FIX: Video seeking in ServiceWorker mode was not always working in some browser extensions
  • FIX: In ServiceWorker mode, open external links in new tabs (instead of inside the iframe, which could fail), and warn the user
  • FIX: Directory Entries were wrongly assumed to be no larger than 2048 bytes (this could lead to some infinite loop, with some very specific ZIM files)
  • UPDATE: Update logo on Firefox and Windows stores

v3.4.0

10 Apr 18:48
9fcb9c2
Compare
Choose a tag to compare
  • FEATURE: Provide automatic dark mode switching (based on the underlying OS theme) in browsers supporting theme detection
  • FEATURE: Use bootstrap modal for alert and confirm dialogue boxes instead of native browser dialogues
  • WORKAROUND: For WebP image conversion in older browsers that implement some specific canvas anti-fingerprinting techniques, like IceCat 60.7
  • FIX: Partially remove dependency of backend on the User Interface
  • FIX: Provide an alert if user selects random button when no ZIM is loaded
  • FIX: Nightly builds are now uploaded to a new server (with sftp instead of ssh)
  • FIX: Deploy PWA image on a k8s cluster
  • FIX: PWA images are now uploaded to ghcr.io instead of Docker Hub. When a new image is uploaded, we also restart the pod to make it use the latest image
  • UPDATE: Routine updates to dependencies: Karma, node-fetch, follow-redirects, minimist