I have published a new version of Total.js framework. New version brings new features and some bug fixes.
New release of Total.js v2.8.0
- Read changelog
- NPM:
$ npm install total.js
or download empty-project - Website: https://www.totaljs.com
This version brings great new features which makes Total.js framework one of the best and fastest Node.js frameworks in the world. I have performed many performance updates and improvements. Here are the best features in this version:
Rewritten algorithm of packages
I have rewritten packages algorithm from scratch. New algorithm supports streaming data while reading/writing. In other words you can now store files larger than 10 MB
(I have tested 100 MB files). New algorithm reduces CPU and memory consuption during the packing/unpacking of packages.
NoSQL embedded database
I can say this database is the best and fastest Node.js embedded database written in pure JavaScript. I have improved a performance around 60% (and reduced CPU and memory consumption) while reading and updating/removing in most cases.
Test:
- 65 MB database with over
600 000
documents - average reading around 1.7 second
- average updating/removing around 1.9 second
IMPORTANT: database performs multiple reads/updates together when needed.
NoSQL Counter v2
This is one of the coolest features. New NoSQL counter can count min
, max
and sum
values by days/months/years. You can read easily stats for some period or just read a minimal or maximal values by specific identificator. This version has improved performace a lot.
NoSQL backup
Big feature of this version is backing up of NoSQL embedded databases with all data. The database uses same packaged algorithm like Total.js package system for backing up/restoring. Now you can create a backup with all text and binary files.
Backup:
Restore:
NoSQL and HTTP protocol
As I said, one of the best NoSQL embedded databases written in pure JavaScript. New update brings a readonly mode for databases stored on another servers. NoSQL Counter works too.
Try:
Are you kidding me? Not really, it works like a charm.
NoSQL logging
This feature can write a log into the file. It's a great solution for logging when data are manipulated.
- Method:
DatabaseBuilder.log(message, [username])
NoSQL: A quick documents back up
This feature can create a quick backup for documents which are updated, modified or removed.
- Method:
DatabaseBuilder.backup([username])
- It works only with
update()
,modify()
andremove()
method
New helpers
Create directories according to the path
Nice to know that this method can create directories according to the path:
Another method for sending mails
- this method sends a mail message automaticly using the configuration
mail-smtp
andmail-smtp-options
- no need to specify smtp as in
Mail.send(smtp, [options], messages, [callback]);
Updates
View engine: URL
I have improved controller.view()
and F.view()
method by adding a support for views on another servers.
How it works:
Partial views in an action:
- IMPORTANT it won't work in view-engine e.g.
@{view('https://....'})
View engine: read a value easily from configuration
This new command can create a cleaner HTML code,
Persistent cache
I have improved F.cache
by adding a new method F.cache.set2()
which creates a persistent cache. All persistent items are stored in a file and if the framework is restarted the items are loaded back to F.cache
.
Fixes
This is very important part of the new version.
- IMPORTANT: fixed long messages in WebSocket now works like a charm
- fixed JS/CSS/HTML blocks
- fixed
mailmessage.callback()
sometimes wasn't called - fixed
mail-smtp-options
user+password can beblank
now even if auth is enabled
What's next?
My plan is to update all Total.js products by adding new features from the new Total.js version with new version of jComponent and its UI components.
Do you hear about Total.js for the first time?
Give Total.js platform a try, the invested time will be worth it. Start your business or technology stack with Total.js platform now! Get started.
Thank You to all the sponsors and premium members
Thank you all premium members and sponsors. Your money was used to make all these updates/improvements and much more possible. Thank you again for supporting me so I can do what I love the most. My idea for the near future is to improve documentation, make some more tutorials, courses and maybe a first book.
Other posts from Total.js Platform
- 2024-11-13Benchmarking Node.js Frameworks: selecting your framework for 2025!
- 2024-11-01October report 2024
- 2024-10-22Performance Testing: Total.js vs. NestJS
- 2024-10-01September report 2024
- 2024-09-27Total.js UI Builder: #2 designing your first interface
- 2024-09-26Total.js V5: Middlewares
- 2024-09-23Beginner Guide to Total.js UI: # 05 Client-side routing
- 2024-09-23Total.js UI #4: Data Binding (Part 2 – Practical Example)
- 2024-09-20Introduction to Total.js UI Builder: A Beginner’s Guide
- 2024-09-13Total.js v5: #06 Understanding File Routing