Server update changelog

Hi,

I often update The Forge servers, add new features or bugfixes and improve the general user experience.

You will find a summary of all updates that occur and how it affects your gaming experience.

September 29th 2022
  • Fix a bug that can cause the servers to become overloaded when a user with a demo license (Explorer Mode) has their license expire.
  • Fix navigation menu items opening in new windows when the user is on their account page
September 19th 2022
  • Add the ability to deprecate older Foundry versions and notify the user of the version deprecation while configuring or launching the game.
  • Fix premium foundry modules not showing as being owned in Foundry v10’s Setup page
  • When browsing for module’s files programmatically, check the bazaar and user’s assets library first due to how assets are generally not present in the data folder
  • Fix display of minimum/compatible Foundry version metadata on the Bazaar for v10 packages
  • Save the last browser folder so the file browser in Foundry always opens to the last folder, even after reloads
  • Fix an issue recovering save points
  • Improve performance of doing save points operations
  • Verify email address validity against disposable domains, during signup
  • Fix issue with email address validation for some specific domains by updating mailchecker dependency
  • Correctly use * literally in folder names instead of as a wildcard, when doing a wildcard token which includes * in the folder name
  • Correct the target directory return value in the FilePicker.browse API when wildcard mode is enabled
September 15th 2022
  • Add a major optimization for the Import Wizard’s package migration, making it drop import/migration times for some modules from multiple minutes to a few milliseconds.
  • Fix issue with premium Foundry packages displaying updates available on v9 when the new version is v10 compatible only (Requires premium package to have proper compatibility releases)
  • Add support for sideloading package information from the Foundry website and remote manifest, allowing a package’s compatibility flags, per-version unique URL, changelog url, and updated manifest metadata to be updated without a new package release being deployed.
  • Fix display of package in the Bazaar with a very long version name, causing buttons to wrap to two lines
  • Fix a crash causing a non-user friendly message to be shown when trying to install a package from manifest that doesn’t point to a json file
  • Fix older czepeku packages sold on the Bazaar that were not available to download outside The Forge
  • Misc fixes to internal processes
September 7th 2022
  • Add systems selection to the shared compendium creation dialog, making it v10 compatible
  • Fix support for wildcard tokens in Foundry v10
  • Polishing tweaks to the Save Points feature
  • Fix issue creating a manual save point with an apostrophe character in the title
  • Properly handle “disk quota exceeded” error during save point restoration
  • Add an option to hide/show automatic backups in the save points dialog and hide them by default unless there are no save points for a game
  • Clarify in the 2FA prompt on login that the 2FA code is to be found in the authenticator app
  • Removal of the “Beta” suffix to the Save Points page in the navigation bar
  • Mark LiveKit servers and Save Points as Completed in the Workshop page
  • Fix possible race condition issue with increasing user’s quota temporarily during premium content installation
September 2nd 2022
  • The Save Points feature is finally ready and released! This is another massive update with hundreds of commits spanning months (years!) of work.
  • Correctly detect v10 compatible in system manifests that use a v9-only manifest format, but explicitly state compatibility with v10
  • Add protection against session fixation attacks by regenerating new session ids on login/logout
  • Deprecate support for controlling a game via a POST to the game page (exclusively using the API endpoints now)
August 30th 2022
  • Mark new world created under v10 as compatible with the v10 generation rather than the specific build
  • When installing premium modules from the Bazaar, use the manifest url from the last compatible version with your Foundry version, which can (in some instances) allow Foundry to install the correct compatible version.
August 24th 2022
  • Update the jobs page to reflect that we are not accepting any new submissions anymore and are evaluating applicants
  • Show the balance from any unpaid invoices in the Billing section under the gift card balance, and provide a way for users to view and pay their outstanding invoices
  • Improve displayed information about the PayPal authorization during trial which may appear as a charge with some banks
  • Link the “you have unpaid invoices” to the billing section of the account page, instead of the profile section.
  • Automatically fix package’s manifests that have conflicting id and name fields when listing available worlds, to fix some possible missing worlds on Foundry v10
  • Prevent some protected world manifest fields from being edited unless the account owner overwrites the world via the import wizard
  • Fix an error in Foundry v10 from the Forge module trying to use an API before the game is ready
