Download Latest Version v26.21.0 source code.tar.gz (37.3 MB)
Email in envelope

Get an email when there's a new version of Monkeytype

Home / v26.14.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-03-30 27.7 kB
v26.14.0 source code.tar.gz 2026-03-30 35.5 MB
v26.14.0 source code.zip 2026-03-30 36.5 MB
Totals: 3 Items   72.1 MB 1

Thank you to all the contributors who made this release possible!

Features

Improvements

Fixes

  • quote-modal: broken debouncing & prevent filter reset on chaining (@byseif21) (#7742) (ca84f790e)
  • profile: fix profile not shown if inventory is null (@fehmer) (#7745) (ec0478efb)
  • single badge not showing if not selected (15f95dd2a)
  • resolve global auth state reactivity and quote search rtl layouts (@byseif21) (#7735) (1e305aca4)
  • carryover: only reset keypress timings on restart and only carryover on start (@Leonabcd123, @miodec) (#7705) (3bba57b77)
  • dispatch authEvent when creating a new account with google (92aa5a637)
  • zen: negative wpm in short tests (@Leonabcd123, @miodec) (#7679) (96acd402d)
  • short-tests: afk percentage is NaN (@Leonabcd123) (#7694) (cf9d4df2d)
  • language: remove abbreviations in russian (@Dmskrzh) (#7682) (803e3d114)
  • test: disable solid HMR in tests to fix path error on Windows (@nadalaba) (#7677) (e37252b13)
  • language: cleanup the rest of english wordlists (@byseif21) (#7671) (243f75525)
  • language: cleanup english_25k (@byseif21) (#7670) (ac1c0402e)
  • custom-text: mode 'simple' isn't saved when delimiter is pipe (@Leonabcd123) (#7699) (87c886ed1)
  • terms-of-service: weird line break (@Leonabcd123) (#7676) (e2378e9f3)
  • quotes: correct quote length (@norwd) (#7675) (c460647ad)
  • exact-quote-search: results can be interpreted as regex (@Leonabcd123) (#7673) (4c8764fd9)
  • lang: normalize diacritic storage order for myanmar_burmese (@NayLinAungGo) (#7636) (f8b8419ed)
  • results-page: empty input history with zen mode (@byseif21) (#7622) (ab52ae402)
  • language: mark esperanto 200 word list as ordered by frequency (@norwd) (#7621) (8162c2345)
  • account-chart: prevent scroll when clicking outside chart (@byseif21) (#7608) (6e45d24f5)
  • test: only increment incomplete test seconds once (@miodec) (#7607) (9c741971a)
  • layoutfluid: layoutfluid highlights first key in test (@Leonabcd123) (#7604) (a20c9ca5f)
  • rainbow-trail: errors aren't fading away (@Leonabcd123) (#7668) (5249b5a8a)
  • privacy-policy: missing whitespace in privacy policy page (@Leonabcd123, @miodec) (#7637) (efbfb0635)
  • update security.txt expiry date (@norwd) (#7610) (5af1eed4d)
  • profile: prevent PB hover details from overlapping base values (@AzureNightlock) (#7598) (666d8cd1b)
  • layoutfluid: highlight key after layout switch in timed mode when layoutfluid is active (@Leonabcd123) (#7594) (685a40d0a)
  • quick-restart: quick restart warning firing for wrong events in long tests (@Leonabcd123) (#7590) (9ab31b9f7)
  • quote-search: user input is interpreted as a regex when using exact quote search (@Leonabcd123) (#7658) (98f1c091e)
  • favorite-quote: favorite quote button isn't hidden in result screen when logged out (@Leonabcd123) (#7649) (50f95c5de)
  • style: transparent table headers when custom background is used (@fehmer) (#7612) (0a7785b93)
  • language: mark esperanto word lists as ordered by frequency (@norwd) (#7620) (688bc6892)
  • caret: prevent misplacement in zen mode with blind mode on (@byseif21) (#7584) (c5711c43b)
  • quote-search: length filter losing styles after returning from chained modal (@byseif21) (#7570) (2f2de3b21)
  • hide xp bar and breakdown in focus mode (8ea033062)
  • profile: missing completion ratio tooltip to tests completed stat (3d528288f)
  • remove redundant clearGlobal/applyGlobalCSS calls (@byseif21) (#7575) (e57686d46)
  • custom-text: custom text isn't saving to local storage (@Leonabcd123) (#7573) (e16f3c177)
  • changelog: prs which aren't adding quotes are treated as such (@Leonabcd123) (#7592) (c2c064fc1)
  • lb: Fix missing min wpm to qualify on rank (@fehmer) (#7616) (b6d89499e)
  • profile: don't show headers if no content (@fehmer) (#7603) (47e725cb5)
  • language: Add all Common Lisp symbols. (@aadcg) (#7569) (ca6a4ef0d)
  • stupid safari (85ae1fa95)
  • profile: badge text hiding on narrow screen (39d9111df)
  • practise-words: treat proto as a normal word in practise words (@Leonabcd123) (#7494) (245dcd7af)
  • stuck hover on focus for header and restart button (@byseif21) (#7434) (d79ac4c19)
  • profile: fix style issues (@fehmer) (#7593) (a4fb88e6c)

Nerd stuff

These changes will not be visible to users, but are included for completeness and to credit contributors.

  • impr: add solidjs simple modal (@miodec) (#7681) (1cbeb68fa)
  • impr: enhance import tree script with folder leaf detection and error handling (f95cbaa25)
  • impr: strip out type only imports in import tree script (e89ec7cb4)
  • fix(User component): spinner positioning, level spacing (999b58c0c)
  • docs: guidelines for pr descriptions (@fehmer) (#7706) (252d92fe8)
  • docs(pull-request-template): general improvements (@Leonabcd123) (#7678) (29d76b505)
  • refactor: add tanstack signal tanstack plugin, reorder files (@miodec) (#7721) (3cdaf0905)
  • refactor: add options metadata to config meta (608a10288)
  • refactor: use fa object type in config metadata (504eb4add)
  • refactor(hotkeys): use tanstack/hotkey (@fehmer, @d1rshan, @miodec) (#7691) (c852ff56e)
  • refactor: move test event to its own file, move test specific signals (f91eef36f)
  • refactor: solid test config (@miodec) (#7701) (4d936d75e)
  • refactor: solid quote modals (@miodec) (#7700) (37d884624)
  • refactor: solid custom text and associated modals (@miodec) (#7695) (cc09c9497)
  • refactor: move addFriend to db.ts (ca746f382)
  • refactor: move applyFontFamily to ui.ts (4a1ec41eb)
  • refactor: move captcha modal call from auth to Register component (69e96f230)
  • refactor: reactively add name change banner (962ebc9d2)
  • refactor: convert observables to events (@miodec) (#7680) (f5fe3ded3)
  • refactor: reorganize funbox validation logic and update imports (841dbe376)
  • refactor: config split (@miodec) (#7659) (f3f0e9ed6)
  • refactor: reorganize states (@fehmer) (#7651) (e26e963fd)
  • refactor: login page (@miodec) (#7595) (86613e3c9)
  • refactor: move some code to the constants directory, move constants to their own bundle chunk (@miodec) (#7650) (3ec2cac17)
  • refactor(chart): better theme handling for ChartJs component (@fehmer) (#7600) (2d558d10f)
  • refactor: util cleanup (@miodec) (#7648) (0576f1708)
  • perf(CI): optimize check-assets-quotes script (@nadalaba) (#7669) (fd2e610ae)
  • chore: bump tsgolint (051da1eda)
  • chore: add yaml as dev dependency (93b61c1df)
  • chore: bump typescript version (e7cd1a0b3)
  • chore: bump oxc version (3a049d2cb)
  • chore: update redocly, fixes cannot find module yaml (@fehmer) (#7707) (04b130ac8)
  • chore: cleanup types in quotes scripts (@nadalaba) (#7672) (f04e28ece)
  • chore: pnpm i (13d09343e)
  • chore: upgrade to vite8 (again) (ed774cfc5)
  • chore: optimise depencencies by extracting prefetch functions to their own module (b67443eb7)
  • chore: downgrade to sass 1.70 (e7a2cd9c9)
  • chore(deps): bump @sentry/browser from 9.14.0 to 10.43.0 (#7641) (a03ea0ef7)
  • chore(deps-dev): bump sass from 1.70.0 to 1.98.0 (#7640) (597832992)
  • chore(deps-dev): bump nodemon from 3.1.4 to 3.1.14 (#7639) (5588aa29d)
  • chore: fix contributors list structure (148956f23)
  • chore: stringify output (cb26361cc)
  • chore: handle new script output structure, use try catch (457e8a4e6)
  • chore: fix env not loading, change output structure (70917e74f)
  • chore: fix contributors (3311202ad)
  • chore: release v26.12.0 (1181d956d)
  • chore: fix contributors file path (abd8fb87c)
  • chore: downgrade to vite7 for now (bfac84904)
  • chore: actually fix 404 (7ddbcdf0a)
  • chore: fix 404 page styling (f5a47615d)
  • chore: add yaml as dev dependency (5f264392f)
  • chore: update contributors when running the release script (83c5ff1a6)
  • chore: add solid dev tools (@fehmer) (#7660) (6161fdb5f)
  • chore: finish cleaning up utils (e85bc8ae2)
  • chore: remove test logic dependency from solidjs code (01c986f9a)
  • chore: update purge cf cache script (73e9a6aa4)
  • chore: remove theme indicator commandline dependency (aece24e70)
  • chore: upgrade to vite8 (@miodec) (#7647) (9c7114383)
  • chore: add script to visualise import tree (49589c447)
  • chore: lint all files in frontend instead of just src (02310c737)
  • chore: add caniuse dev dependency (75c0f6bdb)
  • chore: add claude worktrees to gitignore (4aa9e554c)
  • chore(deps): bump simple-git from 3.16.0 to 3.32.3 (#7619) (ea2fff888)
  • chore: add Claude Code GitHub Workflow (@miodec) (#7617) (b40fb2597)
  • chore: add dir auto to quote text in report and submit quote modals (@byseif21) (#7571) (9d56ac49c)
Source: README.md, updated 2026-03-30