June 10, 2026
Foundry Virtual Tabletop - Version 14 - Stable 6 Release Notes
Today we are pleased to bring you Version 14 Stable 6 (14.364), our latest iterative patch for V14! As usual, this release brings a slew of bug fixes, some user interface embetterments, and some other goodies. For example, we've changed the Placeables tab so that by default you now only see what is included in the active level, which should help simplify things. Also, we've added preloading for individual levels and a few new helpful APIs.
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.
New Features
Applications and User Interface
- The Palette title now changes depending on whether a "Select" or "Draw" type tool is active to help indicate that the Palette functions differently when editing or creating placeables. (14385)
- Hid the "Visible to some players" icon (eye) in the Placeables tab for players because it is not useful for them. (14461)
- The Draw Text tool now correctly uses the Palette's stroke color, fill color, and fill alpha. (14465)
- Clarified the text label of the "default movement action" for tokens by also including the default method. (13689)
- Added a "Viewed Only" filter to the placeable tab (enabled by default). When active, this option filters out any entry in the tab that is not included in the currently viewed level. (14349)
- Unified styling for string-tags and document-tag with the styling of other custom elements. (14508)
The Game Canvas
- Based on user feedback, reverted a change made in V14 Stable 5 (14.363) that made hidden, locked Tiles invisible to the GM (14406). The original goal here was to provide a way to keep Tiles "out of the way" for GMs and especially content creators. This remains something that we want to accomplish, but existing content and workflows were negatively impacted in ways that we did not anticipate and we strive to avoid such disruptions in our minor Stable patches. We realize that this reversion itself is disruptive for folks who have already started making use of this new behavior and we apologize for any inconvenience, but we will revisit this topic in Version 15 when we will have the time and flexibility to arrive at a more nuanced solution.(14506)
API Improvements
Applications and User Interface
- Added the option to preload a Level. (14419)
The Game Canvas
- Factored out the colors used for token bars to allow systems to modify them without having to override
Token#_drawBar. (13533) - Added
CanvasDocument#locatedInLevel(level: string|Level): booleanas a new method to test "location" instead of "inclusion", which is particularly helpful when working with tokens. (14503) - Added
PlaceableObject#isFilteredOut, which is true if the object is excluded by the current filter in the placeable tab. (14504)
Localization and Accessibility
- Relabeled both "Exploration Image" in the Scene Config and "Unexplored Texture" in the Level Config to "Unexplored Image". Added a hint to "Unexplored Image" in the Scene Config. Removed the "Fog Exploration Texture Tint" from the Level Config. (14497)
Other Changes
- Added forwarding for the
ChatMessage#updatenotifytoui.chat.updateMessageto allow convenient notification for updated messages. (13720) - Added
RegionAnimationState#testPoint(point: ElevatedPoint): booleanto provide a simple way to test whether a point is within a region's animated state. (14495) - Improved
DocumentSheetV2#_processSubmitDataso that it now returns an informative result that describes which document was{created, updated}, if any. (14502)
Bug Fixes
Documents and Data
- Resolved an issue where
game.combatreturnednullwhen the Combat Tracker was not rendered yet. (14470) - Resolved an issue where calling
Folder#exportDialogwhile providing apackdid not initially load the folders of that pack into the dialog. (14280) - Resolved issues with updates to
TypedObjectFieldwithexpandKeys: falseby trusting client-side expansion without re-expanding server-side. (14367)
Applications and User Interface
- Fixed a bug where document sheets showed the Configure Ownership option in the window controls for non-GM users. (14444)
- Fixed a bug where an update to the Region configuration dialog could be silently lost when disabling a region's "is restricted" setting and adding multiple levels. (14360)
- Fixed a bug where the region shape preview did not immediately update when the grid unit dimensions were changed. (14357)
- Resolved an issue where
ui.controls.render({ reset: true })cleared the palette toggle visually but left the palette open. (13101) - Fixed a bug where a tracked resources was not displayed in the combat tracker at all if its value was 0. (14466)
- Fixed some bugs where the Teleportation region behavior could incorrectly use the Scene's true name rather than the player-safe Scene navigation name. (14481)
- Corrected the API documentation of the
DialogV2.confirm's "no" button tobuttoninstead ofsubmit. (14483) - Fixed a bug where the Latency / FPS text displayed in the Player List dialog did not line-break correctly. (13389)
- Prevented an error that could occur in the Setup screen when right-clicking an entry in the modules list. (14321)
- Improved and clarified
getTemplate()error handling. (14453) - Fixed a bug where the header buttons were misaligned horizontally when an
ApplicationV2window was minimized. (13715) - Fixed a minor bug where the error page that displays when the server cannot be contacted lacked cursor styling. (13607)
- Removed the "Palatino Linotype" font from the list of fallback options for
--font-sansto prevent styling issues. (13040) - Resolved an issue where text selection had low contrast in the Science Fiction setup theme. (13392)
- Fixed a bug where the "Next page" button was not disabled for Journal Entry pages in single-page view. (13398)
- Resolved an issue where the text selection of roll contents was not disabled, which resulted in expanding collapsed rolls and selecting extra text in an undesirable way. (13713)
- Improved the playlist volume control sliders by making their clickable area larger. (13604)
- Fixed a bug where the document creation dialog windows were too short in Safari (Create Scene, Create Actor, etc.). (13786)
- Fixed a bug in the Scene Configuration dialog where the Exploration Image input text for individual levels was not updated when the default level's exploration image was updated. (14493)
- Fixed a bug where
CombatantConfighad duplicatehiddenand nodefeatedcheckbox. (14552)
The Game Canvas
- Prevented a canvas crash that could occur while pressing Ctrl+Z during the process of drawing a region shape. (14395)
- Resolved and issue where all textures for Tokens and Tiles were always loaded, even if they were not included in the viewed level. Preloading the level of a scene now only preloads the level's background, foreground, and fog textures. (14397)
- Improved the Drawing Palette user interface to only show the Smoothing Factor slider if the Freehand tool is active. The default Smoothing Factor value is now 1. (14305)
- Fixed a bug where exploration fog could be improperly revealed when a player had vision for multiple tokens on different levels. Now, only the tokens on the currently viewed level are used to calculate vision. (14409)
- Fixed a bug where an attached region was not always deleted when its token was deleted. (14459)
- Fixed a bug with the VFX component timeline end duration that could result in visual effects not displaying properly. (14473)
- Fixed a bug where positive priority light sources were rendered twice. (14484)
- Fixed a bug where combatants of unlinked tokens could be initialized before the token's actor delta was materialized. (14467)
- Fixed a bug where center placement did not place the spawned / teleported token in the center of the region. (14498)
- Fixed a bug where tokens that were randomly spawned in a region were spawned too close to the walls at the border of the region even when there was enough space in the region to accommodate the token fully. (14488)
Package Development
- Fixed a bug with the Install Package dialog where the Manifest URL input field was cleared when the packages finished loading. (14379)
Localization and Accessibility
- Resolved an issue where double-localization caused an error to be logged if
CONFIG.debug.i18nwas enabled. (14445) - Removed unnecessary localization in
CombatTracker#_prepareCombatContextfor the unusedCOMBAT.LinkedandCOMBAT.Unlinkedlabels. (14456) - Fixed a bug where
KeyboardManager.KEYCODE_DISPLAY_MAPPINGdid not supportIntlBackslashandIntlRo. (14434) - Fixed a bug where several UI notification error messages lacked localization support. (13707)
Other Changes
- When a token becomes contained by a region, its movement origin is now also contained within the region. This applies to tokens that came into the region by spawning, teleportation, or via the Change Level behavior. (14480)
- Fixed a bug where
FilterMenu.implementationincorrectly returnedCONFIG.ux.ContextMenu. (13890) - Resolved an issue where creating a new module from within the Setup screen placed an unrecognized entry into the manifest (
"action": "manageModule"). (14285) - Fixed a bug where
Number#paddedStringcould fail to properly format negative numbers. (13592) - Fixed some issues with Chat Message update visibility. (14429)
- Fixed a bug where the ProseMirror format button's label did not display "Heading" if editing a heading. (14173)
- Fixed a bug where calling
DocumentCollection.getSearchableFieldswith atypepassed polluted their untyped cache. (13568) - Fixed the (deprecated)
Region#testPointso that it no longer always returns false. (14494)
Documentation Improvements
Documents and Data
- Corrected the API documentation of
CONFIG.Actor.trackableAttributesso that it now has the correct type. (14436)
Other Changes
- Improved the documentation for
DocumentSheetConfig.registerSheetApplication|ApplicationV2@paramto match its current behavior. (13977) - Improved the API documentation for
RectangleShapeDataand other shape types to show that they inherit fromBaseShapeData. (14443) - Fixed the API documentation for
PackageCompatibilityBadgewith the correct return values. (14469) - Added the missing
typdefofpathTypeand its inherited properties to the API documentation forVFXSingleAttackData. (14468) - Updated the DB operation documentation for the
noHookproperty to better match its behavior. (13519) - Improved the API documentation for
renderChatMessageHTMLby adding better documentation for thecontextparameter. (13701)