August 19th 2022
  • Prevent concurrent license revalidation requests, to decrease load on Foundry servers during license reverification attempts
  • Display a warning to the user if the Game Manager feature gets disabled after their subscription is downgraded, to prevent confusion about their games disappearing
  • Fix detection of the system relationships for v10 packages, to display in the Bazaar
  • Change forums group of users on Explorer Mode to Player group instead of Game Master group
  • Add placeholder image to display next to the subscription when in Explorer Mode
  • Add a redirect for the /packages/ page to /bazaar/package/ in case of incorrect URLs due to Foundry’s website endpoints
August 16th 2022
  • Add support for Foundry v10 Testing 4 build 278 which changed the internal API for listing packages on the setup screen.
  • Fix a rare issue where a Foundry server could get restarted by mistake if a player has a non-graceful disconnection.
  • Fix detection of the minimum and compatible core compatibility for packages in the Bazaar, which was broken with the v10 support added recently
  • Add robots.txt support to better display search engine results and to disable indexing of user’s public games.
  • Fix the addition of the “Delete World” game tool button when the Game Manager is disabled
  • Automatically update the prototype token image of an actor when the the token is set to the default image with the Bazaar assets link
  • Fix small issue where the game list in the game configuration page was not scrollable
August 3rd 2022
  • Add new a per-user manifest URL system for installing Bazaar purchases outside of the Forge with protected and revokeable keyed URLs.
  • Completely revamp our “Create new Game” interface for Game Manager users, providing a sleek new UI to create blank new games, install from the Bazaar or clone existing worlds.
  • Greatly improve some of our email templates, providing a more beautiful design (welcome email and email verification, at this time)
  • Change the way the Two factor authentication QR code is generated, which helps users of 1Password
  • Add a “Delete Game” button to the game tools from the configuration page, making it easier for users to delete their existing games if they wish to.
  • Fix issue where the favorite icon on a game would shift by a few pixels between enabled and disabled states.
  • Fix an issue in how Foundry versions were being compared causing packages with a maximum compatibility set to v10 to not show up properly for users in the Bazaar even for users in v9.
  • Fix parsing issue of incorrectly formatted author fields for manifests, which could cause the Bazaar page to fail to load.
  • Add support for new file extensions in v10 when browsing for files
July 30th 2022
  • Massive update that adds support for Foundry v10 so it can be used on The Forge!
  • Add Foundry v10 Testing 2 release to the available releases
  • Fix package optimization from the import wizard to support some missing fields
  • Fix display of a package’s card footer in the Bazaar if the package version is a very long string
July 26th 2022
  • Update the Jobs page with new open positions
  • Fix issue preventing users from unlinking their Patreon/Google/Discord accounts
  • Prevent the risk of a zombie Foundry process from running in cases of docker lockups
  • Remove a left-over inclusion of a css file that doesn’t exist anymore
July 14th 2022
  • Fix a rare bug that could cause redirects to asset library files to fail in certain situations and cause images not to load.
  • Add @arcanist to the About page
  • A few improvements to the D&D Beyond integration
    • Add support for scene notes
    • Add support for tiles in some scenes to fix secrets appearing in player maps
    • Correctly use the right image meant for the scenes, instead of trying to guess the right one (fixes LMoP for example, showing the DM version of the maps with the walls/lighting)
    • Link journal notes to scenes
    • Remove the double parsing of scenes which could lead in some cases to having duplicate scenes for adventures
    • Switch to using our fork of the meta-data project, which fixes some small issues with lmop and cos
  • Remove the cloudflare-proxying option from the Forge module, and enable the feature automatically to all users.
  • Add support for fonts as valid media files for importing into the assets library
  • List all valid extensions in the upload dialog from the assets library (including fonts, pdf, 3d models, etc…)
  • Fix the “Save” button in the game configuration to display a save icon instead of the rest icon
  • Fix text-shadow CSS styling in the plans page causing the pricing to appear blurry
  • Use new API endpoints for Foundry’s license verification and signatures
  • Fix issue with the fallback browse API returning incorrect data for the root folder of the Bazaar.
  • Miscellaneous changes to the dev and build system
June 30th 2022
  • Update the workshop page to indicate Asia and Oceania have livekit deployed as well
  • Implement a fix for a long standing and very rare race condition that could lock a user’s license even if no game is using it.
  • Do not optimize the default token path from compendium packs in the Bazaar to prevent a bug where setting the avatar would not update the prototype token at the same time
  • Attempt to work around a load balancer bug that has been annoying this week
