June 26, 2025
Foundry Virtual Tabletop - Version 13 - Stable 5 Release Notes
Since the arrival of Version 13 Stable in late April, we've released a steady series of minor patches to help refine it. In that vein, Version 13 Stable 5 contains a collection of important but relatively undramatic improvements and bugfixes.
Notably, we anticipate that today's release will be the last (or one of the last) of these "patch" releases. As proud as we are of Version 13, we are extremely eager to turn our full attention to the next major generation of Foundry VTT.
Both the Patreon poll winner (core "pop out" application windows) and "Scene Levels" (enhanced verticality for Scenes) are features that have long been eagerly anticipated by Foundry VTT staff and users alike. With work starting in earnest on Version 14 soon, these features begin to become reality. Stay tuned!
WARNING: While this is categorized as a stable release there is always a possibility of unexpected bugs or compatibility issues. As with any time you update the core software, be sure to perform a complete backup of your user data to minimize any risk of data loss.
While this release makes modest changes, there are two items that we would like to call some additional attention to.
- The new pre-made
assetsfolder (12897) - One change that Version 13 brought was preventing users from uploading files into existing locations that weren't great places to store user data safely. To help make uploading files more intuitive for users who are new to this change, we now automatically create a folder named
assetsin your Foundry User Data location if it doesn't already exist. Files can be safely uploaded into this location, or you can create your own folder if you wish as usual. - Experimental non-QWERTY keyboard layout improvements (11047)
- If you use an alternative keyboard layout, there is an experimental new Core Setting available named "Universal Keybindings (experimental)." If you use such a keyboard layout and want to help us to test this feature, please enable it and let us know your thoughts in our the #v13-feedback channel of our Discord.
New Features
Applications and User Interface
- Added a double-confirmation check before you are allowed to change the server admin-password. (11206)
- Improved Roll Table embeds to use Handlebars templates. (12432)
- To help users upload files more easily, added automatic creation of Foundry User Data root-level
assetsfolder and help users find and use it. (12897) - Added support for using SVG icons for movement modes in addition to or alternative to Font Awesome icons. (13032)
Package Development
- Enhanced the integrated Module Maker so that new modules are always created with a
flagsobject and so that users can add files to them more easily. (12538)
Localization and Accessibility
API Improvements
The Game Canvas
- Added support for custom (non-median) movement cost aggregation for larger tokens. (11886)
- Migrated
Actor##requestTokenImagesfunctionality so that it now uses theFilePickerAPI. (13079)
Other Changes
Bug Fixes
Architecture and Infrastructure
- Fixed a bug where it was impossible to chain walls when certain hardware peripherals (like gamepads or HOTAS) were present. (13082)
Documents and Data
- Fixed a bug where Journal pages were not accessible after using TinyMCE. (12877)
- Fixed a bug with wildcards and made them more reliable. (12885)
- Fixed a bug where journal text page sheets got "stuck" in
foundry.applications.instanceseven after they were closed. (12978) - Updating a folder inside a compendium once again correctly causes the compendium to re-render. (12993)
- Prevented an error that occurred when minimizing a popped-out Combat Tracker dialog in a world with no combats. (12996)
- Improved document ownership sanitization so that its more tolerant of no-diff updates. (13025)
- Fixed a bug where unsaved Actor clones had empty
_dependentTokensmaps. (13038) - Prevented document updates with
diff: false, recursive: falsefrom clearing_stats.createdTime,_stats.compendiumSource,_stats.duplicateSource, and_stats.exportSource. (13057) - Fixed a bug where
Combat##triggerTurnEventspassed context incorrectly. (13085)
Applications and User Interface
- Fixed a bug where chain-creating wall segments stopped working after undoing a wall. (11453)
- Fixed a bug where the ProseMirror font menu items could be inaccessible if the menu was larger than viewport. (11966)
- Resolved an edge case bug where searching within a sidebar tab did not properly expand a folder if the search string was a substring of the folder name. (12369)
- Fixed a bug where the toggle button for a toggled ProseMirror editor was always visible, even when not hovered. (12586)
- Resolved an issue where a folder's
droptargethover state wasn’t cleared when a drag-dropped document was released on the canvas. (12654) - Fixed a bug where the chat log was not always scrolled down fully upon login if the scroll height was changed. (12733)
- Fixed a bug where the "encounter counter" at the top of the combat tracker was the wrong color when there were more than eight combat encounters. (12872)
- Fixed a bug where Main Menu could escape the
#interfaceelement upon rendering. (12936) - Resolved an issue where maximizing an
ApplicationV2app from a minimized state could cause incorrect behavior depending on where the window header was double-clicked. (12937) - Fixed a bug where the content links in
ItemSheetV2inside disabled ProseMirror elements could not be clicked, such as inside locked compendiums. (12947) - Fixed a bug where double-clicking a popped-out Directories, Chat, or Encounter tab did not minimize it. (12948)
- Fixed a bug where
ContextMenucould require two clicks to open in some circumstances. (12979) - Improved the process of creating a new folder by auto-focusing its
nameinput. (12985) - Resolved an issue where chat notification cards did not update if the card was updated immediately after it was created. (12988)
- Improved styling of the Show Players button text when using the Light theme. (12994)
- Resolved an issue where the Show Players button was accidentally revealing name information to players who did not have adequate permissions for the originating content. (13020)
- Restored functionality to the push to talk button. (13028)
- Fixed a bug where the pack name in the Delete Compendium dialog header was not localized. (13061)
- Re-rendered chat notifications once again have a close button. (13065)
- Prevented tour steps with no selector from rendering partially off-screen for screen sizes under 960px vertical height. (13069)
- Fixed a bug where players could not edit playlists, regardless of permissions. (13075)
The Game Canvas
- Fixed a bug where
TokenDocuments could sometimes not be deleted when their synthetic Actor was invalid. (11908) - Fixed a bug where the
isOwnergetter could return an incorrect value forTokenDocuments embedded in compendiumScenes. (12844) - Prevented an infinite loop error that could occur when attempting to drag tokens in certain situations. (12992)
- Prevented an error that could occur when updating a token's dimensions when the new token size clipped a scene region. (13018)
- Fixed a bug where
RegionDocument#teleportTokenwas not preserving the ID of the token when teleporting between different scenes. (13022) - Fixed a bug where
getAdjacentCubesdid not return the cube coordinates of the grid spaces above/below the provided coordinates in 3D space for hexagonal grids. (13026) - Fixed a regression in
Token##createAnimationMovementPaththat was causing unexpected behavior or errors when a token moved into a region with a Modify Movement behavior. (13041) - Added support to help determine if a movement was constrained (
stopped) rather than successful (completed), including a newstopTokenhook. (13043) - Fixed a bug where pending movement was not cleared when a token's movement was stopped. (13044)
- When a new movement is started for a token that is already in movement (for example, if another user attempts to move it also), any pending movement is now correctly stopped. (13045)
FogManager#isPointExploredno longer returns incorrect results for loaded fog textures in large scenes. (13046)- Fixed a bug where
FogManager#syncdid not initializeFogManager##explored, resulting in allFogManager#isPointExploredcalls to return false until the browser was reloaded or the fog was updated. (13070) - Fixed a bug where the Token Animates In event did not fire the moment the token animated within the region, but rather when the token animated out of it or stopped. (13076)
- Prevented the Dynamic Token Ring
effectsproperty from disabling the dynamic ring when set to zero. (13086)
Package Development
- Added the ability to see module compatibility checks when the
--noupdatestartup flag is present, making this feature available to people who are using one of our official hosting partners. (11024) - Documented missing properties in
InstallPackage.getTaggedPackages(type). (13007) - Hardened the Setup screen against the (now invalid) data from very old worlds. (13063)
Localization and Accessibility
- Added localization for the title of compendium pack Configure Ownership dialogs. (12949)
Other Changes
- Improved the behavior of disabling
formorfieldsetelements to appropriately disable child elements when the parent element is disabled. (11564) - Relaxed the
FormDataExtendedcheck for descendant elements of disabledfieldsetsto match browser logic. (11610) - Fixed an issue where ProseMirror was overly aggressively stripping styles when
font-familywas present. (12428) - Resolved an issue where
AsyncWorker#loadFunctiondid not account for many valid JavaScript identifiers. (12869) - Prevented the addition of an extraneous "null" text when
toEmbedwas passed certain parameters. (12935) - Fixed season identification in
CalendarData#timeToComponentsin cases where the day or month range for the season spanned the turn of the year. (12987) - Prevented an error thrown while drawing a card to an empty pile. (12999)
- Fixed a bug where the
DataModel#validatearguments could be incorrect when updating prototype tokens. (13021) - Prevented the footer of
PermissionsConfigfrom being hidden on smaller viewports. (13087)