You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- added: a new config key `default_crypto` it can rewrite Total.js crypto mechanism (default: `undefined`)
14
+
- added: a new config key `default_crypto_iv` it's an initialization vector (default: generated from `secret`) or it can contain a custom `hex` value
15
+
- added: a new config key `allow_workers_silent` can enable/disable silent workers (default: `false`)
16
+
- added: a new config sub-type called `random`, example: `secret_key (random) : 10` and `10` means a length of value
17
17
- added: a new command `clear_dnscache` for clearing DNS cache
18
18
- added: commands `INSTALL('command', 'command_name', function)` for registering commands and `CMD(name, [a], [b], [c], [d])` for executing commands
19
-
x added: `ENCRYPTREQ(req, val, [key], [strict])` to encrypt value according to the request meta data
20
-
x added: `DECRYPTREQ(req, val, [key])` to decrypt value according to the request meta data
21
-
x added: `controller.nocache()`
22
-
x added: `controller.nocontent()`
23
-
x added: `REPO` as a global variable
24
-
x added: `FUNC` as a global variable
25
-
x added: `MAIN` as a global variable
26
-
x added: `DEF` as a global variable for defining of behaviour for some operations (alternative to `F`)
27
-
x added: `PREF.set(name, [value])` (read+write) or `PREF.propname` (only read) for reading/writing a persistent preferences
28
-
x added: `F.onPrefSave = function(obj)` to write preferences
29
-
x added: `F.onPrefLoad = function(next(obj))` to read preferences
30
-
x added: `RESTBuilder.url(url)` which returns a new instance of `RESTBuilder` for chaining
31
-
x added: `restbuilder.keepalive()` enables a keepalive for `RESTBuilder` instance
32
-
x added: `SESSION()` management, more in docs
33
-
x added: `controller.sessionid` with ID of `SESSION()`
34
-
x added: `AUTH()` supports a new auth declaration with `$` as `AuthOptions` like `SchemaOptions` or `OperationOptions`
35
-
x added: `AuthOptions` to prototypes
36
-
x added: `ErrorBuilder.length` property (alias for `instance.items.length)
37
-
x added: Schemas `prepare` supports `req` argument
38
-
x added: `DEF.currencies.eur = function(val) {}` registers a currency formatter
39
-
x added: `DEF.helpers` registers a new view engine helper (`F.helpers` is alias for for this object)
40
-
x added: `DEF.validators` is alias for for `F.validators`
41
-
x added: usage of currency formatter `Number.currency(currency)`
42
-
x added: new schema type `Number2` with default value is `null`, not zero `0`
43
-
x added: `@{json2(model, elementID, key1, key2, key3)}` can serialize data with keys defined into the `<script type="application/json">`
44
-
x added: schemas supports `PATCH` and `.setPatch()`, only specified field are processed
45
-
x added: `SchemaOptions` supports `$.keys` for `PATCH` method
46
-
x added: `schema.cl(name)` ("cl" means codelist) returns `{Array}` a list of values from defined enum/keyvalue
47
-
x added: `schema.props()` returns `{Object}` meta info about all defined properties
48
-
x added: `SchemaOptions`, `OperationOptions` and `TaskOptions` supports `$.req` and `$.res` properties
49
-
x added: `AUDIT(name, $, [type], message)` a method for audit logs
50
-
x added: __obsolete__ message to older declaration of middleware, schemas and operations
51
-
x added: `U.diffarr(prop, arr_A, arr_B)` for comparing of two arrays
52
-
x added: `DIFFARR(prop, arr_A, arr_B)` is a global alias for `U.diffarr()`
53
-
x added: `global.REQUIRE()` for local modules within app directory
54
-
x added: `global.isWORKER` variable which contains `true` (when the process is executed as a worker) or `false`
55
-
x added: `ACTION(url, [data], callback)` can evaluate a route without request creation
56
-
x added: `ROUTE('🔒 METHOD URL')`, it means that 🔒 adds `authorized` flag
57
-
x added: `ROUTE('+METHOD URL')`, it means that `++` or `+` adds `authorized` flag
58
-
x added: `ROUTE('-METHOD URL')`, it means that `--` or `-` adds `authorized` flag
59
-
x added: `SchemaOptions`, `OperationOptions`, `TaskOptions` supports filtered query arguments via `$.filter`
60
-
x added: `controller.done([value])`
61
-
x added: `SITEMAP()` as alias to `F.sitemap()`
62
-
x added: config key `allow_localize` enables a localization for all `HTML` files
63
-
x added: `controller.breadcrumb` returns all sitemap items
64
-
x added: `PAUSESERVER(name, pause)` pauses web server (alias for `F.wait()`)
65
-
x added: `PROXY(endpoint, hostname, [copypath], [before_fn(uri,req,res)], [after_fn(res)])` makes a direct proxy from webserver
66
-
x added: `schema.middleware(function($, next))` for creating simple middlewares for Schema operations
67
-
x added: `FILE404(fn(req, res))` performs a simple fallback for non-existing files
68
-
x added: `$PATCH(schema, model, [options], callback, [controller])` method
69
-
x added: `.env` parser to `process.env`
70
-
x added: `String.parseENV()` for parsing `.env` syntax
71
-
x added: `$.noop()` for custom responses
72
-
x added: `$ACTION(schemaroute, [model], callback, [controller])` evaluates schema
73
-
x added: `process.send('total:restart')` performs a restart of app when the app is in debug mode
74
-
x added: `NOSQLREADER(filename)` for reading different files of NoSQL embedded databases
75
-
x added: `TABLEREADER(filename)` for reading different files of Table embedded databases
76
-
x added: `Mail.use()` an alias for `F.useSMTP()`
77
-
x added: `F.onAudit(name, data)` delegate for handling audit logs
78
-
x added: Components support a new features called `Parts`, more in docs
79
-
80
-
x updated: `$.invalid()` without arguments can return a function `function(err)`
81
-
x updated: Mail `unsubscribe` appends new header which enables `unsubscribe` in e.g. iOS
82
-
x updated: `MODIFY`, handler contains a new argument `controller`
83
-
x updated: `headers` argument in `controller.proxy` supports `flags: []` for REQEUST method
84
-
x updated: `.filefs()` and `.filenosql()` supports `download` with `true` or with `(name, type) => 'new_name'` (`filename` will be read from NoSQL binary file)
85
-
x updated: `$.done(arg)` argument `@arg` can be `boolean` (response will be as a value) or object/primitive value (`arg` will be as a value)
86
-
x updated: `String.arg(obj, [encode], [def])` added `encode` (`true`, `json`, `html`) and `def` arguments
87
-
x updated: `AUTH(req, res, flags, next)` and `next` function can handle `callback(err, user)`
88
-
x updated: `REQUEST()` supports `keepalive` flag
89
-
x updated: `bundles` mechanism supports merging files `--filename` between `bundles` files
90
-
x updated: `String.hash(true)` returns unsigned int
91
-
x updated: `CONF:default_image_converter` supports `magick` for new version of ImageMagick
92
-
x updated: `CONF.default_image_consumption` can contain ZERO value which means disabled optimialization of CPU/memory consumption
93
-
x updated: `CONF.default_image_consumption` has changed a default value to `0`
94
-
x updated: `U.parseXML(str, [replace])` and `String.parseXML([replace])` contains a new argument called `replace`
95
-
x updated: `LOAD()` added a callback function
96
-
x updated: components support `encoding="utf8"` attribute for `<file` tag (default: `base64`)
97
-
x updated: `EventEmitter2` supports a new argument `obj`, example: `U.EventEmitter2(obj)` or supports `.extend` method: `U.EventEmitter2.extend(proto)`
98
-
x updated: `UID()` generates new types of `UID` with 100% backward compatibility
19
+
- added: `ENCRYPTREQ(req, val, [key], [strict])` to encrypt value according to the request meta data
20
+
- added: `DECRYPTREQ(req, val, [key])` to decrypt value according to the request meta data
21
+
- added: `controller.nocache()`
22
+
- added: `controller.nocontent()`
23
+
- added: `REPO` as a global variable
24
+
- added: `FUNC` as a global variable
25
+
- added: `MAIN` as a global variable
26
+
- added: `DEF` as a global variable for defining of behaviour for some operations (alternative to `F`)
27
+
- added: `PREF.set(name, [value])` (read+write) or `PREF.propname` (only read) for reading/writing a persistent preferences
28
+
- added: `F.onPrefSave = function(obj)` to write preferences
29
+
- added: `F.onPrefLoad = function(next(obj))` to read preferences
30
+
- added: `RESTBuilder.url(url)` which returns a new instance of `RESTBuilder` for chaining
31
+
- added: `restbuilder.keepalive()` enables a keepalive for `RESTBuilder` instance
32
+
- added: `SESSION()` management, more in docs
33
+
- added: `controller.sessionid` with ID of `SESSION()`
34
+
- added: `AUTH()` supports a new auth declaration with `$` as `AuthOptions` like `SchemaOptions` or `OperationOptions`
35
+
- added: `AuthOptions` to prototypes
36
+
- added: `ErrorBuilder.length` property (alias for `instance.items.length)
- added: `process.send('total:restart')` performs a restart of app when the app is in debug mode
74
+
- added: `NOSQLREADER(filename)` for reading different files of NoSQL embedded databases
75
+
- added: `TABLEREADER(filename)` for reading different files of Table embedded databases
76
+
- added: `Mail.use()` an alias for `F.useSMTP()`
77
+
- added: `F.onAudit(name, data)` delegate for handling audit logs
78
+
- added: Components support a new features called `Parts`, more in docs
79
+
80
+
- updated: `$.invalid()` without arguments can return a function `function(err)`
81
+
- updated: Mail `unsubscribe` appends new header which enables `unsubscribe` in e.g. iOS
82
+
- updated: `MODIFY`, handler contains a new argument `controller`
83
+
- updated: `headers` argument in `controller.proxy` supports `flags: []` for REQEUST method
84
+
- updated: `.filefs()` and `.filenosql()` supports `download` with `true` or with `(name, type) => 'new_name'` (`filename` will be read from NoSQL binary file)
85
+
- updated: `$.done(arg)` argument `@arg` can be `boolean` (response will be as a value) or object/primitive value (`arg` will be as a value)
- updated: `String.hash(true)` returns unsigned int
91
+
- updated: `CONF:default_image_converter` supports `magick` for new version of ImageMagick
92
+
- updated: `CONF.default_image_consumption` can contain ZERO value which means disabled optimialization of CPU/memory consumption
93
+
- updated: `CONF.default_image_consumption` has changed a default value to `0`
94
+
- updated: `U.parseXML(str, [replace])` and `String.parseXML([replace])` contains a new argument called `replace`
95
+
- updated: `LOAD()` added a callback function
96
+
- updated: components support `encoding="utf8"` attribute for `<file` tag (default: `base64`)
97
+
- updated: `EventEmitter2` supports a new argument `obj`, example: `U.EventEmitter2(obj)` or supports `.extend` method: `U.EventEmitter2.extend(proto)`
98
+
- updated: `UID()` generates new types of `UID` with 100% backward compatibility
99
99
- updated: `FILESTORAGE()` now it works in cluster mode
100
100
101
101
- fixed: schemas validation
@@ -118,27 +118,27 @@ x updated: `UID()` generates new types of `UID` with 100% backward compatibility
118
118
- fixed: uploading files
119
119
- fixed: `U.getExtension()` by @molda
120
120
121
-
x renamed: `*.routeScript` to `*.public_js`
122
-
x renamed: `*.routeStyle` to `*.public_css`
123
-
x renamed: `*.routeFont` to `*.public_font`
124
-
x renamed: `*.routeVideo` to `*.public_video`
125
-
x renamed: `*.routeImage` to `*.public_image`
126
-
x renamed: `*.routeDownload` to `*.public_download`
127
-
x renamed: `*.routeStatic` to `*.public`
128
-
x renamed: `controller.viewCompile()` to `controller.view_compile()`
129
-
x renamed: event `cache-set` to `cache_set`:
130
-
x renamed: event `controller-render-meta` to `controller_render_meta`
131
-
x renamed: event `request-end` to `request_end`
132
-
x renamed: event `websocket-begin` to `websocket_begin`
133
-
x renamed: event `websocket-end` to `websocket_end`
134
-
x renamed: event `request-begin` to `request_begin`
135
-
x renamed: event `upload-begin` to `upload_begin`
136
-
x renamed: event `upload-end` to `upload_end`
137
-
x renamed: event `cache-expire` to `cache_expired`
138
-
139
-
x __removed: backward compatibility__ with older version of Node.js < 10
140
-
x removed: `F.hash()`, alternative `String.prototype.hash()`
141
-
x removed: `controller.hash()`, alternative `String.prototype.hash()`
121
+
- renamed: `*.routeScript` to `*.public_js`
122
+
- renamed: `*.routeStyle` to `*.public_css`
123
+
- renamed: `*.routeFont` to `*.public_font`
124
+
- renamed: `*.routeVideo` to `*.public_video`
125
+
- renamed: `*.routeImage` to `*.public_image`
126
+
- renamed: `*.routeDownload` to `*.public_download`
127
+
- renamed: `*.routeStatic` to `*.public`
128
+
- renamed: `controller.viewCompile()` to `controller.view_compile()`
129
+
- renamed: event `cache-set` to `cache_set`:
130
+
- renamed: event `controller-render-meta` to `controller_render_meta`
131
+
- renamed: event `request-end` to `request_end`
132
+
- renamed: event `websocket-begin` to `websocket_begin`
133
+
- renamed: event `websocket-end` to `websocket_end`
134
+
- renamed: event `request-begin` to `request_begin`
135
+
- renamed: event `upload-begin` to `upload_begin`
136
+
- renamed: event `upload-end` to `upload_end`
137
+
- renamed: event `cache-expire` to `cache_expired`
138
+
139
+
- __removed: backward compatibility__ with older version of Node.js < 10
140
+
- removed: `F.hash()`, alternative `String.prototype.hash()`
141
+
- removed: `controller.hash()`, alternative `String.prototype.hash()`
142
142
143
143
- improved Schemas and error handling
144
144
- improved `res.filefs()` method for nonexistent files
0 commit comments