June 27th 2022
  • Add support for Party Chat! A new feature that lets you create a private group chat for your players and automatically invites/removes players from the chat when they join/leave the game.
  • Add support for linking/logging in/signing up with Google
  • Add support for linking/logging in/signing up with Discord
  • Add interface in the account page to link/unlink Patreon, Google and Discord
  • Do not create a new account anymore, when using the “sign in with” option and an account is not found associated with the third party service.
  • Improve the games list display so their height matches the window height, and the cards are larger and in a grid, so they do not expand needlessly in the case of an uneven number of games
  • Add a scrollbar to the game cards so they don’t take too much space, and all cards are of the same size, giving a more uniform browsing experience
  • Automatically hide a game’s banner and shift the description if the banner set by the user is a 1x1 pixels image
  • Automatically detect change in patreon pledges for access to the DDB beta
  • Add patreon lifetime contribution to the data retreived from Patreon linked accounts, in preparation for future Patreon integration Bazaar release
  • Improve the autoscaler to better work with changing ids on the OVH API
  • Increase the cloudflare websocket proxy A/B testing to 50% of users
  • Add new internal endpoints to allow users to browse their data files directly and access Foundry logs (needed for a future update)
  • Some small performance improvements to the website
  • Many small UI/UX improvements to the game cards, login page and accounts page.
June 16th 2022
  • Fix issue with the Bazaar showing incorrectly some packages as having been recently updated
  • Fix installing a premium package from manifest from within Foundry’s setup screen when the creator allows installs from manifest.
  • Show list of all missing assets from imported worlds/modules in the import wizard if there were assets found missing during import
  • Fix Bazaar package standalone page for asset packs never showing a pack as enabled
  • Fix Bazaar package standalone page install button not changing to ‘uninstall’ after the package has been installed until page reload
  • Fix an issue with the Bazaar updater which caused the Foundry servers to return old cached results making it delay detecting new versions of packages if their manifest URL has changed domains.
  • Fix User Manager custom user assignment dialog showing a player as assigned even after the user they were assigned to had been manually deleted from the game.
  • Fix an issue where linking your patreon account when already logged in would redirect to the login page if 2FA is enabled on the account.
  • Randomly enable the new Cloudflare websocket proxy feature to a small number of users for testing purposes
June 7th 2022
  • Fix the migration of compendium packs to use the assets library urls, both in the import wizard and the Bazaar optimizer, after the v9 API break of the pack’s entity type field.
  • Change the “Last Updated” metadata on Bazaar packages to display the release date of the last currently compatible version of the package, instead of the release date of the last version.
  • Fix a bug introduced in last update which caused all packages to have their “Last Updated” to update to June 4th
  • Move the “Workshop” page from the “Resources” menu to the “Discover” menu
  • Update the workshop page to show the Compendium Library as being released, and update the module name from “The Forge: Compendium Browser” to “The Forge: Compendium Library”
June 3rd 2022
  • Fix issue browsing asset packs in Foundry
  • Fix issue with redirects of relative import of greensock library esmodules due to CORS
  • Add support for banning users and locking access in cases of ToS violations
  • Add option in the Forge module to allow testing of Cloudflare proxying for the Foundry VTT connections (can improve stability/reliability for some users)
  • Add rate limiting for API calls to prevent misbehaving modules from disrupting user’s games
  • Fix a memory leak in the assets browsing API which was getting triggered by filepicker-favorites module, causing an API error notification to display to the user
  • Add internal method to the Forge FilePicker to do multiple file uploads at once.
  • Fix nodejs heap size calculation to take advantage of process RAM limits more efficiently

Due to a limit on the size of this single post, the rest of the changelog has been moved to the archives section here : Forge Server changelog archives

Thank you,
KaKaRoTo

4 Likes

June 18th 2020

  • Add Foundry 0.6.3 beta release
  • Clarify plans text about the Game Master tier being able to create as many worlds as they want
  • Add server-side security with possible leak of environment variable across processes
  • Change the ‘Close without changes’ button on the last step of the subscription manager into “Close”
  • Remove obsolete code during world import which enabled “The Forge” module while it’s not necessary anymore
  • Disable direct uploads to the data directory by modules
  • Properly implement redirects from game across regions when re-sending POST data after a region change
  • Rename old/forgotten “Free Account” tier name into the “Player” tier name for the top page banner.
  • Correct information about Extra availability
  • Use ‘$’ sign as prefix instead of suffix in the Extra pricing of the plans page.

June 20th 2020

  • Fix a bug that was preventing some people from creating a new subscription after their trial period had ended

June 23rd 2020

  • Added Foundry 0.6.4 support
  • Fix possible issue when doing multiple folder creates in the assets library concurrently
  • Update privacy policy to include information about Stripe payment processor
  • Add a button to reset the game invitation link
  • Fix text saying “Done” before importing a world instead of “Loading assets library… Done”

June 25th 2020

  • Add support for the Bazaar
    • Intercept Package listing, installation, update check and uninstallation from Foundry and use the Bazaar content automatically
    • Automatically synchronize the Bazaar with the official Foundry package list
    • Optimize all Compendiums to use the Bazaar’s Assets Library
    • Optimize specific systems and modules to use the Bazaar’s Assets Library for loading the package’s scripts and styles
    • Add Bazaar page to the website with basic information about the feature, and as placeholder for the upcoming Bazaar browser.
    • Add API support for installing packages through the Bazaar via API
    • Add support for bypassing the bazaar with ?bazaar=disabled in the manifest URL, if the user wants it
  • Attempt Bazaar install of systems and modules in the Import Wizard based on package name and local version
  • Remove the separate “My Games” page and make it the main site page instead.
  • Delegate Foundry websocket proxying to a microservice to allow for website updates and maintenance without the 5 second interruption to ongoing games.
  • Prevent import of a world if a world with the same name already exists, to avoid accidental overwrites.
  • Add ability to export compendium modules
  • Automatically idle/reload Foundry if the FVTT Version, Game URL or Admin key is changed.
  • Add an API to start, stop and idle games
  • Fix shared compendium that Forge creates from not showing its compendiums in FVTT 0.6.4
  • Fix broken “Delete content” UI when a package has quotes in its description.
  • Fix invalid/corrupt modules from showing as empty line in the ‘Delete content’ dialog and show them in the orphans section instead
  • Correctly report the size of a user data directory when it’s a symbolic link, in the ‘Delete content’ dialog
1 Like

June 29th 2020

  • Fix a bug which sometimes prevented the “Select Data Files to Delete” dialog from the Table page from opening
  • Remove the Table Tools dropdown button and make the table tools options appear as separate buttons
  • Change the start server/stop server buttons to green/red respectively
  • Add a brief explanation of what the Shared Compendiums are and how to use them.

July 1st 2020

  • Fix an issue when trying to check for updates on a custom installed package
  • Add better support for unexpected values in a module’s author field
  • Remove access to free subscription for Patreons as planned
  • Temporarily decrease German VAT rate from 19% to 16% according to the latest COVID-19 economic stimulus package.

July 5th 2020

  • Add Foundry 0.6.5 to the Alpha and Beta channels
  • Add display of maximum asset upload size to the My Account list of quotas
  • Add local Audio/Video relay servers for Europe and Asia regions
  • Enable DTLS encryption for A/V relay servers for increased security
  • Add a more secure time-based per-user authentication system for locking access to the Audio/Video relay servers
  • Minor miscellaneous infrastructure changes

July 6th & 8th 2020

  • Fix Bazaar issue with regards to systems or modules that may change their name (such as starfinder -> SFRPG)
  • Add Foundry VTT 0.6.5 to the stable release channel and update server with the updated 0.6.5 version
  • Add a link to the FAQ/Tutorial for more information on how to use the shared compendium feature.

July 14th 2020

  • Fix an issue where the Bazaar installer would install an older version of a module until it was updated
  • Fix an issue with accessing the “My Table” page when a custom module is installed that doesn’t specify its authors
  • Fix the import wizard not converting random token avatars to use the assets library (See Fixing random token actors from a bad import)

July 15th 2020

  • Add support for 0.7.0 release on the alpha channel
  • Add automatic package cache purging for 0.7.0 on Bazaar installs
  • Automatically idle game when importing worlds and packages with the import wizard
  • Do not automatically dismiss the error message when failing to import a package, so it’s readable by the user
  • Add a note in the “delete files” tool about the server needing to be offline for world deletions to work
  • Add API to allow force the world to idle a game into

July 18th 2020

  • Fix an issue where a world (kobold cauldron) installed through the bazaar had its scene thumbnails folder write protected, preventing new scenes in the world from being created.
  • Add a check in the import wizard to remove the “FoundryVTT/Data/” directory prefix when importing the entire FoundryVTT folder instead of the Data folder, for asset uploads. (See here)
  • Add autocomplete indicators in the billing page to help browsers enter the correct information when autofilling fields.
  • Removed a dependency to lodash library in the import wizard.

