shirabe.org

Changelog

What’s new in Shirabe, newest first. The version in the footer is the latest release. For dictionary data sources, see credits.

We only list what everyone can use. Work still behind a feature flag stays off this page until it ships.

Unreleased

Fixes

  • Sign in: fixed magic-link emails timing out before they reached ZeptoMail, so requesting a link works again from the new server.
  • Sentences: spaced romaji such as benkyou shimashita now finds examples of 勉強, just like benkyoushimashita.
  • Dictionary: fixed suru-noun and adjective searches such as 勉強しました and shizukadatta missing their base entries, and exact romaji readings losing to unrelated inflected interpretations.
  • Study: fixed base-form suggestions and example highlights treating かかなかった as a form of かかる instead of 書く.
  • Dictionary: fixed conjugated romaji such as tabemashita returning nothing instead of 食べる, and kana searches such as かかなかった offering incompatible verb bases; Sentences and Kanji now recognize these inflections too.
  • Sentences: fixed searches like “hello” returning nothing instead of matching translations. English, Spanish, kana and romaji now find examples, and translation searches also work in your saved sentences.
  • Kanji: fixed searches like “hola” showing unrelated kanji instead of matching your query. Search by reading or meaning, with matching meanings highlighted and a clear message when nothing matches.

Highlights

  • Settings: Pro now keeps recent searches on your account across devices. The Sync across my devices toggle is gone; turn off Remember my recent searches if you don’t want new ones saved.

0.15.1 (2026-09-07)

Fixes

  • Sign in: sign-in emails now have a dedicated worker, so they no longer wait for deck previews or dictionary installation to release a worker thread.

  • Study stats: switching between 30-day and 90-day forecasts now updates only the chart, keeping the rest of the page in place.

  • Anki export: reduced the wait when many audio or image files share a filename, without changing the exported filenames or contents.

  • Kana trainer: fixed frozen lessons and drills after using Back from the dictionary. Returning now opens a fresh practice setup.

  • Vocabulary lists: large lists no longer make a separate dictionary query for every word while sorting. Progress totals also refresh when a list or official deck changes, instead of showing counts from its previous contents.

  • Kanji: opening a kanji page no longer loads unused dictionary details while building its reading examples. Looking up one character also skips the account-wide progress calculations, and compound word lists load faster on repeat visits.

  • Navigation: returning to reference pages can show their saved preview while fresh content loads. Successful changes clear old previews so saved-word state stays current.

  • Reviews: removed the extra second of waiting after the first review card was already ready.

  • Import progress: deck lists update their progress without refreshing the whole dashboard. Status checks recover after a dropped connection and stop when you leave the page.

  • Dictionary: loading more words or kanji no longer recalculates unrelated page summaries. Long card histories load only the reviews shown while keeping lifetime accuracy intact.

  • Search history: returning with Back no longer duplicates locally saved searches. Rapid radical selections no longer show an older response over the latest selection.

  • Account settings: media usage avoids scanning the same library twice, and a newly created API key no longer reappears in a saved page after leaving it.

  • Pro access: replacing a timed grant now saves the replacement before revoking the old grant, so a failed save leaves your existing access intact.

  • Home: returning to the homepage now shows its saved preview while the latest version loads.

  • Home: using Back no longer leaves frozen background kanji behind when the animations restart.

  • Home: announcements can now be reused from the shared cache for signed-in visitors too, avoiding a separate server trip while the cached message is fresh.

  • Dictionary: the results bar now opens a bottom sheet on phones instead of a sidebar from the left.

  • Navigation: half-sheets no longer show a redundant close button; swipe, backdrop, and Escape still dismiss them.

  • Admin: users can now be given lifetime Pro with one action or have a lifetime grant removed.

  • Page loading: new crawler requests are asked to retry while a reader is using the same web worker, so crawler renders no longer keep joining an active reader request.

  • Review history: large histories now open 200 reviews at a time instead of loading the entire period. Older reviews remain available, and the summary still covers the whole period.

  • Kanji: uncached pages open faster by avoiding a full frequency-table sort for reading examples and loading definitions only for the compounds shown.

  • Pro access: replacing a paid subscription with lifetime Pro now saves lifetime access before canceling paid billing, so a failed replacement cannot leave you without Pro.

  • Sentences: fixed searches checking every saved card instead of just known words, which made results slow to load after vocabulary changes in large collections.

  • Settings: fixed a bug where Manage billing tried to open Stripe through a page fetch, so the billing portal now opens normally.

  • Announcements: site notices can now be published from the admin dashboard and appear on the landing page.

  • Kanji: fixed public kanji pages and index cells that could fail to render when study coverage was unavailable.

  • Dictionary: fixed sentence searches scanning unrelated dictionary annotations, so searches with several private dictionaries no longer spend seconds on that lookup. Longer searches also avoid preparing full entries for unused word splits.

  • Dictionary: grammatical expressions such as かもしれません no longer offer misleading word parts such as かも and しれません.

  • Dictionary: new search workers prepare common search and kanji pages before accepting traffic, reducing the extra wait on the first search after a deployment.

