FaxStore Changelogs

1.x.x
2.x.x
3.x.x

Weblutions Documentation > FaxStore Changelogs > 3.x.x > 3.0.0 - Frontend Rewrite

3.0.0 - Frontend Rewrite

FaxStore v3 brings major changes to FaxStore as an application, ecosystem, and payment solution. This update comes with a complete front-end rewrite, a 59.9% reduction in the codebase, reporting enhancements, and way more!

It's been over 6 months in the making which has left parts of FaxStore in a stand-still for that period of time as we work on this update. Today, we're proud to announce that FaxStore's codebase and size has been shrunk by over 50% while keeping all the great same features FaxStore has to offer! You can find a full breakdown of the codebase change right below!

Migrating from FaxStore V2 to V3 will break existing themes as there's a new UI library used within FaxStore.

This is a preliminary changelog for FaxStore. This release is not public yet and is in public closed beta!

So, what has changed in FaxStore in V3? Lets jump into the changes

Additions

  • The front-end of FaxStore has been remade from the ground up, a unified Weblutions CSS library is now used
  • A globally accessible cache is now usable in extensions via the CACHE variable. See more here
  • EJS application local functions have been added to be used in themes in a unified way
  • Themes can be downloaded via the theme manager and applied to a store instantly - https://market.faxstore.info
  • Reports can be exported to CSV files
  • Store categories can now be marked as inactive
  • The ability to allow linked CFX accounts can be toggled on or off via integrations
  • Inactive products and discounts are now highlighted in the staff panel
  • Products that are on sale are highlighted gold in the staff panel
  • 2025 has been added to the insights tab as a button
  • Emails now support two additional customer related prefills - Custom Email Designs
  • Customers are searchable when creating invoices so their ID or email doesn't have to be pasted or remembered
  • The Discord audit log channel is now set via the integration tab
  • A secure rate limit has been applied to registration forms to prevent spam or botting
  • MySQL will now present better error messages if there's one
  • Payment issues that direct back to the cart will now present better information
  • Subscriptions now have the option to remove related Discord roles when the subscription ends
  • Square payments now support; Apple Pay, Cash App, Google Pay, and After Pay

Changes

  • The markdown CSS UI has been moved to a unified file instead of being a header style element
  • All dependencies have been updated to their latest stable builds with some having function rewrites
  • Subscriptions will now generate statistics for sales including income
  • Made major changes to checkout flows and tested all types of paid and free transactions

Fixes

  • Corrected an ongoing issue where the statistics on the home page would not display correctly, this was due to MySQL Server version changes
  • Reports for 2024 can now be generated
  • The parameter order on the invoiceCreated have been fixed and reflected here
  • Payment objects should now be properly sanitised in the database
  • Discount codes in fixed and percentage forms now work with Square

Removals

  • The Discord audit log channel Id in the config file is no longer used
  • pdfkit-table has been removed and replaced with pdfkit-table2 - pdfkit-table2 GitHub

Security

  • Dependencies have been updated to recent builds for better security and functionality
  • Investigated a couple of package related CVE security concerns, none to report for FaxStore

FaxStore Codebase 2.8.1 to 3.0.0

We're so happy to provide such a great, optimised, and more polished application in every update. Version 3 brings over 50% in codebase reductions while keeping all the same amazing features! Lets take a deep dive into the numbers.

Version 2.8.x

In FaxStore version 2.8.1 we had a large codebase with 53,532 lines across 198 files. That is a massive amount of code which some has remained untouched since FaxStore was first developed in 2018. We finally had the chance to do something about this after knowing the codebase size for a decent amount of time. Here's a full breakdown of version 2

198 files, 45874 codes, 1287 comments, 6371 blanks, all 53532 lines

languagefilescodecommentblanktotal
(Post)CSS1019,337804,12923,546
HTML / EJS10813,7731971,00814,978
JavaScript5711,6659631,16213,790
MySQL35024158601
JSON1539905404
XML215412157
Shell Script1233228
Markdown1122519

Version 3.x.x

In FaxStore version 3 we've made a 59.9% reduction in the codebase for FaxStore, this is a dramatic reduction, and we haven't removed a single feature, in fact we've added tons in this update. The majority of this reduction comes down to (Post)CSS which in cases we found duplicate properties, classes, and variables. In FaxStore version 3 we've remade the CSS from the ground up - making our own in-house CSS library.

If you like numbers, here are the exact figures for FaxStore version 3

160 files, 19901 codes, 483 comments, 1082 blanks, all 21466 lines

languagefilescodecommentblanktotal
JavaScript559,87729939210,568
HTML928,7711356049,510
PostCSS7474634514
MySQL14723743552
XML115111153
JSON212101122
Shell Script1233228
Markdown1122519

We're very happy with how much has been reduced over the re-write


Related Articles


Suggest an edit

Review this page

faxes

fs 300

1 recommend this page