July 20th 2020

  • Fix a bug introduced in the July 18th update which caused the import wizard to import some assets, under specific conditions, under a Data/ directory instead of the root folder of the assets library

July 25th 2020

  • Added a new Extra option for increasing the upload size per asset file
  • Added a dedicated button in My Account to update user’s Billing Information
  • Added a dedicated button in My Account to access the Stripe portal to change payment methods and see billing history/past invoices
  • Update system to synchronize subscription information with the payment processor to make sure expiration dates are accurate
  • Show a warning and error message to users who have past due invoices or unpaid subscription
  • Automatically lock/unlock accounts for unpaid subscriptions (used to be a draining manual process)
  • Added a grace period of 24 hours after a subscription ends before services stop.
  • When adding a new license, don’t reload the page after 5 seconds, instead prompt the user to reload.
  • Use the verify Foundry endpoint instead of the sign endpoint for monthly license validations
  • Add an automatic latest symlink in each Bazaar package (useful for a localization script by @lordzeel)
  • Simplified internal payment processing system and removed some obsolete code
  • Fixed small bug where the ‘preview changes’ in subscription manager didn’t become clickable immediately after entering the address line content
  • Fix an issue where updating billing information updated them on the customer but not on the attached payment method
  • Added the initial implementation for Paypal support (not finished)
  • Added basic framework for switching to a reactive UI

July 27th 2020

  • Add a “per file” suffix to the upload size limit quota on My account page to make it clearer what it’s about
  • Module: Fix an issue where the assets library wasn’t browsable within Foundry if a file contained a % character in its name
  • Module: Remove a console error that would happen when browsing the assets library using the Tiles browser dialog
  • Bazaar: Add ability to install a specific package version by adding ?version=x.y to the manifest url
  • Bazaar: Fix a bug where the latest version that gets installed was one that had its minimumCoreVersion requirement higher than the currently running Foundry version, rather than inferior to it.

July 31st 2020

  • About a 100 different changes that are summarized with : Added Paypal support!
  • Revamped the Payment details screen to use a new reactive interface
  • Add direct access to the new payment details manager without going through the subscription manager
  • Add a warning to the subscription manager when email address is not verified so people don’t miss their invoices and receipts.
  • Fix subscription manager showing the wrong upload size limit for new subscriptions
  • Update Sales policy to include that users choosing Paypal will still be entitled to the free trial (it used to say, only for those choosing credit card payment)
  • Prevent use case where subscription was not created properly if a card payment is declined for a user who adds a new subscription after they had tried the service and cancelled, and after their trial period had ended.
  • Improve display name of existing user-attached credit cards (American Express instead of amex, and use capitalized word for Visa and Mastercard)
  • Remove some obsolete code and general code cleaning.

August 6th 2020

  • Try a first pass at revamping the whole Game/Table concept and improve the descriptions and change the name of “My Table” to “My Foundry”, “Launch Game” into either “Launch Foundry” (for our own server) or “Access game” (for games we were invited to)
  • Add listing of players invited to a game as well as per-player usage statistics for that game
  • fix an import wizard crash during world migration if the world.json file is invalid
  • Fix an issue with updating internal subscription state for users after they downgrade their subscription

August 7th 2020

  • Fix a race condition issue where logging in/logout may not appear to have worked until you refresh the page

August 11th 2020

  • Add support for Foundry VTT 0.7.1 (including first hotfix) in the Alpha channel
  • Add a “Return to Setup” button in the join page for the game owner
  • Sort player usage by time spent on a game in the game info hover list
  • The default game URL will now default to using your username instead of random dictionary words
  • Fix a bug when generating the random game url where the website would fail to load if it generates a url that is already in use by another user
  • Use smarter logic in the bazaar to allow updating a module by name even if the manifest url of the package is wrong.
  • Prevent a race condition where setting an admin key on Foundry while having the game in use could cause it to be restarted before the new admin key is set, which makes the Forge think an admin key is set while Foundry doesn’t know of the key.
  • Fix an issue where a client bug happens if FilePicker.browse returns a null response
  • Fix The Forge module to be compatible with the 0.7.1 release
  • Some misc server side improvements

August 14th 2020

  • Fix issue that prevented the deletion of an orphaned module directory containing an invalid or corrupted module.json file
  • Allow the display of a user’s game on the front page even if their subscription ended (but they cannot launch it or configure it)
  • Fix an issue generating new game URLs for users that signed up using the Patreon login service and who did not have a username assigned to their account. The default URL it will generate will now be based on their patreon’s username.