Node.js framework v3.4.0 Release Notes
Release Date: 2020-02-11 // about 4 years ago-
News :
- ➕ added:
date.setTimeZone(timezone)
- ➕ added: `NOSQL('~absolute_path.nosql')' loads external NoSQL embedded database
- ➕ added: `TABLE('~absolute_path.nosql')' loads external Table
- ➕ added:
(generate)
subtype into theconfig
files - ➕ added:
String.isBase64()
- ➕ added: new schema type
Base64
- ➕ added: SchemaEntity supports
schema.addWorkflowExtension(name, fn($, [data]))
- ➕ added: SchemaEntity supports
schema.addTransformExtension(name, fn($, [data]))
- ➕ added: SchemaEntity supports
schema.addOperationExtension(name, fn($, [data]))
- ➕ added: SchemaEntity supports
schema.addHookExtension(name, fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setSaveExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setReadExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setQueryExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setRemoveExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setInsertExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setUpdateExtension(fn($, [data]))
- ➕ added: SchemaEntity supports
schema.setPatchExtension(fn($, [data]))
- ➕ added: SchemaOptions supports
$.extend([data])
for evaluating of all extensions for the current operation - ➕ added:
WebSocket.keys
property (it contains all keys with connections) - ➕ added:
threads
directory for server-less functionality - ➕ added: a global variable called
THREAD
with a name of current thread - ➕ added:
require('total.js').http(..., { thread: 'thread_name' })
evaluates only specified thread - ➕ added:
require('total.js').cluster.http(..., { thread: 'thread_name' })
evaluates only specified thread in cluster - added: framework creates a file with app stats in the form
your_init_script_name.js.json
- added: a new config key
allow_stats_snapshot
- ➕ added: view engine
@{import()}
supports auto-merging JS or CSS files:@{import('default.js + ui.js')}
- ➕ added:
exports.options
delegate to component inFLOWSTREAM
- ➕ added:
DatabaseBuilder.autofill()
from DBMS - ➕ added:
HttpFile.extension
property - ➕ added:
HttpFile.size
property alias toHttpFile.length
- ➕ added: auto-session cleaner of unused sessions
- added:
allow_sessions_unused
config key for cleaning of unused sessions - ➕ added: missing
PATH.schemas
,PATH.operations
andPATH.tasks
- ➕ added: a new method
PATH.updates
- added: easy updating of applications via
UPDATE(versions, [callback], [pause_server_message])
- ➕ added: NOSQL counter
.reset([type], [id], [date], [callback])
method- - ➕ added:
session.listlive(callback)
returns all live items in session - ➕ added:
controller.ua
returns parsed User-Agent - ➕ added:
$.ua
returns parsed User-Agent in Schemas, Operations, TaskBuilder,MIDDLEWARE()
andAUTH()
- ➕ added: support for
.mjs
extensions - ➕ added: a simple support for DDOS protection
allow_reqlimit : Number
(max. concurent requests by IP just-in-time) - ➕ added: unit-testing supports colors, added by @dacrhu
- ➕ added:
String.encryptUID()
as alias forU.encryptUID()
- ➕ added:
String.decryptUID()
as alias forU.decryptUID()
⚡️ Updates :
- ⚡️ updated:
WEBSOCKET()
supports+
,-
and🔒
as authorization flags - ⚡️ updated:
LOAD()
supportsservice
type - updated: cluster watches
restart
orrestart_NAME_of_THREAD
files for restarting of existing threads - ⚡️ updated: cluster supports
auto
mode - ⚡️ updated: cluster supports watcher in
debug
mode - updated:
*.filefs()
,*.filenosql()
,*.imagefs()
,*.imagenosql()
by addingcheckmeta
argument - updated:
$.done([user_instance])
method inAUTH()
, added a new argument calleduser_instance
(optional) - ⚡️ updated: GZIP is enabled only for JSON bodies which have more than 4096 bytes
- 🚀 updated:
.env
parser supports parsing of.env-debug
or.env-release
files according to the mode - ⚡️ updated: list of user-agents in
String.parseUA()
🛠 Fixes :
- 🛠 fixed:
ON('error404')
when the route doens't exist - 🛠 fixed:
filter
in Schemaworkflows
,transformations
andoperations
- 🛠 fixed:
NOSQL()
joins with absolute paths - 🛠 fixed:
TABLE()
joins with absolute paths - 🛠 fixed:
(random)
subtype inconfig
files - 🛠 fixed:
(response)
phrase inROUTE()
for multipleOPERATIONS
- 🛠 fixed: a response in
ROUTE()
with mulitple operations if the result contained some error - 🛠 fixed: a security bug with a path traversal vulnerability
- 🛠 fixed:
debug
watcher forthemes
- 🛠 fixed:
generators
in schemas with a new declaration - 🛠 fixed: a problem with handling files in 404 action
- 🛠 fixed:
startup
directory in bundles - 🛠 fixed:
schema.inherit()
didn't copyrequired
fields. - 🛠 fixed:
SUCCESS()
serialization withSUCCESS()
argument - 🛠 fixed: a critial bug with
UID()
generator - 🛠 fixed: clearing of DNS cache
👌 Improvements :
- 👌 improved:
LOGMAIL()
mail format - 👌 improved: starting logs in console output (added IPv4 local address)
- 👌 improved: performance with JSON serialization in
controller.success()
andcontroller.done()
- ➕ added: