Announcement Pokémon Showdown Updates

Not open for further replies.


Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
This thread exists to provide a way for users to track the status of fixes and new features implemented on Pokémon Showdown. Pokémon Showdown will continue to use its 'News' section and Twitter to announce large changes, and the client and server commit logs will continue to provide the full details of exactly what is going on with respect to Pokémon Showdown development. This thread will be updated as-needed to announce the more impactful user-facing changes, though exactly what gets listed here is somewhat subjective (please reach out if you feel something has been missed). In general, fixes for short lived regressions (< 1 server restart cycle), refactoring/cleanup/optimization changes, features which have not fully landed, purely internal or staff specific features and metagame/ladder changes will not be included in this thread. Finally, due to 'hotpatching' some features/fixes may be available a few days before being announced as they will only be announced here once the server restarts.

The discussion of Pokémon Showdown / Smogon development primarily occurs in the PS Development room and the Smogon Development Discord server. Feel free to join any of them!

The projects themselves are hosted under the Smogon GitHub organization:

For more information on how to get started, references, check out the Smogon Development page:

PS still posts big updates in the 'News' section and Twitter, and the client and server commit logs still provide the full details of all changes.

:zygarde: edit - I'm going to post whenever something interesting happens, no consistent schedule anymore (11/05/2023)
Last edited by a moderator:

Bug Fixes
  • May 4 - Knock Off/Rapid Spin interaction with Rough Skin in ADV and DPP was fixed by jetou
  • May 7 - /hidetext no longer hides the log message when hiding text of self thanks to jumbowhales
  • May 8 - Older generation move buttons now display the correct type thanks to asgdf
  • May 9 - Self switch attacks that don't do damage in Super Smash Bros Brawl were fixed by HoeenHero
  • May 12 - Modifications to the 'Special' stat in Gen 1 should now be properly reflected in tooltips thanks to Zarel
  • May 14 - Interaction between Fusion Bolt and Fusion Flare has been fixed by McLemore
  • May 16 - Spread Hit animation was fixed by Zarel

