Releases: RetroAchievements/RAWeb
Releases · RetroAchievements/RAWeb
6.22.0
What's Changed
New Features
- Make the refreshed homepage generally available by @wescopeland in #2926, #2903, #2913, #2943, and #2937
- Migrate the system game list pages to React and add self-healing URLs by @wescopeland in #2908
- Add
ra:community:generate-annual-recap
command by @Jamiras in #2905 - Add automatic 'Group by console' functionality to new datatable by @wescopeland in #2927
- Build dedicated pages for hubs (not yet publicly-exposed) by @wescopeland in #2923
Bug Fixes
- Don't error when restoring deleted achievement credit by @wescopeland in #2911
- Stop messages forwarded to team Discord inboxes from auto-deleting by @wescopeland in #2915
- Don't open a modal dialog on inertia ticket redirect by @wescopeland in #2917
- Allow giving achievement credit to deleted users by @wescopeland in #2918
- Sync dev role attach/detach with legacy permissions value by @wescopeland in #2878
- Ignore event achievements for unranked users by @Jamiras in #2916
- Don't update LastLogin for manual unlocks by @Jamiras in #2919
- Disable "Surprise me" button when there are no games in the list by @wescopeland in #2922
- Auto-scroll new datatable on first and last pages by @wescopeland in #2924
- If only one filterable system, hide the System filter on new datatable by @wescopeland in #2925
- Correctly set page meta descriptions for Inertia.js pages by @wescopeland in #2904
- Fix parse error when user agent contains adjacent spaces by @Jamiras in #2930
- Fix EmailAddress key not found error by @Jamiras in #2931
- Don't hide ticket comments from banned users by @Jamiras in #2932
- Fix bug where wrong ticket type is displayed in email notifications by @Jamiras in #2933
- Prefer hardcore unlock time when present by @Jamiras in #2934
Management Console Changes
- Allow DevQuest for authoring events by @Jamiras in #2912
- Block Jr Devs from updating credit by @wescopeland in #2921
- Allow Art Team members to give achievement badge artwork credit by @wescopeland in #2928
Web API Changes
none
Environment Changes
- Raise composer analyse pre-push memory limit by @wescopeland in #2914
- Sync translations from Crowdin by @github-actions in #2929
- Upgrade to Inertia 2.0 by @wescopeland in #2938
- Bump Vite to 6.0.3 by @wescopeland in #2939
- Update TRANSLATIONS.md to reflect new process on Crowdin by @wescopeland in #2941
- Migrate user moderation comments page to React by @wescopeland in #2944
- Drop GameData.Released and GameData.IsFinal columns by @wescopeland in #2945
- Delete legacy Ticket viewmodel by @wescopeland in #2942
Full Changelog: 6.21.0...6.22.0
6.21.0
What's Changed
New Features
- Allow the database to store credit for achievement logic, art, writing, and testing by @wescopeland in #2683
- Allow the database to store credit for game badge art by @wescopeland in #2877
- Update User-Agent parser for some edge cases by @Jamiras in #2874
- Add Progress filter to game lists by @wescopeland in #2898
- Add Random Game button to game lists by @wescopeland in #2866
- Add a 'Rows per page' control to game lists by @wescopeland in #2885
- Convert game Top Achievers page to React, allow pagination through all players by @Jamiras in #2879
- Allow inactive emulators to be selected when creating tickets by @Jamiras in #2891
Bug Fixes
- Fix issues with notification emails not being sent by @wescopeland in #2886
- Fix overzealous form validation on the Create Ticket page by @wescopeland in #2869 and #2872
- Update RAPatches regex validation pattern by @wescopeland in #2870
- Automatically extend collaboration claims when primary claim is extended by @Jamiras in #2883
- Don't catch evergreen achievements for AotW widget by @Jamiras in #2897
- Always reset sort title on game title change by @wescopeland in #2896
Management Console Changes
- Add create event admin tool by @Jamiras in #2864
- Remediate a perms matrix security issue by @wescopeland in #2876
Localization
- Move translations to https://crowdin.com/project/retroachievements by @wescopeland in #2888, #2893, #2889, and #2907
- Add Russian translation by @Potat0SSack, @RudeBoy4RomUA, @Skyimp007, and @fomdt in #2852
- Update translations for fr_FR by @Crazeuh in #2875
- Use type-safe
t()
function by @wescopeland in #2894
Web API Changes
- Add API_GetUsersIFollow and API_GetUsersFollowingMe by @gastongaiduk in #2887
Environment Changes
- Migrate
/game/{game}/hashes/comments
to React by @wescopeland in #2871 - Migrate
/game/{game}/claims/comments
to React by @wescopeland in #2880 - Migrate
/game/{game}/modification-comments
to React by @wescopeland in #2890 - Add action to resolve sets for emulators in preparation for multiset by @wescopeland in #2842
- Add Active Players back-end actions for
/demo/home
by @wescopeland in #2856 - Add key existence check in
ReleaseTablesSeeder
by @gastongaiduk in #2884 - Reach 100% coverage in the react app by @wescopeland in #2892
- Migrate Active Players to React on
/demo/home
by @wescopeland in #2860 - Force unique 'random' titles during tests by @wescopeland in #2899
New Contributors
- @Potat0SSack made their first contribution in #2852
- @Crazeuh made their first contribution in #2875
- @gastongaiduk made their first contribution in #2884
- @github-actions made their first contribution in #2907
Full Changelog: 6.20.0...6.21.0
6.20.0
What's Changed
New Features
- Migrate the Create Ticket page to our new UI framework by @wescopeland in #2783
- Show Players column instead of Progress column for guests in All Games list by @wescopeland in #2812
- Prepare for automated achievement of the week by @Jamiras in #2827 and #2829
- Add support for monitoring and graceful hardcore degradation of unsupported emulators by @Jamiras in #2865 and #2862
Bug Fixes
- Fix frozen systems filter on mobile game lists by @wescopeland in #2863
Management Console Changes
Localization
- Add translations for fr_FR by @amine4567 in #2777 and #2849
- Add translations for de_DE by @DarkyAndreas, @someGermandUdE, and @SporyTike in #2858
- Remediate advanced translation component bugs, enable fr_FR by @wescopeland in #2846
- Sync i18n plurals correctly by @wescopeland in #2847
- Improve pt_BR translation by @vagnercruz in #2853
- Improve es_ES translation by @gboquizosanchez in #2859
Web API Changes
Environment Changes
- add versionCompare function to UserAgentService by @Jamiras in #2822
- Always hide phpdebugbar at XS breakpoint by @wescopeland in #2809
- Use a native enum for
AchievementFlag
by @wescopeland in #2839 - Bump laravel/framework, laravel/horizon, and filament/filament by @wescopeland in #2851
- Add data table edge case test coverage by @wescopeland in #2850
New Contributors
- @DarkyAndreas made their first contribution in #2858
- @G3mha made their first contribution in #2854
Full Changelog: 6.19.0...6.20.0
6.19.0
What's Changed
New Features
- Add back-end support for automating Achievement of the Week by @Jamiras in #2778 and #2826
- Add a new "Locale" setting on the user settings page which allows users to change their language, date format, and number format by @wescopeland in #2807, #2831, #2833, #2834, and #2836
- Prepare for rewritten home page by @wescopeland in #2802
- Colorize the game list backlog toggle button on the new All Games and Want to Play Games pages by @wescopeland in #2830
Bug Fixes
- Adjust mobile drawer footer padding to improve iOS UX by @wescopeland in #2811
- Allow input of forward slash chars on game list search inputs by @wescopeland in #2813
- Prevent auto-zoom on iOS for mobile game list search field by @wescopeland in #2824
- Lock body scroll when the mobile drawer is open by @wescopeland in #2828
- Use correct client distribution when viewing player session history by @Jamiras in #2843
Management Console Changes
- Add support for news management by @wescopeland in #2572
Localization
- Update es_ES by @gboquizosanchez and @WedgeSparda in #2837
- Add en_GB by @wescopeland in #2835
Special thanks to @Krylan, @gboquizosanchez, @WedgeSparda, @vagnercruz, and @Alexdatadestroyer for contributing early localization support for pl_PL, pt_BR, and es_ES.
Web API Changes
none
Environment Changes
- Send core achievements to emulators from game_achievement_sets by @wescopeland in #2719
- Cache CI install and fan out from install steps by @wescopeland in #2810
- GameListDataTable: add coverage by @wescopeland in #2815
- DataTableSuperFilter: add coverage by @wescopeland in #2816
- Migrate
/leaderboard/{leaderboard}/comments
to React by @wescopeland in #2820 - Reduce memory consumption of beaten games leaderboard by @wescopeland in #2823
- Name actions consistently by @wescopeland in #2818
- Sync i18n in pre-commit git hook by @wescopeland in #2832
Full Changelog: 6.18.0...6.19.0
6.18.0
What's Changed
New Features
- Redesign the All Games and Want to Play Games List pages for mobile devices by @wescopeland in #2758
- On game pages, have the Manage button take the user to the game's Edit view if the user can edit the game details by @wescopeland in #2764
- Add a 'Claimed' column to the All Games and Want to Play Games List pages (toggled by the "View" button) by @wescopeland in #2740
- Include a link to the Supported Game Files when creating new game thread by @Hexadigital in #2781
- Make filtering, searching, and sorting on the All Games page substantially faster by @wescopeland in #2790
- Add a manual paginator control to game list pages by @wescopeland in #2793
- On game leaderboard pages, show the total number of entries by @Jamiras in #2800
Bug Fixes
- Extend set claims from the claim expiration date, not the current date by @Jamiras in #2799
- Correctly update multiset player count metrics by @wescopeland in #2796
- Stop underreporting the active player count by @wescopeland in #2801
Management Console Changes
- Add advanced multiset hash compatibility management tool by @wescopeland in #2745
Web API Changes
none
Environment Changes
- Migrate game comments page to React by @wescopeland in #2762
- Migrate user comments page to React by @wescopeland in #2780
- Migrate achievement comments page to React by @wescopeland in #2797
- Add complex translations component by @wescopeland in #2774 and #2779
- Add TRANSLATIONS.md by @wescopeland in #2765
- Add translations for es_ES by @gboquizosanchez in #2770
- Add translations for pl_PL by @Krylan in #2771
- Optimize
UpdateGameAchievementsMetrics
by @wescopeland in #2775 - Future feature: begin migrating the home page to React by @wescopeland in #2772
- Add front-end code coverage by @wescopeland in #2789 and #2804
- Strongly type the game list sort field by @wescopeland in #2784
- Consolidate repetitive backlog toggle logic into a React hook by @wescopeland in #2786
- Switch from npm to pnpm by @wescopeland in #2794
- Clean up GameListItemElement components by @wescopeland in #2805
- Add logging to forwarded Discord messages by @wescopeland in #2785
- Migrate
ForumTopicController::recentPosts()
logic to an action by @wescopeland in #2803 - Add chokidar as a dev dependency by @wescopeland in #2806
Full Changelog: 6.17.0...6.18.0
6.17.0
What's Changed
New Features
- Migrate the All Games list to the new table view by @wescopeland in #2727
- Improve light mode and tablet UX on new table view by @wescopeland in #2734
- Fetch latest emulator release information from the database in Connect API calls by @Jamiras in #2752
Bug Fixes
- Don't show completions on the game page in Most Points Earned list by @Jamiras in #2753
- Purge cached player statistics when the player gets banned by @Jamiras in #2756
- Fixed an issue where games disappear when table's "Has achievements" filter is set to "No" by @wescopeland in #2746
- Fixed an issue where users cannot write on their own wall when only followers setting is enabled by @wescopeland in #2741
- Fixed an issue where game titles in breadcrumbs were not rendering correctly on some pages by @wescopeland in #2750
- Fixed an issue where the admin achievement migration tool could cause multiset data integrity issues by @wescopeland in #2728
- Sort hashes on the Supported Game Files page by @wescopeland in #2763
Management Console Changes
- Always attach the correct set ID in the multiset management tool by @wescopeland in #2751
Web API Changes
none
Environment Changes
- Use
sort_title
in game lists queries by @wescopeland in #2703, #2739, and #2748 - Set up UI internationalization and localization by @wescopeland in #2723 and #2747
- Add front-end coverage reporting by @wescopeland in #2738
- Update the translations for Brazilian Portuguese by @vagnercruz in #2757
- Migrate
/rss
from PHP to React.js by @wescopeland in #2760
New Contributors
- @vagnercruz made their first contribution in #2757
Full Changelog: 6.16.0...6.17.0
6.16.0
What's Changed
New Features
- Add a new profile setting for ticket activity emails by @Jamiras in #2705
- Provide more descriptive labels for generated sessions by @Jamiras in #2715
- Include post content in forum post/comment email notifications by @Jamiras in #2725
- Implement new UI for Want to Play Games List by @wescopeland in #2706
- Use news link in RSS post when it is internal link by @Krylan in #2721
Bug Fixes
- Preserve whitespace in message Discord/email previews by @wescopeland in #2699
- The mobile navbar no longer floats under other elements by @wescopeland in #2702
- The recent forum posts page no longer flickers on slow internet connections by @wescopeland in #2694
- Show the correct softcore users count in the game page's Achievement Distribution graph by @TwosomesUP in #2466
- Forum topics no longer disappear on Recent Posts page pagination by @wescopeland in #2716
- Update game metrics when player is tracked/untracked by @Jamiras in #2722
Management Console Changes
- Introduce the multiset management tool for developers by @wescopeland in #2713
- Games now support a (currently-unused, will be enabled next release)
sort_title
field by @wescopeland in #2690 - Emulators can now be managed by @Jamiras in #2684
- Remediate issue with missing system filter labels by @wescopeland in #2707
- Improve management of untitled leaderboards by @wescopeland in #2709
- Add CRUD operations for emulator systems and releases by @wescopeland in #2708
- Add Achievement Set Claims list by @wescopeland in #2726
Web API Changes
none
Environment Changes
- Optimize the achievements list page DB query by @wescopeland in #2701
- Convert claim actions to controller by @Jamiras in #2704
- Add user multiset global and local opt-in/out preferences by @wescopeland in #2724
Full Changelog: 6.15.0...6.16.0
6.15.0
What's Changed
New Features
- Redesign the user settings page by @wescopeland in #2624 and #2680
- Automatically subscribe developers to game wall and official forum topic when making primary claim by @Jamiras in #2691
Bug Fixes
- Allow users to wipe their motto values by @wescopeland in #2677
- Require one regular character to submit posts, comments, and messages by @wescopeland in #2678
- Replace [user=ID] in email/discord previews with @username by @wescopeland in #2687
Management Console Changes
- Allow system to be enabled from management page by @Jamiras in #2578
- Make game Release Date Precision conditionally required by @wescopeland in #2681
- Direct 'Manage Leaderboards' to Filament by @wescopeland in #2669
- Prepare for emulator management by @Jamiras in #2689
- Improve management of invisible leaderboards by @wescopeland in #2688
Web API Changes
- Add API_GetGameHashes endpoint by @wescopeland in #2674
- Add API_GetComments endpoint by @ioslife in #2552
Environment Changes
- Improve type safety of forum Recent Posts page by @wescopeland in #2663
- Set up Laravel Pulse by @wescopeland in #2661
- Improve forum topic seeding by @Jamiras in #2668
- Migrate User Recent Posts to React.js by @wescopeland in #2664
- Migrate the Report Issue screen to React.js by @wescopeland in #2676
- Make Inertia SSR port configurable via .env by @wescopeland in #2692
- Start double-writing to game_achievement_sets to support multiset by @wescopeland in #2662
- Add BuildGameListAction by @wescopeland in #2686
Full Changelog: 6.14.0...6.15.0
6.14.0
What's Changed
New Features
- Add marker for non-mastery beaten scores by @Jamiras in #2658
- Rewrite Supported Game Files page, remove auth gate by @wescopeland in #2659
Bug Fixes
- Correctly generate web API key after user email verification by @wescopeland in #2672
Management Console Changes
- Add 'View Comments' button to game hash management table by @wescopeland in #2666
Web API Changes
none
Environment Changes
- Don't autogenerate ziggy.js route definitions by @wescopeland in #2656
- Sync GameAlternatives to game_sets, add double writes by @wescopeland in #2604
- Set up all dependencies for settings page React migration by @wescopeland in #2621
- Upgrade to Laravel 11 by @wescopeland in #2627 and #2660
- Run PHPUnit in parallel mode when detecting a macOS or Linux system by @wescopeland in #2652
- Enforce uniqueness on display names by @wescopeland in #2528
- Improve forum topic seeders by @luchaos in #2568
- Migrate the Random Set route to a controller method by @wescopeland in #2665
Full Changelog: 6.13.0...6.14.0
6.13.0
What's Changed
New Features
- Add hash information to game history by @Jamiras in #2646
- Show indicator for users who have mastered a set in the Most Points Earned list by @Jamiras in #2639
- Add Nokia N-Gage and Sega Pico system icons by @oddgoo in #2647
Bug Fixes
- Prevent exception trying to render recent mastery for deleted user by @Jamiras in #2636
- Remediate issue where "Mastered" glow has a strobing effect by @wescopeland in #2650
- Allow muted users to message team accounts by @Jamiras in #2638
- Don't show today's date on user profiles recently played section when given null dates by @wescopeland in #2643
Management Console Changes
none
Web API Changes
none
Environment Changes
- Include command line arguments in logged exceptions by @Jamiras in #2634
- Store user shortcodes as [user=ID] in the database by @wescopeland in #2606
- Re-add migration value insertions into mysql schema dump by @wescopeland in #2651
- Migrate the Contact page to React.js by @wescopeland in #2648
- For internal analytics, track gamelist type and forum topic id in pageview events by @wescopeland in #2653
- Improve the load performance of forum recent topics page by @wescopeland in #2644
- Migrate the Terms page to React.js by @wescopeland in #2645
Full Changelog: 6.12.0...6.13.0