Releases: monkeytypegame/monkeytype
v24.30.0
Thank you to all the contributors who made this release possible!
Features
- languages: add portuguese 320k (@jeffersonjpr) (#5648) (962b1a79e)
Improvements
- languages: serbian 10k lists (@Fooftilly) (#5652) (bdaca701c)
- authentication: add error message when sign in popup was blocked by the browser (a1a94db1a)
- replace ṅ with n in lazy mode (@fehmer) (#5638) (c96185e90)
- languages: Add useful Vim motions and sort JSON (#5618) (62305cc02)
Fixes
- tape mode: not scrolling for extra letters (c1afd1336)
- reenable login inputs if loading user data fails (13a15c94d)
- incorrect portuguese group array (c24bf0fa8)
- util: hexToRgb function (brenob6) (#5643) (c0f7e2572)
- word generator: custom mode with time limit generating the wrong amount of starting words (ee49c79d6)
- caret: block width going down to 0 when typing with blind mode on (8d9875f4e)
- blind mode: tape mode still scrolling when making mistakes (799902949)
- quote: update or remove quotes reported by users (3b768e0d7)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(dev): add quick login button to frontend dev modal (230517625)
- impr(dev): disable ads in dev (c6d1ea09c)
- impr: disable sw caching for version file (f96b8efda)
- impr: use tsrest/zod for type-safety on both ends (@fehmer) (#5479) (4c9e949f1)
- docs: move files to docs folder (#5654) (1d8930cb0)
- docs: update contributing advanced (@fehmer) (#5646) (2a28bee7c)
- docs: update example code (#5633) (e7afa1263)
- refactor: run prettier (#5636) (a2b4cee02)
- refactor: restructure project to a true monorepo (#5626) (3e88ac2f1)
- perf(ci): cache dependencies (#5653) (ac0e24e38)
- ci: optimize prime-cache checkout (@fehmer) (#5657) (ed4b07206)
- ci: configure dependabot (@fehmer) (#5642) (c856cf12f)
- ci: update ci-failure-comment workflow (@fehmer) (#5632) (29627fd0d)
-
- dev: missing outputs prop causing cached build to not output files (c1bd66a82)
- dev: vite preview not working (93b2e0036)
- build(frontend): check ts on build (5c58270bd)
- build: split vite config (c832f7eb3)
- chore: notify user the config coming from the database is in the wrong format (f4bfe2717)
- chore: update hotfix script (906c15cfa)
- chore: output version to version.json (0b3e3d9a3)
- chore: update backend out dir (642a2b22a)
- chore(deps): bump express from 4.17.3 to 4.19.2 in /backend (#5650) (d717ae005)
- chore: update master pre-push script (4034880d0)
- chore: add supporter (2eb9b7aa2)
- chore: start application in dev mode using docker (@fehmer) (#5647) (40514cd24)
- chore: regen package lock (9889bfa54)
- chore(dev): update vscode workspace file (ff2ac031b)
- chore(dev): prevent terminal screen from being cleared in watch mode (cac4c7b23)
- chore(dev): prevent terminal screen from being cleared by vite (be304906e)
- chore(dev): fix tsconfig path (5f7565a69)
- chore(dev): use --force param for dev turbo dev (93f6a9c0f)
- chore: update file extension (eaa766fc7)
- chore: bump ua-parser (8de977a45)
- chore: add full check command (b9f9a0174)
- chore: regenerate package lock (93767fecf)
- chore(deps-dev): bump vite from 5.1.2 to 5.1.7 in /frontend (#5639) (b5444d827)
- chore(deps-dev): bump postcss from 8.4.27 to 8.4.31 in /frontend (#5640) (26c60c683)
- chore: increase inconsistent test duration window (deeea0fb7)
v24.29.0
Thank you to all the contributors who made this release possible!
Features
- languages: add Serbian 10k (@Fooftilly) (#5603) (b243d1472)
- languages: add Occitan 200, 1k, 2k, 5k, 10k (@Mejans) (#5571) (bd29e4f68)
- language: add Common Lisp (@ChristoferKoch) (#5605) (1600c5206)
Improvements
- provide all-time LB results during LB update (@fehmer) (#5614) (94a393fd8)
- quote: add quotes in various languages (@mxz7, @turkwr) (#5611, #5609, #5608, #5601) (864ade157, 81ef04bbc, 339ce44ae, 9953c5ed0, fddbede93)
Fixes
- hide extra letters causing caret to go to the start of the active word (cf74cd7cb)
- optimize / fix concurrency in UserDal (@fehmer) (#5558) (088ff638c)
- quote: remove duplicate (f729b9e01)
- server: not being able to view profiles which had a dot in the name (1cabbaa3e)
- tape mode: test words sometimes being clipped (16f248d9d)
- account page: xp bar not updating when claiming rewards (@fehmer) (#5607) (cecfb83b5)
- zen mode not working (1462d5193)
- preview fonts not working correctly in the commandline (#5595) (966d3ce57)
- session timer duplicating incomplete test seconds (d572c094a)
- upside down funbox tooltip not visible on settings page (@fehmer) (#5602) (c93713303)
- read ahead funboxes not working (215862e6e)
- blind mode not working with highlight mode word (f49e7f194)
- total test calulation on testActivity chart (@fehmer) (#5596) (c802d0781)
- league of legends language being right to left (@fehmer) (#5597) (34244a304)
- use bold variant of nunito font (@fehmer) (#5594) (cbb52b13a)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(dev): add button to show real words input (034e97c35)
- refactor: split middlewares into smaller files (#5616) (2af5879f2)
- test: add test coverage for PresetDal (@fehmer) (#5615) (aca3fe205)
- chore: fix release scripts (356e4bcd5)
- chore: add firebase tools dependency (0db50e30d)
- chore: rename file, fix duplicate (a5f485c71)
- chore: add log to try to debug an issue (3ccd3b5e8)
- use typescript for font-preview and fontawesome scripts (@fehmer) (#5613) (5b970ecea)
v24.28.0
Thank you to all the contributors who made this release possible!
Features
- languages: add League of Legends language (@Hailfire805) (#5590) (7ed666238)
- languages: add cobol language (@liandeguo) (#5589) (ec0715205)
Improvements
- reduce initial loading time of settings page (@fehmer) (#5583) (66c09a462)
- optimize font sizes by using woff2 (@fehmer) (#5582) (a2a5c10a8)
- account page: add total tests to test activity chart (@fehmer) (#5586) (b114db9bd)
- replace dead characters when using indicate typos: replace (016e55036)
- result page: modify navigation order to make sure tab focuses the next test button (9fb400545)
- test ui: changing tape mode no longer restarts the test (#5565) (6ccdadfe3)
- test config: allow keyboard navigation (@Truiteseche) (#5528) (cf855bd48)
- shadow theme: dont dehighlight typed words in shadow theme (5ef6da061)
- escape html when displaying custom text names (b631dc414)
- server: disallow dots in tags, presets and custom theme names (8c00315c5)
- server: dont allow dots in usernames (dd4943bae)
- commandline: add vim keybinds for navigating up and down (b8fce1549)
- quote: add quotes in various languages (Ramen2X, @Kevinme789, Tempest76) (#5592, #5588, #5580) (d87d1f188, d70bb6669, 087bf55d4)
Fixes
- cookie modal: missing icon (d7f9a4d44)
- quote: missing capital letter (#5591) (b215f0406)
- changing tape mode during the test causing overflow (a00a8bb94)
- practice missed words generatic less words than expected (d2caf248b)
- short tests not saving towards "session typing time" (ae712b313)
- cleanup tmp while updating users inbox (#5559) (1f085580e)
- active word duplication in code quotes (8beddebbd)
- test: tab-navigating away from the test words doesnt fade in the ui (d6a3cd08e)
- word generator: repeated tests sometimes triggering generation error (03937c72c)
- error when loading account page and quickly navigating to another page (@fehmer) (#5555) (ea650278e)
- mexican theme sub alt color (@fehmer) (#5552) (4f29aa55a)
- concurrency issue while claiming rewards (@fehmer) (#5553) (ce093c538)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- fix: updateInbox claiming all rewards (@fehmer) (#5560) (3722000d8)
- style(typing test): fix newline/tab characters not working well with some fonts (ffc47e861)
- style(test result): fix line height of test type text (b19be346f)
- style(result page): fix replay play button margin (39b52fac6)
- style(core): add visibility prop to the invisible class (48b57320b)
- refactor: rework highlight mode, colorful, flipped and blind to pure css (#5568) (9f924f345)
- refactor: run prettier (#5575) (e4bc60302)
- refactor(caret): add lastwordelement, optimise top pos, letter width, letter height (#5567) (aac44aead)
- refactor(test config): use display instead of visibility for puncandnum (6bbb11fa9)
- chore: relax user forgot password rate limit (65a3f9dac)
v24.27.0
Thank you to all the contributors who made this release possible!
Features
- theme: add terrazzo (@fehmer) (#5539) (e61b377e9)
- languages: add kyrgyz_1k (akmatoff) (#5535) (40b8a489b)
- layout: add vylet (MightyAcas) (#5525) (23fb71c1a)
- language: add special lazy mode replacement to serbian (while1618) (#5518) (e6acf225d)
- add test activity and streak into to the apekey endpoints (@fehmer) (#5513) (442153724)
Improvements
- language: lowercase all assembly words for easier practice (0b16dcefc)
- server: trim consecutive newlines when updating user profile (theiereman) (#5538) (2714af1ee)
- notifications: message readability on hover (navazjm) (#5529) (29bd0df37)
- layout: add alt layer character to azerty (theiereman) (#5480) (e42f888ff)
- practice: shuffle words when practicing missed/slow words (grzebiel) (#5519) (f123617c3)
- quote: add quotes in various languages (aescanes, connorcarey, Omaeda) (#5509, #5520, #5511) (63b9f7605, b641017ab, d12da3705)
Fixes
- test history tags button flashing on load (@fehmer) (#5550) (6d1b4f38b)
- themes: wrong theme added to favorites when using random theme (mitjans) (#5532) (2da6e555c)
- themes: mexican theme being unreadable (@fehmer) (#5536) (d0e9206c1)
- lazy mode not working for vietnamese (@fehmer) (#5534) (dbef3f40b)
- test: apply highlight mode when loading (mitjans) (#5533) (3346b3891)
- test activity: calendar months misalignment in some cases (#5523) (5da8c6ed8)
- scroll to top button appearing on load (b6069a78a)
- punctuation: make sure punctuation characters are placed before newline or tab characters (c534453a0)
- language: remove "childrens" (d38446249)
- zipf: improve approximation of zipf distribution (@NadAlaba) (#5515) (211253bec)
- quotes: typo (bfc9500d3)
- quote: update or remove quotes reported by users (63aad7c42)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(dev options modal): add button to show test notifications (00d73be17)
- refactor: run prettier (#5548) (aa46f7890)
- perf: optimize database access for UserDal (@fehmer) (#5544) (d566ba646)
- chore: quote lengths script (bfaa7b2dc)
- chore: fix check annotations for dev routes (@fehmer) (#5549) (e8d9ce63d)
- chore: replace twitter urls with x (unrealapex) (#5541) (0877723fd)
- chore: remove some words from the profanity list (6da0e6a0f)
- chore(husky): run
nvm use
only when needed (#5524) (5c618082c)
v24.25.0
Thank you to all the contributors who made this release possible!
Features
- auth: allow removal of password authentication when a different authentication provider is added to the account (@fehmer) (#5499) (8e1aeb315)
- layout: gallium v2 (AurimasAnskaitis) (#5500) (768c22503)
- language: add armenian and armenian 1k (252b44653)
Improvements
- custom theme rename modal: automatically select input (@fehmer) (#5487) (d733996b0)
- slightly rework the login page (92193f1dc)
- about page: add icons (0042a76a2)
- keymap: remove iso key when using matrix keymap on iso layouts (050ba42f1)
- add button to remove custom theme background (@fehmer) (#5488) (ccd2b1ef2)
- finnish 10k: remove bad word (0f89730d3)
Fixes
- login page: pressing enter opening google login (57a6fd9bd)
- test activity graph showing 54 weeks (@fehmer) (#5497) (f0ec0c04f)
- typed letters not visible in tts funbox if highlight=off (@fehmer) (#5496) (90e234f77)
- unable to rename freshly created theme (fehmer) (#5486) (d5b310396)
- typing test: expert mode not working (0715352c5)
- typig test: blind mode not highlighting missed characters as correct (4e46f6bc9)
- tape mode: letter scrolling not working (28a397ecf)
- typing test: line jumping too late (04a64c666)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(dev): add debug launch configurations for vscode (@fehmer) (#5501) (b5f1225df)
- impr(dev): add button to cycle media query debug from the frontend (f4f83cf48)
- impr(dev): add endpoint to create test user/data (fehmer) (#5396) (b4ea7f119)
- impr(login): start sign up button disabled (2c7e77be6)
- impr: add character-counter class to avoid code duplication (theiereman) (#5482) (98ff4b288)
- fix: incorrect import (c747bf452)
- fix: incorrect name value (3b4276bf7)
- fix: remove unused imports (26785515e)
- fix: update twitter link (2d6d84a4d)
- style: change label text color when checkbox is disabled (92a05f171)
- style: disable user selection on checkbox labels (e1510b86e)
- refactor: rewrite share test modal to use new system (a22dee8a7)
- refactor: move files (a84e9638a)
- refactor: move files (2a06e3a4f)
- refactor: run prettier (#5493) (6c3b194e4)
- refactor: rework auth state change function (120b660ef)
- refactor: dont use deprecated function (50b658b72)
- refactor: avoid root module level function calls ([#except entry file](https://github.com/monkeytypegame/monkeytype/issues/except entry file)) (e290b529b)
- refactor: move function call (5351c4eca)
- refactor: github version checking (7deb58cf8)
- refactor: move focus call to the focus file (3f8f1b9fd)
- refactor: start without focus class (a587efad6)
- refactor: remove unnecessary line (54f6e630a)
- refactor: remove unnecessary code (4dc137fe2)
- refactor: move skeleton save to async modules (995f71d4e)
- refactor: move error event handlers to a dedicated event handlers file (9b739f6e6)
- test: mocking isAuthenticated to false (20eaec60d)
- chore: move launch configuration to workspace file (@fehmer) (#5502) (6b352a5e4)
- chore: update title (f9e955d31)
- chore: move file (afe99b0ab)
- chore: remove old, unused code (fe63d3f19)
- chore: remove old plushie banner (48872a024)
- chore: add comment (d8cda00b2)
- chore: upgrade vite-plugin-pwa (79874fe4e)
v24.24.0
Thank you to all the contributors who made this release possible!
Features
- funbox: add plus zero funbox. only the current word is visible (6a768b40b)
- lang: add portuguese 5k (acalanato) (#5462) (452795f01)
- layouts: add cascade layout (HamNuggets) (#5481) (b7f05d7b5)
- theme: add lilac mist (sandyg6) (#5415) (76eb104f3)
Improvements
- quotes: Add English quote (celestars) (#5452) (226547202)
- quote: add quotes in various languages (Augustin68, atypicalesper, faq0) (#5463, #5475, #5465) (7a1556592, 37c256b03, eac0f7c6a)
- detect custom background image not available (fehmer) (#5460) (24909fda1)
Fixes
- typing test: highlight mode next, next 2 and next 3 dont dehighlight typed words (cfbac0f15)
- russian 375k: delete unwanted words (#5483) (323185d55)
- year selector flashing in the top left on page load (fehmer) (#5476) (a8c7134f8)
- backspace to previous word in stop on letter leaving type hints (NadAlaba) (#5466) (a1c805cc2)
- misaligned tooltip in terms-of-service (extoplasm) (#5474) (e038873b5)
- server: incorrect error message when profanity was detected (66a91011d)
- style: right to left languages causing test word offset (8e8fdf872)
- style: weird shifting behavior when typing test that is only one line (85007b741)
- funbox: memory not allowing typing at all (2890dc7db)
- test activity graph bugs (fehmer) (#5468) (01076986b)
- caret: incorrect placement on page load (595000ad4)
- presets: punctuation and numbers modes not being enabled in certain situations (b2a860499)
- xp: hide decimal point if displayed xp is < 1000 (NadAlaba) (#5448) (2c0002c91)
- remove pending crown from results that wont be sent to the server (5306d6fe2)
- also disallow stop on letter on the daily leaderboards (d2d1f83a3)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(type): more accurate type on a function parameter (ee340f4e2)
- impr: optimize use of fontawesome (fehmer) (#5423) (fad3f6e8d)
- impr(server): log server versions which generate 500 errors (ff86c8321)
- fix: font awesome regular not working (Miodec, fehmer) (#5477) (f72f58f3f)
- docs: fix a typo and apply styling to the whole doc (Warrobot10) (#5456) (eb3a6e0f4)
- refactor: await word addition, call some UI functions after word addition (d6c17664e)
- refactor: move test finish/fail logic, add all words generated check (faf7efa04)
- refactor: move tape scrolling function call to the ui file (148fa1e51)
- refactor: checking if all words were generated before stopping the test (0e8274f93)
- refactor: throw if word element is nullish instead of assuming its always there which could cause issues (fb721344a)
- refactor: extract code so that it can be used in other places (eab8eefd4)
- refactor: remove old, unnecessary code (2e78d9f06)
- refactor: only calling ui functions when on the test page (60570459c)
- refactor: move token revoke call to other auth util functions (90c96a2bd)
- refactor: update crown type names (a279744ef)
- test: remove double mock (05d6160b2)
- build: add @shared alias pointing to the shared directory (57ff186f9)
- chore: release v24.23.0 (21692a119)
- chore: make sure to use the correct node version (57e2bbc86)
- chore: make sure pre-push hook file is executable (9659ebb1b)
- chore: make sure to run tests before pushing to master (16b794412)
v24.23.0
Thank you to all the contributors who made this release possible!
Fixes
- caret: incorrect placement on page load (595000ad4)
- presets: punctuation and numbers modes not being enabled in certain situations (b2a860499)
- xp: hide decimal point if displayed xp is < 1000 (NadAlaba) (#5448) (2c0002c91)
- remove pending crown from results that wont be sent to the server (5306d6fe2)
- also disallow stop on letter on the daily leaderboards (d2d1f83a3)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- refactor: move token revoke call to other auth util functions (90c96a2bd)
- refactor: update crown type names (a279744ef)
- test: remove double mock (05d6160b2)
- build: add @shared alias pointing to the shared directory (57ff186f9)
- chore: make sure to use the correct node version (57e2bbc86)
- chore: make sure pre-push hook file is executable (9659ebb1b)
- chore: make sure to run tests before pushing to master (16b794412)
v24.22.0
Thank you to all the contributors who made this release possible!
Features
- result: disallow stop on error letter from getting new pbs (aa2466a0d)
After giving it some thought and receiving proof from some of the fastest typists on the site that it's very easy to abuse this setting - I have decided to disallow stop on error: letter from getting new personal bests. I even remember back when adding this feature couple years ago how I thought it was a bit too much help (completely removing the need to backspace), but I was quite focused on just pleasing the community and pumping out new features. With Monkeytype getting more and more competitive, it is now clear that the advantage is just too much. Plus, it doesn't reflect how we all type from day to day.
Improvements
-
result: add new crown states (error, warning, ineligible, normal) (bc3ecb25e)
This change will provide earlier feedback to you if you got a PB. A new, outlined crown will appear if the client thinks you will get a PB based on the locally available data. Then as soon as the server responds, the icon will change to represent a "confirmed pb".
The icon will also warn you if your config is ineligible for a new PB (based on the change above) -
result saving: better error message when result schema is incorrect (cd11d7ced)
-
british english: add more words to the replacement list (468460fc2)
-
results filters: allow deselecting options in multiselect dropdowns of results filters (NadAlaba) (#5445) (df3e9ff12)
-
french input: when typing œ and æ, replace them with oe and ae (b626fdd64)
Fixes
- layout: fix arabic 101 & arabic 102 layouts (#5449) (f9d1016e4)
- crt: shrinking xp bar and hints not glowing (NadAlaba) (#5447) (f4d121c25)
- quote: update or remove quotes reported by users (353077c7a)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
- impr(server): move password update from client to server (8e057e3cb)
- fix(backend): use correct function (0c38d99bd)
- docs: missing paragraph element (898278b3e)
- docs: utilize blockquote color highlights (unrealapex) (#5444) (272d61cd0)
- refactor(backend): revoke tokens, update email (f7a97505d)
- test: fix missing mocks breaking tests (40423baa2)
- test: fix flaky tests on user creation (fehmer) (#5434) (fd3fc7ca4)
- chore: remove unnecessary import (4a29e6a1b)
- chore: quote lengths script (cebc4d76a)
- chore: remove unnecessary import (313468cee)
v24.21.1
Thank you to all the contributors who made this release possible!
Improvements
Fixes
- account page: bad performance in safari (c421f2206)
- too many decimals showing on profile page for some users (fehmer) (#5433) (b19ff0d9b)
- login page: failing popup signin not resetting input fields (007fcf7e8)
- maintenance banner is blocked by ublock (fehmer) (#5413) (c942e1da5)
- layout: update Ergo‑L layout to 1.0 version (Nuclear-Squid) (#5421) (627f1349e)
- testActivity not removed on account reset (fehmer) (#5427) (d9767ebc9)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.
v24.21.0
Thank you to all the contributors who made this release possible!
Features
Fixes
- leaderboard modal: language dropdown resets after reopening lb (ykahveci) (#5418) (47ab02860)
- account page: add missing "no funbox" filter (fehmer) (#5405) (1f3ffd897)
- quotes: Fixing 'e' in a quote in english.json (ElijahRosal) (#5402) (1997b5748)
- copy words command not working (fehmer) (#5400) (65dffce71)
- input history not available in zen mode (fehmer) (#5399) (85502eae5)
- signup only working after one retry (fehmer) (#5406) (02d4c2a1f)
- quote: update or remove quotes reported by users (e1e592e09)
Nerd stuff
These changes will not be visible to users, but are included for completeness and to credit contributors.