Added rate limiting to the search box and its suggestions so a single visitor can't overload the site or flood the search history
Added accessible names to the search box, the dashboard filters, and the sign-in/register tabs so screen readers announce them correctly
Added the same archive size and file-count limits to plugin installs that theme installs already enforced
Updated the installer and server setup so your .env file, database password, purchase code, and pre-update backups are no longer readable by other accounts on the server
Updated stored social-login tokens to be encrypted at rest
Updated game uploads to block server-executable files, including files pulled in by the catalog importer
Updated the provisioned web server to compress pages and to keep security headers on static files
Updated a bundled third-party library to clear a published security advisory
Improved page load speed by no longer scanning the plugin folder on every request
Fixed the homepage failing to load on servers running an older version of SQLite
Fixed an open redirect when switching themes
Fixed password reset links: requesting a new one now immediately retires the previous link, so an older link can no longer be used
Fixed the bundled site icon missing from fresh installs
Fixed the Buy and Download buttons staying clickable when unavailable, and Continue staying clickable when the install checks fail
Fixed a plugin losing its saved secret key when its settings were re-saved
Fixed EXP levels not recalculating when a rank is added, removed, or its threshold changes
Fixed tournament creation failing when two tournaments shared a very long title
Fixed emails with very long subject lines failing to send
Fixed comment sections looking empty when they had actually failed to load
Fixed failed monthly GP payouts to subscribers passing silently instead of being recorded
Fixed a duplicate confirmation message when saving your avatar display preference, and inconsistent number formatting on the EXP adjustment screen
Fixed live score, leaderboard and tournament updates interrupting play — arriving mid-game, they reloaded the page and restarted the game, which happened to every player who beat their own record
Fixed the new-record celebration not showing while playing in fullscreen, and it now covers the whole screen
Fixed pre-roll and between-level ads not showing while a game was in fullscreen
Updated the Fullscreen button to a proper toggle, so players on phones and tablets can exit fullscreen without an Esc key
New site-wide favicon setting — upload your own browser-tab icon in Settings → General, with an automatic fallback to your theme's icon and then the bundled default
Added blog comments, tournament history, follows and articles to the personal data export, and stopped it handing back internal moderation notes
Added a rate limit to voucher redemption, so codes can no longer be guessed in bulk
Added rate limits to the admin test-broadcast, broadcast-health and test-email tools
Added the payment-gateway subscription details to the audit log when an account is deleted, so you can still cancel a live billing agreement afterwards
Updated the bundled server and browser libraries to clear every known security advisory in shipped code
Improved game importing — descriptions, embed links and downloaded files from the upstream catalog are now checked before they're trusted, and your purchase code is no longer sent to lookalike domains
Fixed taken-down and unapproved games not being fully hidden: they no longer appear in search-engine sitemaps, social share previews, article images, the article embed picker, category tiles and counts, tag lists, site-wide game counts, AI assistant suggestions, or the TV browse screen
Fixed the home page's Top Searches strip showing whatever visitors typed — it now lists only searches that lead to a real, published game
Fixed the monthly points drip for subscribers paying out only once, ever
Fixed renewal reminders being skipped in most months, and subscription activation sending two notifications instead of one
Fixed tournaments with no prize pool never finishing, and re-announcing themselves as completed every five minutes
Fixed tournaments awarding prizes while the points economy was switched off
Fixed cancelling a tournament silently short-changing the refund for players already at the points balance cap
Fixed a voucher being marked as used even when it awarded no points
Fixed refunded digital downloads staying downloadable, and repeatedly unfollowing and refollowing someone paying out experience each time
Fixed the score screen reporting the wrong experience total — points that were never granted when the experience system is off, and half the real amount for players with an experience boost active
Fixed shop items being impossible to create from the dashboard
Fixed drag-and-drop reordering on filtered views and page two onwards scrambling the order of categories and shop items
Fixed invoice PDFs printing without the site logo
Fixed banned and deleted accounts still appearing on per-game, homepage and tournament leaderboards, and moderating a rating not updating a game's public average
Fixed old avatar and cover images being left on the server after a new upload or an account deletion
Fixed errors from scheduled jobs and background workers never reaching the error log
Fixed administrators being able to lock themselves out by deactivating their own account, and deactivated users keeping access until their session expired
Updated email subjects to use the recipient's language instead of the site default
Updated the shop, tournament, points and experience forms to reject out-of-range values instead of failing silently or corrupting a purchase's expiry date
Improved behaviour during a cache outage — your settings no longer revert to defaults and the installer no longer reopens on a live site
Fixed a security issue that could let a malicious game upload write files outside its intended folder
Fixed duplicate pop-up notifications appearing after dashboard and settings actions
Fixed server status messages sometimes not appearing as on-screen notifications
Fixed duplicate subscription cancellation emails being sent
Fixed follower and comment counts occasionally showing outdated numbers
Improved reliability of scores, leaderboards, favorites, follows, ratings, downloads, experience points, and tournament refunds when actions happen rapidly or across multiple tabs
Fixed voucher redemption failing when a player's points balance was already at the maximum
Fixed expired avatar items not being removed from a player's avatar automatically
Game descriptions now keep their line breaks
Improved accessibility across the home page, blog, footer, and forms
Added a real-time progress display when applying updates
New: Support for the optional Auto Update add-on — once installed, you can check for and apply new versions right from your dashboard. An automatic backup of your application files and database is taken before each update, with rollback if anything goes wrong.
Added: An Updates tab in Settings showing your current version, any available update, and a one-click apply button (active when the Auto Update add-on is installed).
Updated: Russian YooKassa payments now issue 54-FZ fiscal receipts and automatically renew saved payment methods for subscriptions.
Improved: Emails and other automated tasks now run reliably without needing a separate background worker.
New AI Writing Assistant for blog articles and game descriptions — generate a full draft from a topic (with a suggested title, excerpt, tags, category, and links to games on your site), rewrite or improve selected text right in the editor, create one-click excerpts, and polish game descriptions. Bring your own AI key (DeepSeek, OpenAI, or Grok), set up entirely in the dashboard.
New "Artificial Intelligence" settings tab with a model picker and a one-click connection test.
Updated the default theme's mobile layout so category strips stack neatly and game tiles are no longer crushed on small screens.
Fixed the play page so the Report button is no longer clipped on mobile.
Added clear Language and Theme labels in the mobile navigation drawer.
Improved mobile tap targets and profile stats for easier use on phones.
Added a "Default Color Mode" setting so admins can choose whether the site defaults to light, dark, or system mode for visitors
Fixed the site header overflowing on narrow screens — the logo and search bar now shrink gracefully on small devices
Improved premium theme support: uploaded themes now appear in the theme picker and install/uninstall cleanly through the dashboard
Added new documentation pages (Arcade TV, Blog, Author Guide, Server Limits & Uploads) plus expanded coverage of vouchers, privacy & GDPR, SEO, backups, and reports
Updated the scheduled jobs dashboard to list all background jobs, including blog publishing and account-deletion cleanup
Improved fresh production installs so the admin account is created securely through the installer
Added a per-ad Google AdSense toggle so AdSense ad codes render inline on the page instead of inside an iframe (AdSense refuses to fill iframed slots, so they were appearing blank)
Added a per-game arcade core selector so admins can pick FBNeo, MAME2003, or MAME2003-Plus per ROM game when the default core doesn't recognise the romset
Added a friendly "not supported by the in-browser emulator" message for 3DS, PS2, Wii, and Xbox games instead of a black screen, and surfaced the unsupported systems in the admin dropdown
Fixed PayPal checkout failing to load when submitted from the gateway selection page
Fixed plugin uploads rejecting valid ZIPs for plugins with mixed-case names such as PayPal, YooKassa, and Arcade TV
Added a safety check so uploading a plugin with a conflicting folder name won't overwrite an already-installed plugin
Improved the "plugin.json not found" error message to help when the wrong ZIP is uploaded
Improved invoice PDFs with a bundled multilingual font so non-Latin scripts render correctly
Updated the build process so the bundled documentation is rebuilt automatically alongside the app