UmaKuma

UmaKuma Updates

What shipped, newest first

Every release gets a version number and a Japanese codename that walks the gojūon in order. Select a release to see what changed.

September 202615 releases
  • v0.421.0Theme stage groups in the viewerのぼりnobori2026-09-04

    Each theme's ten rungs drawn under the bucket they belong to; WaniKani added as the 90th theme for reference.

    Area
    admin
    Name
    のぼり · 登り nobori · the climb
  • v0.419.0Every theme, every rung, on one screenぬりえのえらびNurie no Erabi2026-09-04

    The 89 themes shipped as committed data with no surface at all. /admin/data now has a Themes dataset showing each one as its full ladder - all ten stages from not-started to the top, coloured by SRS bucket, with the reading under each rung. Search matches a theme name, a rung or a meaning. The age rating is shown beside every theme because the set includes organised crime and the sex trade and a ten-year-old must never be offered those; this is where the filtering gets checked. Themes renamed off a trademark carry a badge naming what they were.

    Area
    admin
    Name
    ぬりえのえらび · 塗り絵の選び Nurie no Erabi · choosing how to colour the same ladder
  • v0.418.0The ladder, read a level at a timeにだんめのみかたNidanme no Mikata2026-09-04

    The crosswalk table answers where a kanji is; it does not answer what a level asks of somebody, which is the question anybody judging the curriculum actually has. A Table/Levels toggle now switches the ladder browser between them, remembered per admin. The level view draws one row per level - radicals in cyan, then that level's kanji at reading size, then its words - with the running count of kanji known by the end of each level rather than the count that level added.

    Area
    admin
    Name
    にだんめのみかた · 二段目の見方 Nidanme no Mikata · another way of looking at the rungs
  • v0.407.0An admin's ladder moves survive a rebuildさしかえのひかえSashikae no Hikae2026-09-04

    build-kanji-ladder recomputes the whole curriculum every run, so any edit an admin made would vanish on the next pnpm ladder:refresh - which made the admin console unbuildable. src/data/kanjiLadderOverrides.json is now replayed over the computed ladder, between the kanji sort and radical/vocabulary placement, so a moved kanji drags its radicals and the words that use it along without that rule being written twice. Ops are refused by name rather than guessed at: a move that would empty a level, overfill one past 29 kanji, or push a kanji outside its JLPT band stops the build. One implementation, imported by the build and the tests; a test fails if the build ever grows its own copy.

    Area
    admin
    Name
    さしかえのひかえ · 差し替えの控え Sashikae no Hikae · a record of the substitutions
  • v0.403.0The curriculum gets a table of its ownきばんのいちだんKiban no Ichidan2026-09-04

    The ladder lived only in a committed JSON file, so nothing at runtime could point at one of its items and no member could have progress on one. UkSubject now holds all 9,271 items with a stable id and a business key; LadderOverride is the append-only log an admin's moves will be written to. pnpm ladder:seed makes the table agree with the committed ladder and is a no-op the second time; pnpm ladder:check exits 2 on drift the way db:drift:check does. Items the ladder stops placing are marked removed rather than deleted, so progress survives an item being pulled and restored.

    Area
    admin
    Name
    きばんのいちだん · 基盤の一段 Kiban no Ichidan · the first course of the foundation
  • v0.402.0The ladder beside every other scaleかいていのぜんけいKaitei no Zenkei2026-09-04

    Our 100-level ladder had no surface at all: it was a 351 KB JSON file with a reader and a test suite, and nothing on the site imported it. /admin/data now has a Ladder dataset showing all 9,271 items - radicals, kanji and words - with our level beside WaniKani's, the JLPT band, the school year, print frequency and which source the facts come from. A stacked bar per level shows the shape of the curriculum, so a level that has grown heavy is visible rather than findable. Read-only; moving things comes next.

    Area
    admin
    Name
    かいていのぜんけい · 階梯の全景 Kaitei no Zenkei · the whole ladder in view
  • v0.400.0Pick the showcase rows out of the source's dataえりわけのめEriwake no Me2026-09-04

    The showcase picks were hand-written constants and thirteen of their figures were wrong when checked against the data. An admin can now browse any source's rows - searched and paged, twenty at a time - and tick up to four, so the detail line the public card shows is one the data built rather than one somebody typed. Reset puts a source back to the chosen defaults.

    Area
    admin
    Name
    えりわけのめ · 選り分けの目 Eriwake no Me · an eye for picking out
  • v0.397.0An admin console for every sourceありかのひとまわりArika no Hitomawari2026-09-04

    The accreditation pages answer 'what do we hold' one source at a time for a reader. The admin had no way to see across all twelve at once: what is loaded, when it last came in, which upstream release it is, and what the remedy is when it is behind. Three sources are tables a request can refill and get a button; the rest are files a script writes and name their command instead, since Vercel's filesystem is read-only.

    Area
    admin
    Name
    ありかのひとまわり · 在り処のひとまわり Arika no Hitomawari · one round of where everything lives
  • v0.395.0The catalogue says what it is missingろけんRoken2026-09-04

    The catalogue gap reopens every time WaniKani adds subjects and nothing says so. The admin catalogue panel already reports drift - missing levels, duplicate rows - and the count belongs beside them, but findCatalogGap reads every account's assignment cache and all 9,400 rows' relation arrays, so it cannot ride the status endpoint the panel polls. A button that measures on demand and reports the ids, next to the sync controls. Raised 2026-09-02.

    Area
    admin
    Name
    ろけん · 露見 Roken · what was missing, brought to light
  • v0.308.0The board says what is happening, and takes a wishわたすたのみWatasu Tanomi2026-09-02

    The release board now says what is happening rather than only what is planned. In progress is its own tab, derived from the claim the board already records - not a fifth status, because two fields saying the same thing can disagree. Shelved is split into Backlog and Cancelled, which is what it always held. And the board takes a wish: an admin types a request straight into the page, it lands in the FeatureWish table, and `pnpm backlog wishes` shows an agent what is waiting with the command that files it as planned work. The timeline is a committed file the site cannot write to, so the wish list is the database half that makes a request from the website reach the board at all.

    Area
    admin
    Name
    わたすたのみ · 渡す頼み Watasu Tanomi · the request, handed across
  • v0.231.0The open user menu renders under the list's sticky headingさしこむそうSashikomu Sou2026-09-01

    With the account menu open on a page showing a list, the list's sticky column headings drew straight across it. The panel itself sat at a layer nothing should beat, but its wrapper carried a small z-index of its own, and a wrapper with any z-index starts a stacking context - so the panel's layer only ordered it against its siblings, and against the page the whole menu was worth ten while a heading was worth twenty. The wrapper takes a named layer now, above page chrome and below the sheets and modals that must cover the header, and a test checks it against every sticky heading a list can draw.

    Area
    admin
    Name
    さしこむそう · 差し込む層 Sashikomu Sou · slid into the layer it belongs to
  • v0.228.0The planned tab shows its queue out of orderくんだじゅんばんKunda Junban2026-09-01

    The admin release page sorted planned work by its place in the queue and then grouped it by the month of its estimated date, so the headers read September, August, September and the list looked as though it had lost its order. The estimates are typed by hand and mean little - one sat on a day that had already passed. A queue is not a calendar. The planned tab is one list now, in queue order, with each item's position shown where a release shows its version; the month grouping stays for what has shipped, where the date is a fact.

    Area
    admin
    Name
    くんだじゅんばん · 組んだ順番 Kunda Junban · the order it was queued in
  • v0.208.0Every admin header the same wayみだしのみほんMidashi no Mihon2026-09-01

    Three admin pages drew their tab row as a band of their own underneath the header, while the other five put it inside the header beside the release name. Signup, Feature flags and a member's history were the three, so on those the codename sat above the tabs and everywhere else it sat beside them - the header changed shape as you moved between tabs of the same workspace, which is exactly the sort of thing that makes a set of pages feel unfinished without it being obvious why. The shared header has had a slot for this since the admin tabs were folded into it, and these three had simply never been moved across. They pass their tab row into that slot now, and all eight admin pages build their header the same way.

    Area
    admin
    Name
    みだしのみほん · 見出しの見本 Midashi no Mihon · one heading for every page to go by
  • v0.206.0The admin roundほどいたほころびHodoita Hokorobi2026-09-01

    Five things reported together, and one of them was hiding in every admin page rather than the one it showed up on. The release codename in the header refused to give up space, so on admin - ten tabs in the row beside it - it simply ran off the right edge and was cut in half; it shrinks and wraps to its own line now. Every admin page wrapped itself in a rule that clips anything reaching past its edge, which does nothing at all except cut off the user menu, and only looked like an Articles bug because Articles is short enough for the menu to reach past the bottom. The users table carried a filled button on every row labelled Open as user, which reads as impersonation: it is a plain link to the member's page, nothing is done as them, so it says View page and sits in the row menu with the other four actions instead of making the most ordinary thing look like the most consequential one. The signup settings laid three short choices out as three full-width bars on a screen over a thousand pixels wide, so the two questions could not be seen together; they are a grid. And the study history table listed twenty thousand answered reviews by subject id alone.

    Area
    admin
    Name
    ほどいたほころび · ほどいた綻び Hodoita Hokorobi · the seams let out, so nothing is cut off
  • v0.204.0The history table shows the characterふだにふでFuda ni Fude2026-09-01

    The admin study history listed twenty thousand answered reviews with a Subject column holding nothing but a number. A page of it read as a column of five figures, and there was no telling which row was about which character without looking every id up by hand - on the one screen whose whole job is reviewing what somebody answered. The character sits there now, with its id underneath in small type, because the id is still what the edit and delete actions act on and what a bug report quotes; it is just not the thing being read. The characters come from the local catalogue in a single query for the twenty or fifty rows a page actually shows, the same shape the table already used to turn account ids into names. A row whose subject the catalogue does not hold shows the id alone rather than a blank, since a subject can be answered and later withdrawn by WaniKani and the number is then the honest answer.

    Area
    admin
    Name
    ふだにふで · 札に筆 Fuda ni Fude · a brush on the label, not a serial number
