Releases: monkeytypegame/monkeytype
v25.2.0
Thank you to all the contributors who made this release possible!
Features
- add tape margin (c9789d6b1)
This setting allows you to change the horizontal position of the caret when using tape mode. By default it remains in the center as usual (so, 50%). You can shift it to the left by lowering this value, or to the right by increasing it. - language: add tamil old (@VIZL-23) (#6141) (599488db5)
- result page: open daily leaderboard when clicking the daily leaderboard rank (@theiereman) (#6133) (759829a6f)
Improvements
- language: rework uzbek lists (@Sonotoki-da) (#6116) (92103f7cc)
- center mini stats when using tape mode (@notTamion) (#6100) (0c8d156be)
- quote: add quotes in various languages (@rmenai, @ItsDrike, @aitchz) (#6144, #6143, #6131) (b490056e3, d535b0723, e6c800b12, 44fbf6228)
Fixes
- funbox plus x not working with custom text using pipe delimiter (@fehmer) (#6155) (9c0635ea6)
- quotes: fix typo in German quote (@MapManagement) (#6154) (94c219efb)
- language: fix khmer language rendering by adding missing 'ligatures' property (@Earpengai) (#6132) (aa7b9d347)
- some funboxes not working if reduced motion is preferred (@fehmer) (#6104) (e2684c925)
- words generator: unnecessairly lowercasing words when funboxes alter word generation (8e38eae9b)
- tape mode not centering words on window resize (a2f6c1f83)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
v24.52.0
Last relase of the year! Sorry I've been a bit slow with updates and merging PRs lately - I promise I will get around to reviewing them. Merry christmas and happy new year!
Thank you to all the contributors who made this release possible!
Features
- language: add Khmer (@Earpengai) (#6128) (81baa911b)
- layout: add zenith (@ibrab000) (#6127) (955bb50bd)
- language: add code_typst (@iggedi-ig-ig) (#6117) (772e4a1d0)
- language: add galician (@psq4) (#6078) (741bdf7c8)
- funbox: add underscore_spaces funbox (@Spurkus) (#6094) (aa58a733a)
- funbox: add ALL CAPS (52fda9d8e)
- language: add portuguese 1k (@Samunals) (#6025) (33be339a6)
Improvements
- quotes: grammar fix for English quote 192 (@mak448a) (#6118) (775908026)
- quote: add quotes in various languages (@herfave, @petieken, @KennethLG) (#6083, #6114, #6079) (0a9928c41, 4baae8fe3, 7d53e9eba, e994e846b)
Fixes
- simple modal: improve error message for auth/invalid-credential when reauthenticating (5d11df3eb)
- remove tailing space and non-break space from various languages (@fehmer) (#6105) (9992d793a)
- crt not applied to typo hints (@fehmer) (#6103) (a67804746)
- language: remove non-polish word (a1397b798)
- css funboxes not being applied when logging in (a670438bb)
- test not failing if min speed check failed on the last second (f0a7b8272)
- funbox: css not cleared when toggling funbox (f0debe6ee)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- refactor: move parseJsonWithSchema to utils package (@fehmer) (#6109) (353fc14b4)
- refactor: ready function now awaits config to be loaded to avoid concurrency issues (baaea3349)
- chore: only check for inconsistent test duration in timed tests, shorter than 120s (b52bb010b)
- chore: add additional isAuthenticated check in case user logs out during the request (c18feb074)
- chore: fix typo (@m4dd0c) (#6121) (2431ae3af)
- chore: add more stats to result data export (545441481)
v24.49.0
Thank you to all the contributors who made this release possible!
Features
- language: add bashkir (@psq4) (#6076) (4f0b582a0)
- layout: add turkish e (@jirmu) (#6069) (a3916cb0c)
- language: add tibetan and tibetan 1k (@lobnor2) (#6032) (f187212cf)
- layout: add dusk (@luminespire) (#6064) (794555f19)
- layouts: added Kuntum, Kuntem and snorkle (@5quidwyrm) (#6061) (a91c95254)
- lang: add amharic 1k and amharic 5k (@Akuna444) (#6055) (aba935448)
Improvements
- quote: add quotes in various languages (@TheFrenchTechMan) (#6039) (4c4e82312)
Fixes
- language: remove british spelling of
counselling
from english 10k (@aoi-buh) (#6084) (a75f0d3b3) - language: remove catalan opening punctuation (@Perseus333) (#6035) (7aceed87b)
- language: remove cyryllic characters from esperanto lists (ca21b8dc3)
- languages: ligatures not being displayed correctly in sinhala (bfcc9138f)
- custom mode limit breaking show all lines in some cases (edf71da1c)
- custom: crash when trying to start a custom text with a lot of sections containing a lot of words (a5c9433c3)
- home and end keys not ignored during test, causing desync (a3e3de47f)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- fix: remove the duplicate manifest tag (@malkiii) (#6088) (44defe174)
- fix(custom text): limit being set to incorrect value when using pipe delimiter and simple text mode (114105171)
- refactor: move funboxes to a shared package (@Miodec) (#6063) (fdadb4ae8)
- chore(deps): bump dawidd6/action-download-artifact from 2.11.0 to 6 (@dependabot) (#6073) (4ccc7fee0)
- chore: add debug log to addWord function (294847d38)
v24.47.0
Thank you to all the contributors who made this release possible!
Features
- lang: add croatian_1k language (@Ivek21) (#6014) (221e70650)
- input: add 'code unindent on backspace' for code languages (@notTamion) (#5991) (dea95a243)
- language: add code fortran (@slammon) (#6009) (ed489448f)
- layouts: add gallium v2 matrix (fe2f43ded)
- lang: add quenya (@Nifle-CGE) (#5967) (3ed27104e)
Improvements
- layouts: add basic support for thumb alpha keys (@zigotica) (#6023) (50639faa1)
- read ahead: show words after correcting typo with backspace (@notTamion) (#6006) (bbfafc1cc)
- remove report button when viewing your own public profile (a5cd1d38e)
- quote: add quotes in various languages (@ricountzero, @Omaeda, @arthvr9, @ricountzero, @Samunals, @theendlesswatch, @luis-cvqz, @CoolerFred) (#6045, #6044, #5999, #5995, #5972, #5981, #5977, #5976) (52571882a, 6b9f7fcff, 9306e1ecf, 3df9ca480, 8ea40b44f, 273650031, c75c6d8ea, e524b6311)
Fixes
- language: grammatical fixes in turkish list (@jirmu) (#6046) (27eef9d93)
- result screen showing pb mismatch when bailing out of long tests (23948f0d9)
- commandline: running wrong command on mobile or when not moving the mouse (e21a205c0)
- balloon message clipping on the result page (527d65702)
- language: removed non-french from the french language files (@theiereman) (#6033) (05d88af73)
- key tips: "off" shown instead of "tab + enter" when quick restart is disabled (@mrtianjin829) (#6036) (de546aefe)
- correct spelling in revoke all tokens modal (@Andotrium) (#6013) (cd8043f83)
- account button avatar not cleared when signing out (2ecd9802a)
- adding missing toki pona word (@anakojm) (#5997) (5a125c91e)
- resolve fps counter showing increased fps when opened multiple times (@blru) (#5990) (bf1f3202f)
- custom mode: remove space at beginning of custom text lines (@notTamion) (#5993) (ab7cf0b38)
- server sometimes rejecting valid funbox combinations (edbb4d445)
- offline banner sometimes not being hidden when coming back online (d448af8d6)
- result word history: incorrect words not being underlined (61862571f)
- input history for characters outside BMP not displaying correctly (8859c557b)
- result page: last word in words mode missing input history (ab729e61f)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- fix: profile being shown in incorrect structure when no social links were present in the profile data (64cbbfcfc)
- refactor(keymap): rework how space keys and layout indicator are handled (cc7a2be28)
- chore: remove TS nightly from the list of recommended extensions (ba30b0d57)
- chore(about page): small typo (@weather7774) (#6024) (ab2ea8b35)
- chore(deps-dev): bump happy-dom from 13.4.1 to 15.10.2 in /frontend (#6012) (083db409c)
- chore: missing custom theme increase on frontend side (3b792e875)
- chore: increase custom theme limit (d4e14da02)
- chore: remove unnecessary code (5d83198ee)
- chore: bump slim-select (2ec5e0a89)
v24.42.0
Thank you to all the contributors who made this release possible!
Features
- layout: add haruka (@inscapist) (#5957) (48bca0a4d)
- layout: add Whix2 by Ec0vid (@lumenn) (#5923) (9b0231a46)
- lang: add code odin (@MarcinKuder) (#5921) (3b2cde851)
- language: add Dockerfile (@rammba) (#5926) (006af5aff)
Improvements
- validate username on name update before sending to the server (@fehmer) (#5961) (31d1d51d6)
- commandline: when using single list mode, press the up arrow to repeat previous command (9f7aeac5a)
- custom text: add option to not remove zero width characters (2ffa2ba33)
- monkey now types with the same hand as the user (@ShaneBerhoff) (#5930) (ac639348c)
- command line: add 'ctrl p' and 'ctrl n' navigation key binds (@xaskii) (#5949) (0a8aac26c)
- don't allow retrying saving result if its a duplicate result (2c7bb9488)
- code go: add more keywords to Golang (@rammba) (#5918) (fa58e090d)
- code csharp: add commonly used C# terms (@rammba) (#5916) (245c09bc0)
- xp bar: improve styling and positioning, make breakdown skip more responsive (072c191f8)
- quote: add quotes in various languages (@MapManagement, @266-750Balloons, @rojadesign) (#5945, #5946, #5904) (740200b3e, eb50eeef2, 6bf1cb867)
Fixes
- unable to enable some layouts due to an incorrect schema (5e35892e4)
- sometimes unable to open practice words modal from the commandline (0a285641b)
- allow only one funbox changing capitalisation (@fehmer) (#5959) (c7751d905)
- commandline: don't trigger hover/exec functions if commandline is closing (4f541da11)
- quotes: korean quotes grammar (@perssphere07) (#5950) (06604684c)
- keymap: next mode not working after pressing enter (efd8f0061)
- layout: typo in middlemak and middlemak-nh (@toast-riot) (#5932) (0c7adabe7)
- xp bar misalignment (840c0c23b)
- handling of characters outside the BMP (@fehmer) (#5911) (f9409e3fc)
- apply reduced motion to xp bar (@fehmer) (#5917) (344896395)
- xp bar not reaching 100% on level up (78ffb9ef9)
- xp breakdown not working in firefox when using crt (8daca636b)
- quote: update or remove quotes reported by users (d541598dd)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(serbian): add more attributes to Serbian files (@rammba) (#5925) (529d42498)
- impr(backend): consider incomplete tests when checking result spacing (73f802299)
- impr(dev): log when result was validated (b70930ab0)
- impr(dev options): add button to test xp bar (3393e2708)
- impr: stop propagation of escape events (52d84836c)
- impr: set level text to the starting value when animating xp bar (d4c1ca268)
- fix: public profile link broken after updating account name (f93812211)
- refactor(build): optimize dockerfiles (@ilolm) (#5955) (ebf98f15f)
- refactor(caps warning): remove boolean flip which could cause flipped state issues (1c2f04eed)
- refactor(xp bar): move code to its own file (db319b172)
- chore: remove console logs (063a6901a)
- chore: upgrade express (a7664d46e)
- chore: move comment (7ed56db4e)
- chore: remove debug code (08fbee545)
- chore: updated scatman quote (@DanielGrenehed) (#5912) (0ede4aee6)
v24.39.0
Thank you to all the contributors who made this release possible!
Features
- reduce motion if prefered by the operating system / browser (@fehmer) (#5866) (0b854af30)
- layout: add night (@luminespire) (#5901) (f360452c5)
- layout: add the rain layout (@ibrab000) (#5899) (0f3485f9e)
Improvements
- custom text: remember custom text settings between sessions (2dcb1072e)
- commandline: add back commands that quickly practise missed and slow words (11aeb313e)
- show xp gain details as list after completing a test (@fehmer, @Miodec) (#5895) (d9788a15e)
- quote: add quotes in various languages (@Gogo200202, @Gogo200202, @Gogo200202) (#5910, #5903, #5898) (8d6f2b4ed, fc2a1064f, 1d7e7bbb9)
Fixes
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(local storage with schema): add fallback value copy to migrate parameters (09ce4bd67)
- refactor: remove global type namespaces (@Miodec) (#5907) (b6bd5ba2b)
- refactor: move common util functions to a package (@Miodec) (#5894) (1509a675b)
- chore(workspace): move contracts back to the packages folder (f23ea56fe)
v24.38.0
Thank you to all the contributors who made this release possible!
Features
- languages: add Slovenian 1k and 5k word lists (@anzepintar) (#5889) (eb03bea62)
- layout: add the inqwerted layout (@aoi-buh) (#5880) (c75ba9a2b)
Fixes
- dark note theme dots being too big (@fehmer) (#5893) (dd657acb2)
- quote: update or remove quotes reported by users (0a9f08bc5)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- dev: add function and tests to get a message from an error (07d94a6d1)
- refactor: enable no-unsafe-member-access (@Miodec) (#5887) (7e703028b)
- refactor: enable no-unsafe-call rule (@Miodec) (#5883) (ceedf8ace)
- ci: add missing forward slash to shebang (@unrealapex) (#5897) (8becb9fa9)
- chore(deps-dev): bump vite from 5.1.7 to 5.2.14 in /frontend (#5896) (94c6ee74e)
- chore: upgrade slim-select (@Miodec) (#5884) (8b2c1723a)
- chore: upgrade turbo (2a0a5b408)
- chore: upgrade octokit/rest (05c22a941)
v24.37.0
Thank you to all the contributors who made this release possible!
Features
- language: add javascript react language (@bdsqqq) (#5873) (604fc208e)
- settings: allow partial presets (@amarnathsama, @Miodec, @fehmer) (#5813) (8a6c81669)
- themes: add suisei theme (@moonbamijam) (#5820) (14277538c)
Improvements
- language: add common javascript words, symbols and functions (@bdsqqq) (#5869) (dd93fdbf0)
- dont save results shorter than 1 second (89016d390)
Fixes
- quote search: search service not building in code_javascript quotes (@NadAlaba) (#5876) (f9bd7d778)
- lower accuracy requirement for accounts that have opted out of the leaderboards (3478c21aa)
- multi-line words causing issues in ui scrolling and tape mode (@NadAlaba, @Miodec) (#5857) (618d53ebf)
- unable to update profile with missing values (@fehmer) (#5859) (9c083f239)
- result filters defaults invalid (@fehmer) (#5860) (6de9ad6e1)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- feat(dev): add deepclone util function (@Miodec) (#5882) (70842599a)
- impr: use ts-rest for webhook endpoints (@fehmer, @Miodec) (#5871) (4f75a00cb)
- impr: move configuration checks to contracts (@fehmer) (#5851) (b315836de)
- impr(dev): add hotfix script (f6a27b2d1)
- impr: move permission checks to contracts (@fehmer, @Miodec) (#5848) (c7b3e2c91)
- fix: unnecessary assertion (e655aa741)
- fix: unresolved ts type (38d8ac721)
- fix(server): get personal bests request mode2 should be optional (d5fb24fb1)
- refactor: move file (fa3ae6668)
- refactor: enable no-unsafe-assignment rule (@Miodec) (#5874) (955eeae2a)
- refactor: remove leftover code from ts-rest migration (@fehmer) (#5875) (e19b3e3e8)
- refactor: use css for heatmap colors (@fehmer) (#5879) (98acf7561)
- refactor: enable no-unsafe-argument rule (@Miodec) (#5872) (93d6fff89)
- refactor: rework rate limiting (@fehmer) (#5845) (b06b9f73e)
- chore(deps): bump express from 4.19.2 to 4.20.0 in /backend (#5867) (c6daef0e9)
v24.36.0
Thank you to all the contributors who made this release possible!
Features
- layout: add the scythe layout (@forusu) (#5854) (5f695b422)
- funbox: add instant messaging (@fehmer) (#5850) (77c1e8e29)
Improvements
- settings: add hints to tag buttons on mouseover (@fehmer) (#5849) (8e0a6c341)
- quote: add quotes in various languages (#5832) (02490213d)
Fixes
- caret: getting last letter top in long multiline words (@NadAlaba) (#5856) (cbaefbf21)
- zen mode: issues when changing tape mode and other caret issues (@NadAlaba) (#5824) (661c13881)
- cookie modal not being shown for new users (8ddb23ac4)
- words flashing when line jumping in some modes (cc00295a5)
- presets: auto-switch theme checkbox values not loaded correctly (@amarnathsama) (#5826) (253efb734)
- release script: not updating root
package.json
version + not supporting some shells (@NadAlaba) (#5825) (faf522f21) - language: duplicate word (13eab0713)
- language: typos in english medical (8a6d0a649)
- funbox: earthquake and simon says not working correctly (@fehmer) (#5823) (8bef02f73)
- sever: wrong rate limiter being used for result post (6e43e1c4d)
- caps lock state sometimes being out of sync (a6232beea)
- sign up: false positive typo warning when using hotmail.com (d957e7afe)
- funbox: choo choo not working (abdd66a27)
- remove 2 misspelled words from english_450k (@pasanflo) (#5809) (a53d60207)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr: use tsrest for user endpoints (@fehmer) (#5815) (259894ab9)
- impr: use tsrest for quotes endpoints (@fehmer) (#5802) (1804ebcd8)
- impr(PR labels): automatically label PRs "waiting for review/update" (@sanidhyas3s) (#5830) (1ba4be38d)
- impr: use tsrest for dev endpoints (@fehmer) (#5800) (30d440a70)
- impr: use tsrest for configurations endpoint (@fehmer) (#5796) (e2d574444)
- impr: use ts-rest for results endpoint (@fehmer) (#5758) (e03a25fb9)
- fix: server not logging exceptions (73f379ae8)
- style(mini result chart modal): fix incorrect height (0d5ff3eb7)
- style: fix some themes not working well with the new header menu (14c121b9f)
- refactor: determine active word based on logical value, not DOM class (@NadAlaba) (#5834) (55496996d)
- refactor: await addWord if the test is out of words (7b4a789f2)
- refactor: update based on logical value, not DOM class (c3274f0f0)
- refactor: rename some functions and variables for easier understanding (9eb927b2f)
- refactor: remove ResultOmittableDefaultPropertiesSchema (@fehmer) (#5827) (65ef5eaba)
- refactor: updateURL function for improved maintainability (@anthonypz) (#5817) (8863fb70d)
- refactor: move mini result chart to the new modal system (59a18680a)
- chore(PR labeler): fix workflow having read access only, when triggered from forks (@NadAlaba) (#5842) (6a24dbb98)
- chore(server): warn if object hash check is disabled (38e0d5088)
v24.34.0
Thank you to all the contributors who made this release possible!
Improvements
- move account settings to a separate page (@Miodec) (#5798) (47e52f0b1)
This change also creates a hover menu in the header which includes the new account settings. Sign out has also been moved to that menu. - language: add common Java classes and words (#5803) (03a08f402)
- account page: automatically enable results if both results and accuracy are disabled to avoid confusion (e3a40b46b)
Fixes
- hints: hide hints in blind mode and update position on some config changes (@NadAlaba) (#5754) (9e057dce8)
- tape mode sometimes showing two cut off lines ([#for real this time](https://github.com/monkeytypegame/monkeytype/issues/for real this time)) (46fa97008)
- tape mode sometimes showing two cut off lines (6657c02d7)
- account verification notice duplicating (210d1aed9)
- config: some settings sometimes being reset on refresh (cd3b95b38)
- legacy values in config not getting migrated (@fehmer) (#5790) (4386999cc)
- result filters getting reset on page load (@fehmer) (#5788) (fa9e877cc)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- style: increase margin (f25536a21)
- style: update email not verified warning styling (2e22677df)
- refactor(account button): dont access snapshot directly, accept parameters instead (3221968e5)
- refactor(sign in out button): move dom modifying code to the element file (aaadad081)
- refactor: move all account button related code to one file (8b4b24f0b)
- ci: skip semantic pr title for dependabot (@fehmer) (#5786) (ffb04f2af)
- chore(deps-dev): bump vite-plugin-checker from 0.6.4 to 0.7.2 (#5808) (32d9fa49e)
- chore(deps-dev): bump @typescript-eslint/parser from 8.0.1 to 8.2.0 (#5807) (758ebd920)
- chore(deps-dev): bump @types/object-hash from 2.2.1 to 3.0.6 (#5805) (7cd44812e)
- chore(deps): bump rate-limiter-flexible from 2.3.7 to 5.0.3 (#5806) (f625eabf7)
- chore(deps-dev): bump @commitlint/config-conventional (#5804) (4e735177d)
- chore: make sure MongoDbMock is using the same configuration (@fehmer) (#5792) (b48854bc9)
- chore: add todo (7ffb7ead0)
- chore: bump swagger-stats to 0.99.7 (4f9ddd1a4)
- chore: bump chartjs-plugin-annotation to 2.2.1 (a0dcfbb6f)
- chore(deps): bump chartjs-adapter-date-fns from 2.0.0 to 3.0.0 (#5782) (a5bbf9856)
- chore(deps-dev): bump conventional-changelog from 4.0.0 to 6.0.0 (#5783) (6684e7b9e)
- chore(deps): bump prom-client from 14.0.1 to 15.1.3 (#5785) (dca7a84c8)
- chore(deps): bump dotenv from 10.0.0 to 16.4.5 (#5784) (8af766efb)
- chore: log zod issues, not zod error (b162e3ada)
- chore: hide merch banner for now (b50701ee2)
- chore(release package): catch github release api error, notify user (101beef87)
- optimize permissions middleware (@fehmer) (#5801) (4466acd6b)
- ci: add ability to run ci on draft pull requests (@Miodec) (#5791) (945db7d20)