Skip to content

Releases: RetroAchievements/RAWeb

2026.07.18-B

Choose a tag to compare

@wescopeland wescopeland released this 18 Jul 14:35
e8f8c40

What's Changed

Full Changelog: 2026.07.18...2026.07.18-B

2026.07.18

Choose a tag to compare

@wescopeland wescopeland released this 18 Jul 14:26
d9591d5

What's Changed

Full Changelog: 2026.07.17...2026.07.18

2026.07.17

Choose a tag to compare

@wescopeland wescopeland released this 17 Jul 10:54
6fd63e4

What's Changed

  • feat(api): add progression stat fields to several resources by @wescopeland in #5054
  • chore: add (leaderboard_id, deleted_at, score) index to leaderboard_entries by @wescopeland in #5043
  • feat(api): add V2 JSON:API relationship endpoint for user leaderboard entries by @wescopeland in #5045
  • perf(api/v2): optimize api_logs writes by @wescopeland in #5058
  • fix(set-requests): split set request table persistence between general and user pages by @angelol-git in #5059
  • feat(api): add V2 JSON:API relationship endpoint for user game list entry resources by @wescopeland in #5041
  • feat(api): add filter[ranked] to users resource by @wescopeland in #5046
  • fix(api/v2): treat date-only upper bounds as end-of-day in date filters by @wescopeland in #5047
  • perf(api/v2): fix filesorts and N+1s on the achievements and users indexes by @wescopeland in #5049
  • perf(claim): avoid fetching entire claim history to see if user has a claim on a game by @Jamiras in #5064
  • fix: extend CONNECT_TOKEN_EXPIRY_DAYS to 365 by @wescopeland in #5040
  • feat(connect): pass avatar_updated_at to client by @Jamiras in #5070
  • feat(manage/media): change 'Other pending for this game' to 'All pending for this game' by @wescopeland in #5071
  • feat(api): add awardKind filter and multi-game filtering to player-games by @wescopeland in #5042
  • feat(api): add V2 event achievements resource and relationship endpoint by @wescopeland in #5057
  • feat(api): add V2 JSON:API index endpoint for the user awards resource by @wescopeland in #5048
  • feat(manage/media): add Prev/Next to zoom dialog for current in-game gallery by @wescopeland in #5072
  • feat(settings): switch to a tab-driven layout by @wescopeland in #5066
  • fix(messages): use team inbox owner name for delegated inbox participant selection by @angelol-git in #5067
  • chore: sync translations from Crowdin by @github-actions[bot] in #5075
  • feat(api): add V2 achievement distribution endpoint for games resource by @wescopeland in #5065
  • feat(api/UserResource): add lastGame relationship by @wescopeland in #5073
  • fix(api/v2): remediate event achievement disclosure bypass by @wescopeland in #5076
  • fix: remediate stale message recipient issue by @wescopeland in #5051
  • perf: use cache/flush pattern for users.web_api_calls writes by @wescopeland in #5030
  • feat: support browser-based user profile picture caching by @wescopeland in #5037

Full Changelog: 2026.07.10...2026.07.17

2026.07.10

Choose a tag to compare

@wescopeland wescopeland released this 10 Jul 12:23
3e6248b

What's Changed

  • fix: correct zeebo icon resolution by @FIareon in #5038
  • fix(user): use media contribution tooltip for actual earned tier by @wescopeland in #5032
  • feat(event): allow game hash to specify system returned in patch data by @Jamiras in #5061
  • fix(event): inherit active range from event if not specified on achievement by @Jamiras in #5060

Full Changelog: 2026.07.01...2026.07.10

2026.07.01

Choose a tag to compare

@wescopeland wescopeland released this 01 Jul 12:33
b8e05ca

What's Changed

  • feat(connect): include system name in warning message by @Jamiras in #5024
  • perf(ResumePlayerSessionAction): skip a mariadb filesort by @wescopeland in #5022
  • perf: cache developer ticket counts by @wescopeland in #5014
  • feat(api): add V2 JSON:API tickets resource by @wescopeland in #5012
  • feat(api): add V2 JSON:API relationship endpoints for user follow resources by @wescopeland in #5011
  • fix(GameScreenshotModerationResource): apply conditional CSS image rendering filter by @wescopeland in #5027
  • feat(api): add V2 JSON:API endpoints for the AchievementSetVersion resource by @Chew in #4979
  • feat: rebrand 'Softcore' to 'Casual' by @wescopeland in #5015
  • fix: don't allow direct unlocking of event achievements outside of hardcore by @Jamiras in #5033
  • feat: add an icon to the Zeebo console by @FIareon in #5013
  • chore: sync translations from Crowdin by @github-actions[bot] in #5034

