Script Compatibility Mode
Changes that are affected by the Script Compatibility Mode setting are tracked here. Scripts can check WaniKani’s version by checking
window.WaniKani.version to match against this list.
Subscribe to the mailing list get notified when this page is updated. Make sure to check UserScript Affecting Changes.
v4.0.0 (December 9, 2021)
- Compatibility Mode Off: The navigation for lesson subjects and slides (the bit that lives at the bottom of the lesson slides) has been converted to React.
- As with other changes, IDs have been removed and we’re using Tailwind classes for styling.
- The buttons are now
<button>s, which is nice for all kinds of things, mainly accessibility.
- The logic driving the state of the items lives in jStorage and React and is no longer driven by the classes on the different elements in the list.
v3.1.0 (November 18, 2021)
- Compatibility Mode Off: Under lessons, we’ve consolidated the logic for the
Skipbutton. It makes it so that the same code drives all the parts of the system that take you to the next item, like keyboard navigation.
v3.0.0 (November 18, 2021)
- Compatibility Mode Off: The overlays that appear at the end of the lesson quiz have been converted to React. This does a few things that are breaking changes:
- The overlays no longer have IDs and are styled purely through Tailwind classes.
- Removes the
lessons.js. That function controlled overlay and button behavior.
- Updates the behavior of
quiz.jsto generate and show the next set of lessons.
v2.0.0 (November 17, 2021)
- Compatibility Mode Off:
$.jStorage.get("reviewQueue")now contain ids instead of objects.
- The ids are retrieved from
/review/queuestill returns the full objects in Compatibility Mode.
- The objects are retrieved in a separate request to
/reviews/items?ids=1,2,3, which returns the full objects for ids 1,2,3.
v1.2.0 (November 15, 2021)
v1.1.0 (November 4, 2021)
- Compatibility Mode Off: Under lessons, the overlay that appears at the end of a batch of lesson slides has been converted to React.
- This reworks the markup in that overlay, converting the classes to Tailwind, adding ARIA attributes where appropriate, and converting the buttons to buttons.
- It touches how hotkey events are handled so that there aren’t collisions or double events.
v1.0.0 (November 3, 2021)
- Compatibility Mode Off: Marked as a major change, in case there are scripts that rely on the specific review queue updates.
- activeQueue in jStorage will no longer have extra null items. For example if there are only 8 items left, it will be an array of length 8 instead of 10 with 2 items null.
- activeQueue and reviewQueue arrays are updated using slice() instead of push() and pop()
v0.7.0 (October 29, 2021)
- Compatibility Mode Off: Under lessons, the additional information panels have been redone in React. There are minor markup and visual differences.
v0.6.0 (October 20, 2021)
- Compatibility Mode Off: Under lessons, the kana IME input charts have been redone in React. Visual changes have been made to make it easier to distinguish tabs and buttons.
v0.5.0 (October 19, 2021)
- Compatibility Mode Off: Submissions to /json/progress are first attempted with fetch and then fall back to $.ajax when unsuccessful
v0.4.0 (October 13, 2021)
- Compatibility Mode Off: Unread lessons are tracked through jStorage under
l/unreadIndicesinstead of the presence of
readclass on batch-list items
v0.3.0 (October 7, 2021)
- Vocabulary, kanji and radical objects in jStorage now have an additional field
typewhich we use to determine the type instead of
- Compatibility Mode Off:
- Reverted network requests to use $.ajax instead of fetch (this change is temporary while issues with review progress being stuck are investigated)
- Reverted stat tracking refactoring. This change modified the initial stats object for a review. Will be reintroduced later in a way that doesn’t break scripts.
- The review input form now tracks its state internally instead of relying on DOM attributes like the presence of a class or input text being disabled
v0.2.0 (September 20, 2021)
- Compatibility Mode Off: Notes in lessons are now rendered with React and submit with
v0.1.1 (August 30, 2021)
- Both Modes: Fixed issue where network requests did not work in some cases on IE11 because
fetchneeded a polyfill
- Compatibility Mode Off: Review queues are fetched with
v0.1.0 (August 25, 2021) Main bundles of lessons and reviews are now tied to the script compatibility setting.
- Compatibility Mode On: script tags serve lesson-legacy and review-legacy (plus hash in the filename)
- Compatibility Mode Off: script tags serve lessson and review (plus hash in the filename)
This is intended to prevent accidental breaking changes that might affect scripts. Future updates will specify whether legacy versions are affected (for example, if a bug fix is applied to both legacy and non-legacy).
v0.0.1 (August 18, 2021) Lesson tabs (ex. Kanji Composition, Meaning, Reading, etc.) are now rendered with React. Previously tabs were written to the DOM and just hidden and displayed with CSS. With React tabs that are not visible are removed from the DOM. Scripts that modify tabs have to wait for React to finish rendering the tab.