August 20269 releases
  • v0.147.0Admin joins the headerそろえるそとがわSoroeru Sotogawa2026-08-31

    Admin was the last place still drawing its own navigation strip - a centred segmented control in a third row below the header, while every other section put its pages on the left of the header's second row. Its tabs move into that same slot and read the same way, so an admin page and a study page are recognisably the same site. The header's second row now accepts a section that supplies its own pages, which admin needs since its tabs come from their own registry rather than from navSections. They are links rather than buttons as well, restoring middle-click and open-in-new-tab that the router.push control had eaten. Three roadmap entries were also removed from the planned list: they described work already shipped under other names, so the page was advertising as planned things that were live.

    Area
    admin
    Name
    そろえるそとがわ · 揃える外側 Soroeru Sotogawa · aligning the outside
  • v0.136.0Grades and Maps in DataえまきえがくEmaki Egaku2026-08-31

    The Data tab covers school grades and map regions, not just WaniKani and JLPT. Both ship as files in the repo and reach the app through scripts somebody has to remember to run, so the panels answer the question those scripts leave open: does what shipped match what is loaded. Grades compares every grade file against the database row count; Maps shows each country's region count, geometry detail, regions with no shared border, and where the data came from.

    Area
    admin
    Name
    えまきえがく · 絵巻描く Emaki Egaku · painting the picture scroll
  • v0.135.0Admin that works on a phoneうねりうつわUneri Utsuwa2026-08-31

    The accounts list becomes labelled cards below tablet width, so level, due count, sync state and invite code stop hiding behind a sideways scroll on a 980px table. The pagination row wraps instead of pushing every admin panel wider than the screen, the tab strip fades at its cut edge rather than slicing a pill mid-word, and the Data tab asks its two questions as two short rows instead of four wrapping pills.

    Area
    admin
    Name
    うねりうつわ · うねり器 Uneri Utsuwa · a vessel with a swell to it
  • v0.67.0Version number opens the release timelineぬかづけぬいぐるみNukazuke Nuigurumi2026-08-30

    For an admin the footer version number and the header motto link straight to the release timeline. Everyone else still sees them as plain text, since the page is admin-only.

    Area
    admin
    Name
    ぬかづけぬいぐるみ · 糠漬けぬいぐるみ Nukazuke Nuigurumi · bran-pickle plushie
  • v0.64.0Manage accounts redesignときめきとりいTokimeki Torii2026-08-30

    Each account row keeps one visible Open-as-user action and folds the rest into a compact overflow menu.

    Area
    admin
    Name
    ときめきとりい · ときめき鳥居 Tokimeki Torii · heart-flutter shrine gate
  • v0.63.0Timestamps and the Shelved tabてっぱんてばさきTeppan Tebasaki2026-08-30

    Releases carry their real commit instant - John's point: a timestamp beats sort cleverness - and backlogged or killed work stays visible on its own tab.

    Area
    admin
    Name
    てっぱんてばさき · 鉄板手羽先 Teppan Tebasaki · iron-plate chicken wings
  • v0.60.0Admin API namespaceたからものたいやきTakaramono Taiyaki2026-08-30

    Administrative endpoints were consolidated under a single namespace.

    Area
    admin
    Name
    たからものたいやき · 宝物鯛焼き Takaramono Taiyaki · treasure taiyaki
  • v0.54.0Feature flagsこんがりころっけKongari Korokke2026-08-30

    Global switches toggled from an admin page, backed by a FeatureFlag table. First flag: the open-signup door, off.

    Area
    admin
    Name
    こんがりころっけ · こんがりコロッケ Kongari Korokke · golden-fried croquette
  • v0.49.0Release timelineおどるおにぎりOdoru Onigiri2026-08-29

    This page: every shipped and planned feature with its date, admin only.

    Area
    admin
    Name
    おどるおにぎり · 踊るおにぎり Odoru Onigiri · dancing rice ball
April 20261 release
  • v0.13.0Admin email allowlistすてきなすしSuteki na Sushi2026-04-17

    Admin access restricted to an explicit Google address list.

    Area
    admin
    Name
    すてきなすし · 素敵な寿司 Suteki na Sushi · splendid sushi

Back to UmaKuma