0.15.0 (2026-09-06)

Highlights

  • Dictionary: word pages now show clickable Parts below the headword, so you can open 東京 or directly from 東京都.

Fixes

  • Navigation: pages no longer send you to unavailable Study or pricing screens. Dictionary search remains available.

  • Privacy: diagnostic traces no longer retain URL query strings or private invitation and file-access tokens.

  • Dictionary: fixed searches for conjugated verbs hiding their base word. Searching 見れる now keeps that entry first and also offers 見る; longer polite forms can also find their base verb.

  • Dictionary: fixed a bug where the reading hint appeared inside a large panel, so searches such as “inu” now show the hint as ordinary text.

  • Dictionary: searches such as “eat” now show 10 cards at a time as you scroll instead of waiting for every card to load, with the full result count kept in the sidebar. Sentence searches and Parts also open faster.

  • Dictionary: expressions such as いい天気 now offer their content words as Parts instead of hiding them. Alternative word boundaries no longer repeat a finer split of the same grouping.

  • Dictionary: word-part lookups now offer a direct return to their compound. Returning from 化粧 to 化粧水 no longer adds a token row, and parts opened within a sentence return to that sentence’s compound first.

  • Dictionary: alternative word boundaries no longer repeat a compound’s clickable parts. Compact Parts pills offer and inside 腕毛’s card, while expressions such as かもしれません stay intact.

  • Dictionary: clicking a search word again includes longer matches after exact results, such as 東京都庁 after 東京都. Word-part links sit below the card’s headword, and choosing another grouping makes it the main sentence row.

  • Dictionary: restored readings and colored underlines in grouped searches. Word parts now appear with the selected word’s results, and boundary suggestions no longer offer unsupported splits such as + 京都 for 東京都.

  • Dictionary: fixed searches such as “arm qzx” and “arm hair, two.” hiding words they recognized. Offline lookups now keep 腕毛 together across verb tenses and make recovered particles clickable. Opening the full entry from a popup preserves your selected dictionary.

  • Anki: temporary connection errors no longer sign you out. Settings now distinguishes pending approval from a connected account and lets you sign in without opening a word popup.

  • Browser extension: after opening an email sign-in link, returning to the connection window now takes you to approval automatically instead of waiting for another Continue click.

  • Anki: fixed a bug where a failed popup download disabled lookups until you reopened the reviewer. New phone templates retry on the next card and leave the desktop add-on in control when it is installed.

  • Dictionary: fixed a bug where adding a word to a phrase such as “arm hair two” gave no results. Search now shows matching groups separately, keeps unknown text visible, and lets you open smaller words or Japanese particles without losing your query.

  • API: parsed words now keep their dictionary entry when opened, and identification includes enabled personal dictionaries instead of searching only the built-in dictionaries.

  • Browser extension: English meaning searches now explain that they need the online dictionary instead of saying there is no entry. The popup offers a link with your query; nothing is sent until you follow it. An entry missing from the installed dictionary stays unavailable instead of opening a different word.

  • Dictionary: fixed a bug where opening 開く with a different reading kept the previous popup. Entry choices now keep their dictionary identity and remain available after selecting a different meaning.

  • Dictionary: fixed a bug where spaces in a romaji search were as wide as Japanese word gaps, so “ashi no ke” looked broken. Romaji now uses ordinary spaces, and a search for “arm hair” no longer finds a definition that merely contains “arm” and “hair” apart.

  • API: fixed a bug where Anki sign-in could accept an unrelated return address. Revoking an app now also stops its existing tokens from working.

  • Profile: fixed a bug where the JLPT kanji bars (“N3 kanji: 240/367”) ignored readings you marked as known by hand, showing the old count until you happened to add or review a card. Marking a reading known now moves the bar straight away.

  • Dictionary: fixed a bug where a word’s reading disappeared from the heading when you opened its page, instead of staying above the kanji the way it does in the search results, so the click that asked for more about a word was the click that stopped telling you how to say it. The reading now stays put on the word page and on a photo scan, at every furigana setting.

  • Dictionary: fixed a bug where “More” on a search result opened “Not in the dictionary”, which read as though the word we had just defined for you was not a word. It happened for anything whose definition came from Wikipedia or from a dictionary you uploaded yourself, so most place names, titles and people did it: the page behind “More” only knew how to look words up in JMdict and JMnedict. It now opens the same word the card came from, whichever dictionary that was.

  • Dictionaries: fixed a bug where a dictionary you uploaded could sit on “Processing…” forever instead of finishing or failing, so the pack never appeared in your searches and nothing on the page ever said why. If the worker reading it was interrupted, nothing was left that could finish it or admit it had stopped. A stuck upload is now marked failed, so its row offers you Remove and re-uploading the same file starts a real retry instead of doing nothing.

  • Dictionaries: a dictionary you have uploaded twice now says so under its name. Two builds of the same dictionary made by different people are different files, so we could not tell they were the same book, and both answered every search with the same meanings listed twice. Both still work, and you can keep either or both.

