forked from totaljs/documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
news.txt
87 lines (81 loc) · 5.23 KB
/
news.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
BETA ======= 1.9.0
OK - added: (IMPORTANT) ISOMORPHIC using
OK - added: (IMPORTANT) new flag `mobile` (mobile routing), you can create a route to mobile device
OK - added: readonly `req.mobile` -> returns `boolean`
OK - added: new view tag: @{mobile} –> returns `boolean`
OK - added: new view tag: @{isomorphic} –> returns `Object` with isomorphic objects
OK - added: `config['disable-clear-temporary-directory'] = false` (after start)
OK - added: `config['allow-compatibility'] = true` - a backward compatibility mode
OK - added: `config['default-timezone']`
OK - added: `config['directory-isomorphic']`
OK - added: `config['directory-private']`
OK - added: `F.path.private([filename])`
OK - added: `F.path.isomorphic([filename])`
OK - added: `Controller.ping()` for WebSocket
OK - added: `global.DB()` --> same as `global.DATABASE()`
OK - added: `global.isomorphic` --> returns `framework.isomorphic` --> returns isomorphic objects
OK - added: `global.is_client` and `global.is_server` for isomorphic
OK - added: RegExp routing `F.route('/{/^\\d+$/}', ...)`
OK - added: `F.responseBinary(req, res, contentType, buffer, [type], [download], [headers])`
OK - added: `SchemaBuilderEntity.filter(custom, [model], [reverse])`
OK - added: `SchemaBuilderEntity.trim = true`(enable/disable trim strings (default: true))
OK - added: `Number.prototype.add(value, [decimals])` -> supports percentage
OK - added: `Date.prototype.toUTC([ticksOnly])`
OK - added: `Date.prototype.extend()` -> extend current datetime about new date or time (more in documentation)
OK - added: `F.stats.request.mobile`, `F.stats.request.desktop`
OK - added: binary - `total --translatecsv`
OK - added: controller.jsonp(method_name, obj, [headers], [beautify], [replacer]);
OK - added: CSS variables likes sass, example: `$color: red;`
OK - added: modificators for dynamic modification before compilation: views, styles and scripts
OK - added: TransformBuilder
OK - added: F.load(debug, load_types, [path]);
OK - added: F.isWorker (is true when is called F.load())
OK - added: F.isCluster (is true when the framework is running in the cluster)
OK - added: Array.unique() by Andrea Sessa
OK - added: Array.pair(array, property, fn(itemA, itemB), [remove]) - pair arrays
OK - added: String.base64ToBuffer();
- added: terminal -> `tpm unpack [package_name] [optional: target_directory]`
OK - added: versions is applied to raw HTML
OK - added: versions supports auto-mapping
OK - added: sync2(), e.g. sync2(fn), diff with v1: sync(fn)() and v2: sync2(fn)
OK - added: "dependencies" file for installing dependencies (modules, packages, etc.)
OK - added: @{nocompress html}, @{nocompress script}, @{nocompress style}, @{nocompress all}
OK - added: req.authorize(callback(err, userprofile, isAuthorized))
OK - updated: (IMPORTANT) routing: `json` flag is not required for receiving incomming data as JSON
OK - updated: `F.mail(address, subject, view, [model], [callback], [language])` added language
OK - updated: `F.view(name, model, [layout], [repository], [language])` added language
OK - updated: `F.route(url, ...)`, `F.websocket(url, ...)` --> URL can be function(url, req, [flags])
OK - updated: `versions` affects F.map() and F.merge()
OK - updated: `controller.mail(address, subject, view, [model], [callback], [language])` added language
OK - updated: `config['allow-performance']` is set to true
OK - updated: (IMPORTANT) `F.map(url, filename/directory, [filter])` supports mapping directories
OK - updated: (IMPORTANT) arguments order `SchemaBuilderEntity.setValidate(function(name, value, path, model, schema){})`
OK - updated: (IMPORTANT) `U.extend(target, source, [rewrite]);` --> rewrite is by default: __true__
OK - updated: `SchemaBuilderEntity.setPrepare(function(name, value, index, model){})` --> __model__ is new
OK - updated: `SchemaBuilderEntity.define(name, value, required, [custom])` --> __custom__ is new
OK - updated: HTML compressor
OK - updated: favicon `(removed rel="icon")`
- updated: binary `tpm create [package] [directory]` (added argument [package], [directory])
OK - updated: better handling middleware errors and added prevention of "memory leak"
OK - updated: (IMPORTANT): Websocket ping is set to 3 minutes
- updated: framework responds for bad requests with HTTP 403
OK - updated: Mail (added support for Office365)
OK - updated: Date.prototype.add() supports e.g. Date.prototype.add('25 days')
OK - updated: String.prototype.params() -> supports double "{{"
OK - updated: F.schedule(date, [repeat], fn) --> added [repeat]
- removed: XSS check
- fixed: `controller.binary(buffer, contentType, [download], [headers])`
- fixed: routing `DELETE`
- fixed: `binary` (creating empty-project, bad record with smtp options)
- fixed: calling generator action
- fixed: `binary --translate` (filenames)
- fixed: SchemaBuilderEntity prepare (problem with nullable Boolean)
- fixed: (IMPORTANT) 431 system route
- fixed: F.log(), F.logger() –> problem with objects, reported by Nikita Shmidt
- fixed: Number formatting (problem with negative numbers)
- improved: code optimalization
- improved: Date.prototype.format()
- improved: String.prototype.format()
- improved: Number.prototype.pluralize()
__IMPORTANT:__
`exports.install = function(framework) {}` framework variable is removed but with backward compatibility (`config['allow-compatibility']`).