Weblutions Documentation
Weblutions Main Site Contact Us Our Discord
Some pages are still pending proper formatting, if required refer to the legacy documentation website.
FaxStore Changelogs IconFaxStore Changelogs

Weblutions Documentation / FaxStore Changelogs / 3.3.0 - Node Version Upgrade

Updated

3.3.0 - Node Version Upgrade

By Josh M. 7 mins 10

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.

Additions

  • 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

Fixes

  • 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

Changes

  • 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

Notes

[1] - FaxStore Stack Overflow Errors

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.

[2] - Other Bugs Corrected

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.


How to Update

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:

  1. Download and extract content into your FaxStore installation (except the Configuration File)

  2. Turn off FaxStore via the controller or command line with pkill screen

  3. 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.0
  1. Once Node 24.15.0 is installed create a new FaxStore screen session (How to Use Screen Sessions on Linux)

screen -S faxstore
  1. Install the new packages for FaxStore 3.3.0 - Node Version Upgrade

npm ci
  1. Start FaxStore using the standard node . command

About The New Node Versions

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.

About FaxStore Apps

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.

Attention Extension Developers

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:

A boring example image