New Contributors

Full Changelog: 2026.06.25...2026.07.01

2026.06.25

Choose a tag to compare

@wescopeland wescopeland released this 25 Jun 12:53
6cba885

What's Changed

  • fix(GameScreenshotPolicy): block Z'd games from player-submitted screenshot uploads by @wescopeland in #5004
  • refactor: backfill user_game_list_entries.created_at and enforce NOT NULL by @wescopeland in #5009
  • feat(user): allow customization of the displayed media contrib award tier by @wescopeland in #5023
  • fix(connect): remediate potential DoS by @wescopeland in #5018
  • fix(IncrementDeveloperContributionYieldAction): make yet another deadlock mitigation by @wescopeland in #5026
  • feat(connect): include system name in warning message by @Jamiras in #5024

Full Changelog: 2026.06.22...2026.06.25

2026.06.22

Choose a tag to compare

@wescopeland wescopeland released this 22 Jun 13:46
2abe57b

What's Changed

New Features

  • Notifications: show screenshot rejection notes in daily digest mails by @wescopeland in #4995
  • Tickets: make it safe to render leaderboard tickets by @wescopeland in #4913

Bug Fixes

  • Achievement Pages: add title property for proximity achievement description label tooltips on desktop by @Chew in #5005
  • Badges: update mediaContrib-0.png by @wescopeland in #5007
  • Game Pages: remove artificial min height from XL breakpoint by @wescopeland in #4998
  • Game Pages: use a smarter image rendering filter by @wescopeland in #5003
  • Tickets: allow reassigning tickets to reporter without a new comment by @wescopeland in #4950

Management App Changes

API Changes

none

Other Changes

Full Changelog: 2026.06.17...2026.06.22

2026.06.17

Choose a tag to compare

@wescopeland wescopeland released this 17 Jun 22:21
f0a7390

What's Changed

  • feat(connect): add SubmitCodeNotesAction by @Jamiras in #4987
  • perf(UpdateAchievementMetricsAction): use faster/cheaper aggregate queries by @wescopeland in #4985
  • perf(UpdateGamePlayerCountAction): force mariadb to use table indexes by @wescopeland in #4986
  • feat(manage/games): cap to the max number of similar games to 6 per game ID by @wescopeland in #4978

Full Changelog: 2026.06.16...2026.06.17

2026.06.16

Choose a tag to compare

@wescopeland wescopeland released this 16 Jun 21:12
78496b9

What's Changed

  • feat(ticket): allow user to create did not trigger ticket even if they unlocked the achievement by @Jamiras in #4973
  • feature(connect): add pending loss-of-hardcore-support warning by @Jamiras in #4969
  • chore(api/v2): don't report OAuth2 exceptions by @wescopeland in #4977
  • chore: update hash labels by @televandalist in #4988
  • chore: sync translations from Crowdin by @github-actions[bot] in #4991
  • chore(deps): resolve numerous CVEs by @wescopeland in #4992
  • fix: migrate media from screenshots-pending when approved from the review tool by @wescopeland in #4990

Full Changelog: 2026.06.14...2026.06.16

2026.06.14

Choose a tag to compare

@wescopeland wescopeland released this 14 Jun 22:11
c8102b2

What's Changed

  • bugfix(connect): allow unlocks from separate games as long as they are all authored by the same user by @Jamiras in #4970
  • fix(manage/media): properly double-width player-submitted Atari 2600 screenshots by @wescopeland in #4958
  • fix(game): add screenshot max size validation, bump max size to 6MB by @wescopeland in #4959
  • feat(GameScreenshotValidationService): adjust duplicate images validation rule by @wescopeland in #4966
  • chore: sync translations from Crowdin by @github-actions[bot] in #4971
  • refactor(connect): add UploadBadgeImageAction by @Jamiras in #4953
  • feat(GameScreenshotUploadDialog): adjust copy based on user behavior by @wescopeland in #4967
  • fix(CreateDoubledScreenshotAction): remediate orphaned file leak by @wescopeland in #4974
  • feat(manage/media): rewrite the screenshot review tool based on the initial test outcome by @wescopeland in #4963
  • perf: optimize unlock median session queries by @wescopeland in #4982
  • fix(manage/usernames): don't crash on soft-deleted users by @wescopeland in #4983
  • chore(GameScreenshotUploadDialog): add screenshot guidelines url by @wescopeland in #4984

Full Changelog: 2026.06.07...2026.06.14