- Base directory can be changed in config.py from the default / to, for example, /taiko-web/
- See tools/nginx_subdir.conf for an example nginx configuration with a base directory
- Custom error pages can be used, they can be set in config.py
- #LYRIC
- Parse #LYRIC commands and apply them to all difficulties that do not have them
- #LYRIC command now supports branches
- Fix last #LYRIC at the end of the chart getting ignored
- Fix the glitchy dragging and dropping of files on the custom song importing page
- Fix Ctrl and Shift keys getting stuck on song select when switching tabs with Ctrl(+Shift)+Tab
- Search
- Fix the search box "random:yes" query to randomize the entire results and not just the first 50
- Add "all:yes" query to the search box to remove the result limit and display all of the results
- Fix searching for an invalid query (like "cleared:yes" or ":") unexpectedly returning all the songs
- Fix pressing Q then jumping to a song through search not unmuting the sound
- Pressing the search key on mobile will hide the keyboard
- Fix search tips changing rapidly when the window is resized
- Use comments instead of `######` in the issue template so that the warning does not appear in the issue
- Fix TJA MAKER: url between angle brackets not working
- Add a check for Class field declarations in the browser support warning
- Fix gpicker getting stuck if a network error occurs
- Fix not being able to replace some assets using a "taiko-web assets" folder
- Fix selectable song title not being aligned with the game if the game window is too wide
- Allow plugin developers to use the "select" type for the settings options
- It uses "options" array and "options_lang" object
- Fix plugins not getting removed from the plugin list on syntax error
- Fix error messages not working if a default plugin is broken
- Fix the start of default plugins not stopping the page from loading on error
- Fix not being able to scroll the plugins screen on mobile
- Add a "Browse..." button to the plugin menu
- Remove the "Unload All" button from the plugin menu if there are no imported plugins to unload
- Add a new search filter: random:yes
- Resolution settings now affects the results screen assets
- Pixelate more assets with lowest resolution setting
- Fix loading error message not appearing sometimes
- Remove img.css from img assets, the background selectors have been moved to assets.js
- Separate the search logic from SongSelect to its own js file
- Load all image assets with crossorigin=anonymous, this could allow making assets low resolution or programatically taking screenshots at a later time
- If EditFunction in a plugin tries to edit something that is not a function, it will give a better error message
- Disallow search engine bots from indexing images and adding a translate link, which cannot load the game
- Add list of enabled plugins to the diagnostics
- Fix broken image permormance in the diagnostics
- Fix parsing undefined values in score storage
- Do not error when verticalText or layeredText gets undefined text
- Make debugging syntax errors in plugins easier by catching the errors and printing relevant information
- Fix default plugin rejected load promise resolving unexpectedly
- Fix default plugin id not stripping the search part of the url
- Searching diverge:yes returns songs with branches
- Fade out music slightly while search window is open
- When opening search box with a saved query, all the text gets selected
- Fix Ctrl+F not working during song select fade in
- Fix edge case highlighting only working on lowercase letters
- Fix right clicking selected text in the search box so it no longer gets unselected
- Fix Netplay option appearing when netplay is offline
- Use category id instead of name in the generated stylesheet
- Languages can choose to fallback to english instead of japanese with preferEn