0.14.0 (2026-08-24)

Highlights

  • Developer API: added a way to parse a lot of text without slowing the site down for everyone else. POST /api/v1/parse/batches takes your texts and hands back a ticket to collect later, and batches are worked one at a time, so a tool working through a whole corpus no longer competes with people reading a page. The existing POST /api/v1/parse is unchanged and is still the right call for a page somebody is looking at.

0.13.6 (2026-08-23)

Fixes

  • Sentences: fixed a bug where the “recommended for you” list led with particles. was offered as the 7th most useful word to learn next, and as the 59th, because each is also a rare ordinary word spelled the same way, and the frequency count we rank by does not distinguish the two. It now reads how the sentences themselves use a spelling, so is ranked as the uncommon conjunction it is instead of as the particle.

0.13.5 (2026-08-23)

Fixes

  • Sentences: the “recommended for you” list is much quicker to appear if you have a large deck. Working out which words you already have a card for was redone from scratch every time the list was rebuilt, even when your cards had not changed: with 7,051 cards that was 7.4 seconds of a 9.2 second rebuild, and it now happens only when you actually add or edit a card.

0.13.4 (2026-08-23)

Fixes

  • Sentences: fixed a bug where the “recommended for you” list could offer you the same word twice, with two different sentences, because the dictionary files it as two entries. arrived once as the feather and once as the counter for birds, and both spent one of the twenty places on the page.
  • Sentences: fixed a bug where the “recommended for you” list offered grammar patterns as if they were words to learn. という, ように, かもしれない, について, によって and 265 others reached the page because they are built on a word, even though nobody would write one on a card. Words that merely look like them, おっしゃる, ございます, いけない, 気になる, are still recommended.

0.13.3 (2026-08-23)

Fixes

  • Sentences: fixed a bug where the “recommended for you” list could treat a word as one of the commonest in Japanese because it happens to be spelled the same way as one, in kana. (the instrument) counted as the 16th most common word because it can be read こと, and 酔い as the 130th because it can be read よい, which is how 良い is normally written. 15,154 words carried a count that belonged to a different word they merely sound like.