FaxStore Changelogs
The 3.3.0 release of FaxStore is an important update as FaxStore's Node.js version has been updated from 20.5.1 to 24.15.0 and The FaxStore App Store has been released. Having the updated Node version increases package compatibility along with enhancing overall security. This update also addresses and resolves some ongoing bugs that have been reported including the Stack Overflow errors (Stack Overflow Errors Explained (Javascript)).
Table of Contents
This is a preliminary change-log. FaxStore 3.3.0 is in closed beta and has not yet been publicly released.
FaxStore 3.3.0 is due to release on May 31st.
FaxStore app support has been implemented to support the new apps.faxstore.info website where published apps can be installed right within FaxStore. See "About FaxStore Apps" below for more information
Checkout sessions older than 48 hours are automatically deleted and emit the new checkoutExpired event
The staff panel has a new categorised sidebar allowing more content and compatibility for FaxStore Apps
Staff page tables can now be sorted in ascending or descending order by clicking a column title. Supported pages include:
Forms submitted
Orders
Invoices
Quotes
Products
Customers
And more
Products can now be added in bulk to accounts
Adding products now have a search input when adding to an account
Global emails now support full HTML and custom templates can be used by disabling the template
The global email send page now includes an email builder tool
Global sent emails can now have the email template disabled. This is apart of the customer email template support
The staff search bar now will populate email search results
The accounts API has new routes
GET /api/accounts/:id/orders
GET /api/accounts/:id/products
Route redirects on the registration page have been corrected
The error handler has been fixed for the occurrences counter which was broken and causing Stack errors [1]
Stripe customer IDs that are missing or invalid will no longer cause a stack overflow error, instead a new customer will be created [1]
Other minor bugs were fixed [2]
Fixed a visual issue with content width on the setup page when editing MySQL details
Changed from Node.js version 20.5.1 to Node.js version 24.15.0. See note below
All base packages have been updated to latest stable releases
The way active checkouts are handled has changed. FaxStore now properly supports multiple checkout sessions being active
All staff page information panels have been updated to use the new documentation website (this site) and have more up-to-date information within them
The invoicePaid event has an addition parameter for the total numerical amount spent
The checkoutReturn event has an addition parameter for the total numerical amount spent
It's been reported since FaxStore 3.2.0 that there's been an increase of Overflow errors which were documented in Resolving Stack Overflow Errors in Weblutions Products. While some of these errors were resolved in FaxStore version 3.2.5 - Backend Changes (StackOverflow Corrections) now all were. In summary the below actions could cause this fatal error:
Loading Store page. In rare cases users loading the /store route would cause an application crash.
Completing a checkout. This was. most common, when a Stripe checkout was completed FaxStore was likely to crash fully due to running out of Javascript threads. This was caused by a number of Stripe configuration issues which made the error hard to diagnose. These errors were collected, replicated, and traced to all be resolved along with changes to the error handler.
Sending user emails. SendGrid emails sent to specific users would also cause a crash due to a conflict in the user email preferences. Not all of these ended up as stack errors but a couple instances did.
What changes were made to correct the issues:
A rework of parts of the error handler were made to capture these errors and log then rather than a full crash
Stripe customers are created if the supplied customer ID is invalid or missing
User email preferences can no longer crash, FaxStore now enforces policy to ensure there's no duplicates, conflicts, or missing parameters.
Many small mostly undocumented bugs were also corrected. Majority were in the form of syntax based bugs which caused no critical issues with FaxStore. Others included typos in spelling and grammar on various pages.
When using the automatic updater FaxStore may first update to 3.2.5 to install some required packages before then making the 3.3.0 update available to be installed. If automatic updates are enabled this will occur over 48 hours.
If manually updating FaxStore's file there's some requirements that will be required to allow the new version to install. Using Node Version Manager the install command can be used to install the new node version and the packages. Follow these steps:
Download and extract content into your FaxStore installation (except the Configuration File)
Turn off FaxStore via the controller or command line with pkill screen
Install the Node.js version and set it as the default installation using the below commands
nvm install 24.15.0
nvm alias default 24.15.0
nvm use 24.15.0Once Node 24.15.0 is installed create a new FaxStore screen session (How to Use Screen Sessions on Linux)
screen -S faxstoreInstall the new packages for FaxStore 3.3.0 - Node Version Upgrade
npm ciStart FaxStore using the standard node . command
It's important to keep FaxStore secure from any potential threats and this update assists in reducing such threats and also allows newer Javascript engines, processes, and functions to be used. FaxStore should be faster and more resource efficient in this update and further.
If running other Node applications with the previous Node.js 20.5.1, it may be worth reading our guide on how to start those applications with the old Node version - Running Node Version On One Application.
FaxStore extensions have been renamed to "Apps" to give them more support and have a more universal term that incorporates themes and extensions into one term - apps. All public apps can be found at the "Explore Apps" page on the FaxStore staff page, or at the apps website; apps.faxstore.info.
At the time of this FaxStore release the publishing of Apps on apps.faxstore.info can only be performed by Weblutions directly as we work to update the support for more features and document the app manifest requirements better.
We soon plan to add public upload support for FaxStore apps which will have an approval process. Once approved the app will be able to get installed on any FaxStore instance.
As extensions have been rebranded to apps, it's recommended to update any apps (formally extensions) to new function names and parameters. See the Registering Apps page for more information on the new methods. The previous registerExtension() function is now deprecated and will continue to function for the next few updates.
If registering a staff page for an app, the page will now populate on the FaxStore staff panel under the apps section: