
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