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.

July 27th 2021
  • Added the new Oceania region with the entire new Forge server design set up in Australia!
  • Fixed an issue which caused region changes to be slow to react in the UI after clicking the submit button
  • Fixed a rare but possible issue with region changes where the success of the data synchronization could fail but it would be detected as successful.
  • Add a direct link to package changelog in the “Update All” window from the Bazaar
  • Bazaar Updater: Fix an issue with optimization of paths that use \ instead of / for image paths.
  • Bazaar Updater: Slight optimization in the API requests sent to the Foundry server
  • Added support for the OVH API in the Forge’s autoscaler
  • Misc: lots of small behind the scene changes to help with the new server setup and configuration
July 14th 2021
  • Added a 404 error page that looks nicer than the previously displayed “Page not found” error
  • Fixed an issue where the user’s profile and quotas were not properly displayed when the site is showing an error, or in the 404 page
  • Added a page for our current job posting
  • Fix an issue with IPv6 users where the IP address that was detected for geolocation purposes during checkout, would be the CDN proxy’s instead of the user’s.
  • Improve autoscaler health checks to ensure smoother autoscaling liveness probes
  • Force idle games with single user after 12 hours, as a workaround for a Foundry bug that would report a user as active in a game even if none are logged in
  • Added support for autoscaling using the OVH service provider’s API
  • Misc changes to the server deployment scripts and documentation in preparation for the new provider/Australian server move.
July 11th 2021
  • Change cover image for asset packs into a 1:1 ratio image instead of 2:1 as it is a more appropriate image ratio for asset packs
  • Change all Bazaar packages under the “pay what you want” model that have a minimum price, into showing up as a “Pay X$ or more” model
  • Display and use the minimum pricing instead of the suggested price by default for all “Pay X or more” packages.
  • Add a “Suggested price” line in the cart when adding an item with “Pay what you want” or “Pay X or more” models
  • Display a :heavy_plus_sign:sign next to the “Pay X or more” packages instead of the :arrow_up_down: sign next to the “Pay what you want” packages to differentiate them
  • Do not show a sale banner for Pay what you want content, as it doesn’t make sense
  • Display all the regular install buttons (disabled) with pricing for the Bazaar content when the user is not signed in, instead of a “Install” button
  • When browsing for Bazaar files from within Foundry, only display the assets that available from the specific version that was installed
  • Clean up the bazaar browsing paths so there is no “assets” subfolder to navigate through
  • Clean up the bazaar browsing paths so marketplace modules do not show their unique random identifier in the path
  • Remove the asset optimizer options from Foundry file picker as those options are not currently working until we re-implement the optimizer for the new CDN
  • Added a system for health reporting and auto-restart of the bazaar updater to prevent any more freeze ups of the updater processes
  • Fix issue with the autoscaler causing upscaling of the cluster to take longer than expected due to an upstream library bug causing a command to lock up
  • Small improvements to the Bazaar creator’s dashboard
June 25th 2021
  • Add the ability to version lock packages in the Bazaar UI
  • Add ability to select which packages to update in the Bazaar’s “Update All” UI
  • Add the option to choose which version of a package to install from the Bazaar
  • D&D Beyond integration: Allow importing Basic Rules and Frozen Sick D&D Beyond content without having access to the Beta program (through Patreon)
  • D&D Beyond integration: Add support or Backgrounds and background features and variants
  • D&D BEyond integration: Add support for using ddb-meta-data for adding Scene data to adventures (walls and lighting) during import
  • D&D Beyond integration: Remove inclusion of a book’s CSS file which could cause conflicts with Foundry
  • Modify assets library’s handling of CORS to allow the CDN webp optimizer to function properly
  • Fix purging of the CDN cache for some files that use special characters in their URL
  • Disable syncing between Bunny CDN and Cloudflare CDN now that DNS propagation is complete, and update the UI to indicate the 200+ locations for the new CDN’s geodistribution.
June 21st 2021
  • Add support for the Cloudflare CDN purge API in preparation for move to new CDN provider
  • Correctly implement CORS handling in the asset library’s downloader proxy, rather than relying on the CDN to override CORS headers.
  • Update the Forge module to use the upload subservice for uploads to the assets library, bypassing the Cloudflare’s proxy limitations.
  • Correctly save and return the latest Foundry version used in launching a game (was causing new accounts to start on 0.8.6 instead of the latest).
  • Add the ability to update core Foundry version when on a release channel, from the Forge page without launching into a world
  • Change default Foundry version to 0.8.7
  • Slightly improve accuracy of latency pings from the region change dialog
  • Add system to verify all of a user’s D&D Beyond entitlements during conversion, in preparation for future update
June 16th 2021
  • Add support for the new authentication mechanism in 0.8.7, fixing the user management features
  • Add APIs to lock package versions from the Bazaar (UI to follow soon)
  • Fix a race condition that can happen between subscription changes and Stripe webhooks
June 5th 2021
  • Add support for the new API changes in 0.8.x for package installation. Fixes the update log dialog showing errors despite installs succeeding.
  • Disable CDN support for core translation modules due to a bug in 0.8.6 (requires reinstall of module)
  • Fix discrepancy between a game’s core language and what the Forge interface shows
  • Add internal API for license key removal from user account (UI to follow soon)
June 2nd 2021
  • Fix listing of user’s purchased premium packages from Foundry, after an internal API update
  • Added caching of owned packages to limit number of API requests during frequent user reloads of the bazaar
June 1st 2021
  • Improve the way the user licenses are displayed in the My Account page
  • Add suggestion to updates systems and modules after updating Foundry
  • Add link to new Update Tutorial in the Foundry update page
  • Store currency exchange rates in Forge database and cache it locally for faster access

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

5 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.