Bug Fixes
  • May 20 - Marty fixed multi-hit move damage against Substitutes in Gen 1
  • May 27 - Tooltips now correctly display item swaps after Switcheroo thanks to Marty
  • June 2 - Gen 1 Transform will no longer result in a [Ditto's none] message thanks to pre
  • June 6 - Happiness is no longer overridden when importing sets if explicitly specified thanks to pre
  • June 6 - Type-changing moves that rely on held items were fixed by Marty
  • June 7 - asgdf fixed the client's check for "groundedness"
  • June 7 - Healing Wish and Lunar Dance's effects end properly in Gen 4 now thanks to Marty
  • June 10 - /calc will now point to the random battle calculator in unrated random battles as well thanks to pre
  • June 11 - Doom Desire/Future Sight hit mechanics were fixed by Marty
  • June 11 - asgdf fixed Reflect Type's interaction with typeless targets
  • June 12 - McLemore fixed Doubles tiers in the team builder
  • June 14 - Rest now sends a message while asleep in Gen II to allow for tracking sleep turns thanks to HoeenHero
  • June 19 - Knock Off's power against targets holding the user's species-specific items was fixed thanks to Marty
  • June 21 - Possible abilities display in old gens was fixed by asgdf
  • June 21 - Marty fixed full replay uploading.
  • June 22 - Moves are not stopped before the first hit while asleep thanks to Marty
  • June 27 - Marty fixed Berserk / Emergency Exit / Wimp Out damage detection
  • June 27 - pre fixed monotype random team generation to ensure teams always ends up with 6 Pokemon

  • July 1 - Users can now use /status <status> to note their current status, and /away <status> to mark themself as 'Away' thanks to bumbadadabum and pre. Users will now be also marked idle after a prolonged period of inactivity
  • July 1 - Using /math in PMs is now supported thanks to asgdf
  • July 1 - jetou improved the teambuilder searchbox to fix the focus, case sensitivity and allow for multiple comma-separated search terms
Bug Fixes
  • June 27 - Multi-hit moves against Berserk/Emergency Exit/Wimp Out were fixed thanks to Marty
  • June 28 - Ranks are now included in chat join/leave messages again thanks to pre
  • June 30 - Invite-only battles are now correctly set to /modjoin % instead of /modjoin + thanks to pre
  • July 1 - An incoming challenge ('Accept?') will no longer override a challenge which has yet to be issued ('Challenge!') thanks to pre
  • July 1 - Double-elimination tournaments were fixed by Zarel

Bug Fixes
  • July 7 - Pickup/Recycle of Terrain Seed while terrain is up was fixed by urkerab
  • July 9 - TOX -> PSN display in Gen I-II was fixed thanks to Marty
  • July 13 - Multiline modlog messages are now handled properly thanks to HoeenHero
  • July 14 - asgdf fixed weather checks for Primordial Sea/Desolate Land in tooltips
  • July 14 - watchingtv fixed the left-facing Castform-Snowy minisprite

Bug Fixes
  • July 16 - When a Pokemon uses a dance move on its ally with Dancer, Dancer will now force the ally to target its own ally thanks to McLemore
  • July 17 - Going 'Idle' after prolonged inactivty will no longer trigger a popup thanks to pre
  • July 17 - Psych Up now correctly copies the target's crit rate thanks to McLemore
Last edited:

Bug Fixes
  • July 17 - Psych Up now correctly copies crit ratio after Gen 6 thanks to McLemore
  • July 17 - Flower Veil's message and activation animation were fixed by Zarel
  • July 18 - pre made it so that the 'Idle' state should no longer propagate through user merges (ie. you should no longer be marked 'Idle' immediately after logging in)
  • July 19 - McLemore fixed Happiny's evolution condition
  • July 21 - Flower Veil and Yawn's interaction when an ally is already under effect of Yawn was fixed thanks to McLemore
  • July 21 - The messages for Queenly Majesty, Dazzling, and Damp were fixed by McLemore
  • July 21 - Dan of ares fixed the "It's a one-hit KO!" message so that it will no longer display if the move did not OHKO the target
  • July 21 - Poison Touch's interaction with self-targeting contact moves was fixed by McLemore
  • July 31 - urkerab fixed Rayquaza's mega-evolution message

Bug Fixes
Last edited by a moderator:

Bug Fixes

Bug Fixes
  • September 1 - The interaction between Magician & Fling was fixed thanks to The Immortal
  • September 2 - The Immortal fixed ability activation display against Magic Guard
  • September 2 - asgdf fixed /dexsearch to use gen-appropriate type effectiveness and BST calculations
  • September 3 - 'Away' usernames were darkened to improve contrast for colorblind users thanks to pre
  • September 8 - asgdf fixed the client to no longer incorrectly display Laser Focus as being passed by Baton Pass
  • September 8 - asgdf made further fixes to tooltips displaying duplicate abilities
  • September 11 - The loophole allowing Mewtwo to be used in RBY OU battles was fixed by Zarel
Last edited:

Bug Fixes

  • October 10 - Zarel changed replay uploading to allow for them to be uploaded silently without a popup to make auto-uploads less spammy
  • October 24 - A game's input log may now be re-requested thanks to HoeenHero
  • October 25 - Tour's player count is now auto-modnoted on start thanks to @Aurolux
  • October 31 - /blockpms unlocked can now be used to block locked and semilocked users thanks to Anubis
  • November 3 - "Challenge" and "..." buttons were added to the top of chat windows by @jordanhui19
  • November 10 - Using L50 Pokemon in formats allowing L100 will now result in a warning thanks to DaWoblefet
  • November 10 - Felucia generalized NFE bans into a validator rule to allow for easily applying a 'NFE Clause' to tournaments
  • November 12 - Global voices can now be blocked in PMs by /ignore thanks to asgdf
Bug Fixes
  • October 5 - Zarel rewrote the validator, fixing a number of long-standing known moveset validation issues
  • October 5 - pre fixed a loophole in the implementation of the Endless Battle Clause for external staleness cause via a consumed Leppa
  • October 8 - Normal targets are now correctly required to be adjacent in Triples battles thanks to urkerab
  • October 9 - urkerab fixed a display bug where spread moves wouldn't display their target during fast forward mode
  • October 12 - Transform now correctly copies the target's current weight thanks to urkerab
  • October 15 - Zarel fixed the message healing move give at full HP
  • October 15 - The type/base power of Z-Hidden Power in tooltips was fixed by asgdf
  • October 17 - urkerab fixed the activation of Defiant and Competitive when boosts are maxed
  • October 21 - Zarel fixed a longstanding bug where Illusion resulted in more than one icon per species to be displayed in the UI
  • October 23 - Target-specific immunity calculation was corrected by urkerab, fixing bugs with moves like Synchronoise
  • October 25 - Felucia made changes so that /events view visually match /events
  • October 29 - /poll was also made consistent such that it now displays the poll instead of help requested thanks to Asheviere
  • October 30 - Marty corrected Intimidate boost attribution in Gen 3/4
  • November 5 - Spandan fixed how /movesearch handles "lowers"
  • November 11 - Tooltips for Gyro Ball/Electro Ball base power while paralyzed were fixed thanks to asgdf

Last edited:


free palestine
is a Site Content Manageris a Battle Simulator Administratoris a Top Social Media Contributoris a Community Leaderis a Programmeris a Community Contributoris a Top Contributoris a Top Smogon Media Contributoris a Top Dedicated Tournament Hostis a Smogon Discord Contributor Alumnus
Social Media Head
  • December 20 - The ability to import teams from and URLs was added thanks to BlueWinds
  • December 20 - Teambuilder support for National Dex formats was added thanks to Kris
  • December 23 - The ability to import sets from Smogon analyses was added thanks to BlueWinds
  • December 24 - Thanks to Zarel, Pokemon, abilities, items, and moves can now be whitelisted in custom formats (ex: /tour rules -All Pokemon, +Snom)
  • December 31 - Thanks to A Cake Wearing A Hat, there is a complete list of all custom rules that can be adjusted within a tournament
  • February 5 - /movesearch can now be used to search through different different generations and National Dex, similarly to /dexsearch, thanks to Kris
  • February 8 - A custom entry hazard sprite for G-Max Steelsurge was added thanks to Kalalokki and Kris
  • February 12 - Kris and The Immortal added Pokemon HOME and Let's Go transfer move legality
  • February 18 - Mia added a /shuffle command
  • February 19 - Teambuilder support for Metronome Battle was added thanks to Kris
  • February 21 - peach added the ability to create polls where users can select multiple options
  • February 21 - jetou made it possible to rename rooms more easily
  • March 8 - Kris added /randbats, /randdubs, and /battlefactory commands with generation support to display Random Battle moves
  • March 12 - HTML boxes (!code, etc) now get hidden by /hidetext thanks to peach
  • March 18 - The burn tooltip now more accurately displays on Base Power for physical moves instead of on a Pokemon's Attack stat for Gen3+ thanks to Kris
  • March 21 - You can now challenge people and add custom rules with /challenge thanks to Zarel
  • March 22 - fart added the ability to hide a specified amount of lines with /hidetext
  • April 18 - Global staff ranks no longer get overwritten by room ranks in the userlist (ex: Global Drivers can be Room Voice and still appear as a Driver) thanks to Zarel
  • April 24 - Thanks to Salamanders, not a racist, platinumCheesecake, A Cake Wearing A Hat, and Kris, [Gen 8] Random Doubles Battle was added
  • April 28 - Thanks to Mia, you can now pull up the News popup after closing it with /news
  • April 28 - You can now automatically export teams to at the click of a button thanks to Annika
  • April 29 - Unown formes can now be selected in the teambuilder again thanks to Marty, Zarel, and Kris
  • May 5 - The teambuilder's search engine now sorts Pokemon by tier when filtered thanks to Zarel
  • May 8 - The teambuilder now correctly filters out Pokemon by move legality for VGC/Battle Spot formats, as well as with move that don't exist in Sw/Sh thanks to Kris
Bug fixes
  • December 26 - Numerous mechanics bugs for Gen 8 were fixed by The Immortal, Marty, urkerab, and many others
  • January 10 - Doing /coverage flyingpress no longer crashes the server thanks to Kris
  • February 1 - Unreleased abilities appear correctly in the teambuilder thanks to Kris
  • April 25 - pre fixed the residual damage output from Clangorous Soul to properly reduce the user's HP by 33%
  • May 5 - The [Gen 4] Doubles OU teambuilder now properly displays Pokemon again thanks to Kris
  • May 9 - The Let's Go, Metronome Battle, and National Dex teambuilders now correctly display legal Pokemon within those formats thanks to Kris
Last edited:


is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
  • Kris and The Immortal did a lot of work to maintain OMs and other formats
  • May 11 - Support for a Video Game of the Day in the thing of the day plugin was added by HoeenHero
  • May 25 - A plugin for the YouTube room was added by Mia
  • May 28 - An /abilitysearch command was added by Annika
  • May 30 - Fully evolved Pokémon can now be searched for in /ds thanks to Annika
  • May 31 - Different bases are now supported in /math thanks to asgdf
  • June 16 - Commands to display images in chat were added by Mia
  • June 17 - The Isle of Armor Pokémon, moves, and items were added by Kris.
  • June 21 - Room events now support categories thanks to Annika
  • June 28 - A monotype parameter was added to the /ds command thanks to Annika
  • July - Several minor improvements to the Trivia plugin were made by Annika
  • July 3 - The Administrator and Leader ranks were merged by Zarel
  • July 5 - Custom rule support in tournaments was improved thanks to urkerab
  • July 5 - A command to display a Pokémon's stats in Cross Evolution (/showevo) was added by Kris and Spandan
  • July 7 - The Daily Spotlights queue is now easier to manage thanks to Annika
  • July 8 - Several new features were added to UNO games thanks to Kris.
  • July 23 - Bots can now display HTML pages thanks to Mia
  • July 23 - A /hidebattlesfromtrainercard command was added by Annika
  • July 29 - Users with high ladder ratings are now forced to register thanks to Annika
  • July 29 - It is now possible to rename groupchats thanks to Mia
  • August - Many event Pokémon were added by The Immortal
  • August - Translations for polls, announcements, and Trivia were added thanks to Annika and the Translations team
  • August 4 - A /flipped command to display a Pokémon's stats in the Flipped OM was added by Kris.
  • August 5 - A plugin for automating answers in the Help room was added by Mia
  • August 6 - A /showteam command was added for a user to easily share their team in battle by Mia
  • August 8 - /busy now does not block PMs and challenges by default (/dnd does, though) thanks to Mia

Bug fixes
Last edited by a moderator:


is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
  • August - Many new translations were made technically possible by Annika and added thanks to the Translations Team!
  • August 15 - A button to copy replay links to the clipboard was added by varun1729
  • August 18 - In battles, only the player who set modjoin can now change it thanks to Annika
  • August 19 - /weak now supports Inverse battles thanks to Spandan
  • August 21 - Users can now set their own language to view PS in thanks to Annika
  • August 22 - A /hiderank command was added so that Administrators could display as a lower rank thanks to Zarel
Bug fixes
  • August - Several Base Power display issues were fixed by DaWoblefet
  • August 15 - The mechanics of the move Stuff Cheeks were fixed by Marty
  • August 16 - Non-broadcastable commands now display an error when attempting to broadcast them thanks to Mia
  • August 22 - Some bugs with the interactions between ladder tournament battles and battle privacy settings were fixed by Annika
  • August 22 - Many Gen 2 and Gen 3 mechanics were fixed by Kris
  • August 26 - The bug with usernames staying grey in the client was fixed by Annika
Last edited by a moderator:


free palestine
is a Site Content Manageris a Battle Simulator Administratoris a Top Social Media Contributoris a Community Leaderis a Programmeris a Community Contributoris a Top Contributoris a Top Smogon Media Contributoris a Top Dedicated Tournament Hostis a Smogon Discord Contributor Alumnus
Social Media Head
  • August 29 - Marty moved consistently low-usage Pokemon in OU to OU by technicality
  • September 2 - The trusted user checks in /hidetext and /hidelines were removed by Annika
  • September 4 - A /yearlockip command was added by Zarel
  • September 5 - Mia added week-long roombans
  • September 5 - Thanks to Mia, Room Owners can now set special permissions for sub-commands (like /tour start) with /permissions
  • September 8 - EvGym added support for a custom-formats.ts file, which means that side servers can host custom formats without dealing with merge conflicts
  • September 9 - Felucia gave admins the ability to HTML commands by default
  • September 9 - A Room Prize Winner rank was added by Annika
  • September 10 - Annika added the ability to promote multiple users at once in a room
  • September 10 - Annika repurposed the Room Prize WInner rank to be below Room Voice
Bug fixes
  • September 2 - Mia fixed a bug with the helpfilter chat plugin that made PS vulnerable to a ReDoS
  • September 3 - A crash with parsing dates in /searchlog was fixed by Mia
  • September 5 - Annika fixed a bug in the /chatlog log viewer where usernames with HTML symbols in them weren't escaped
  • September 8 - urkerab made Encore no longer announce a (But it failed!) message twice in older generations
  • September 9 - Kris fixed a typo from a recent text refactor that caused Cute Charm to display the wrong description for Gen 3
  • September 9 - Kris fixed an oversight from Annika adding the Prize Winner rank where Room Owners couldn't promote users to said rank
Last edited:


is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
Bug Fixes
(This is a smaller changelog than usual — a lot of the recent changes have been primarily for staff or programmers and thus are not listed here. You can always view a list of all changes to the public code at these links.)
Last edited by a moderator:


free palestine
is a Site Content Manageris a Battle Simulator Administratoris a Top Social Media Contributoris a Community Leaderis a Programmeris a Community Contributoris a Top Contributoris a Top Smogon Media Contributoris a Top Dedicated Tournament Hostis a Smogon Discord Contributor Alumnus
Social Media Head
  • September 30 - Zarel made chat plugins monkey patchable (fixable via /eval).
  • October 1 - Mia removed the broadcast cooldown for !randquote.
  • October 3 - Thanks to Mia, /showteam supports nicknames.
  • October 5 - Annika and Zarel added a plugin to repeat phrases in chatrooms.
  • October 6 - Mia added support to play Rock-Paper-Scissors with other users.
  • October 6 - Mia added a command that allowed users to see the registration date of other usernames.
  • October 7 - Thanks to Annika, trusted users can view their own PM logs.
  • October 8 - Annika placed long quotes in readmore blocks.
  • October 8 - Kris refactored how quotes are stored and how they get deleted and gave rooms the ability to repeat room FAQs.
  • October 8 - PartMan made /stone able to show stones when provided with a Pokemon name.
  • October 9 - Zarel made repeats have a maximum interval of 24 hours.
  • October 9 - Kris added the ability to repeat HTML.
  • October 10 - Annika added the ability for users to PM themselves using the Chat button.
  • October 11 - Kris fixed how repeats get formatted and added the ability to view the raw text of repeats for easy editing.
  • October 11 - Kris added support for AG in the Gen 4 teambuilder.
Bug Fixes
  • September 29 - Kris fixed a bug where timestamps from UNO games would not update after the game started.
  • September 30 - Annika fixed room promotion messages after a recent refactor broke them.
  • October 1 - Zarel fixed a bug in /updateserver that caused running the command with no stashed changes to linger.
  • October 6 - Kris and DaWoblefet corrected the flags on Surging Strikes, Wicked Blow, and Jungle Healing.
  • October 6 - Annika pluralized the userlist correctly when there's only 1 user in a room.
  • October 8 - Marty fixed Wandering Spirit's interaction with Protective Pads.
  • October 8 - urkerab fixed Jungle Healing's interaction with the user when the user's HP is full.
  • October 11 - Annika fixed a bug where players could delete their own battle rooms.
Last edited:


is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
  • October 20 - You can now use /topusers to view stats about users in a room thanks to Mia
  • October 19 - /roomevents viewcategories now displays a list of event categories in a room thanks to Annika
  • October 24 - The Studio has its own chat plugin now thanks to Kris
Bug Fixes
  • The Immortal fixed a number of mechanics bugs
  • October (many commits) - The Immortal, Kris, and HoeenHero implemented the Crown Tundra DLC!
  • October (many commits) - Zarel fixed several battle crashes
  • October 19 - Galar formes now appear in /ds thanks to @ZardMX


Be the serpent under't
is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
chaos and I have been working on the friends list for nearly a year now, and we've finally finished!
Here's a quick rundown of what our friends list does:
You can, of course, add and remove friends.
The list composes of 5 pages (for now):
- All friends: Pretty self-explanatory, this lists all your friends. For each friend, it'll give you a brief summary. If they're online, you see their name, status, things of that sort. If they're offline, you see their name, and if they are allowing for their login data to be displayed (defaults to ON), it will show you the last time they logged in.
- Spectate: This page allows you to see ongoing battles that your friends are participating in. Do note that the public battles of your friends will be displayed here, but in order to display your hidden battles here for your friends, you must opt in to the feature.
- Sent: This shows your outgoing friend requests (with an option to cancel them). There is a current maximum of 6 outgoing requests.
- Received: This page shows your incoming friend requests, with accept/reject options.
- Help: This shows you a list of all friends list commands.
- Settings - This provides an interface for all friends list related settings. Currently: toggling if you want to see notifications when your friends log in, toggling if you want to receive friend requests, toggling if you want other people to be able to see who you have friended, allowing your friends to see the times you log in at, and allowing friends to see your battles on the spectate page.

As for miscellaneous things the friends list can do, it will also notify your friends when you log in (provided said friends do not opt out of seeing that), and you can allow/disallow other people from seeing who you have friended (default: off).
Some extra notes:
- Only autoconfirmed users can use the friends list.
- Friends are currently capped at 100 maximum, but we will likely raise this in the future.

Enjoy, folks!
Last edited:


Be the serpent under't
is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
Hiya folks!
As Showdown continues to grow and improve, our policies have been focused on increasing user safety. With thousands of daily battles it's increasingly difficult for human moderators to account for every instance of harassment on the site. While we do our best, our current approach depends significantly on user reports which is limited in scope and effectiveness. It's difficult to be proactive, rather than merely reactive, with such an approach.
To help assist with this, today I'm introducing Artemis!
Artemis is a neural-net chat monitor that uses the technology of Google's Perspective tool to monitor every ladder battle room on the simulator. Perspective analyzes the content of a chat message and processes it as a weighted score. When that score is high enough, global staff are notified to review the battle for potential misconduct. To emphasize, a human moderator makes the final judgment call; all Perspective does is flag potential cases of battle harassment for review. Additionally, battles in which a user directly challenges another will not be monitored. While this is a step forward for us, you can and still should report people. Even an AI is not perfect.
Messages sent to Google through Artemis contain no personally identifiable information; only the message content is sent, not usernames. I've included Google's Privacy Policy for those interested. Artemis will not affect the average user very much, except perhaps a staff member will come and help assist against cases of battle harassment early. Please feel free to reach out in the Help room with questions!
Happy battling!
Crossposting here since this is a rather major update.


Be the serpent under't
is a Battle Simulator Administratoris a Community Leaderis a Programmer
PS Admin
With code from me and extensive design and testing aid from DaWoblefet and Karthik, we now have support for Best of Three battles!
It works for both custom challenges (/challenge username,format@@@bestof=num) and room tours (/tour rules bestof=num), where num is an odd number between 3 and 9 inclusive. It is team-locked in formats where the user provides a team, while in random formats a new team is generated for each battle. Whilst this does not (and will not) be supported for Free-for-All and Multi Battle formats, I'm glad to report it works for everything else!
Have fun!
Not open for further replies.

Users Who Are Viewing This Thread (Users: 1, Guests: 0)