v4.0.0 - Ten-year Anniversary Edition
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:
- Fix some anomalies in tests by @Jaifroid in #1165
- Fix zim file.name property when remote testing and improve test formatting by @Jaifroid in #1167
- Remove unnecessary initOrKeepAliveServiceWorker by @Jaifroid in #1164
- Update rollup to v4 by @Jaifroid in #1168
- Add rudimentary static Zimit support by @Jaifroid in #1163
- Avoid side effects when loading archive by @Jaifroid in #1169
- Fix anomalous boot loop when app is in jQuery mode and no SW is registered by @Jaifroid in #1170
- Work towards warc2zim reading by @Jaifroid in #1173
- Fix opening of new Zimit tabs to local articles and PDFs by @Jaifroid in #1176
- Update user info about Zimit compatitiblity by @Jaifroid in #1177
- Fix failure to handle PDFs in openzim archive types by @Jaifroid in #1179
- Fix missing webmanifest by @Jaifroid in #1180
- New libzim v0.6 release update by @Rishabhg71 in #1182
- Refactor zimit processing by @Jaifroid in #1181
- replaced localStorage with settingsStore method by @Greeshmanth1909 in #1185
- Bump follow-redirects from 1.15.2 to 1.15.4 by @dependabot in #1191
- Use libzim for reading ZIM contents by @Rishabhg71 in #1160
- Warn instead of throwing if
minorVersion
> 2 by @Jaifroid in #1196 - Bump vite from 4.3.9 to 4.5.2 by @dependabot in #1198
- Add a way to detect that an archive is zimit2 by @Jaifroid in #1200
- Open external links and PDFs outsde zimit sandbox by @Jaifroid in #1201
- Deal with zimit2 URL handling in jQuery mode by @Jaifroid in #1207
- Fix deprecated actions/checkout by @Jaifroid in #1208
- Add content warning for zimit2 in service worker local mode by @Jaifroid in #1209
- Added a feature that prompts a user when a new Zim file is opened. by @Greeshmanth1909 in #1192
- Bump ip from 1.1.8 to 1.1.9 by @dependabot in #1213
New Contributors
- @Greeshmanth1909 made their first contribution in #1185
Summary Changelog: https://github.com/kiwix/kiwix-js/blob/main/CHANGELOG.md
Full Changelog: 3.11.0...v4.0.0